2

我有一个提供搜索体验的简单页面。它允许用户通过查询表单进行搜索,过滤结果,并根据第一次搜索的结果执行更深入的搜索。

我想获得一些关于用户体验以及他们如何使用页面的指标。大多数用户操作都转换为新的查询字符串。例如:

  • 有多少用户执行搜索然后跟进另一个搜索/过滤器
  • 在搜索查询中使用了多少次通配符
  • 用户在新搜索之前浏览了多少结果

由于版权问题,我也受限于使用谷歌分析和排序(也许我可以提出一个案例,如果它真的是开放网络分析或其他的方式)。服务器端我正在考虑使用 cookie 来跟踪用户并使用 log4net 来记录他们所做的事情,然后将信息转储到数据库中并从那里进行分析。或者登录到事件查看器并使用日志查看器从那里获取信息。

您认为总体上更好的方法是什么?

4

2 回答 2

2

我建议您为此使用现有的、现成的解决方案,而不是构建自己的解决方案 - 这是一种规模迅速增长的项目。您从问题中的 3 个指标变为“哦,您能否按用户浏览的国家/地区对其进行细分?”,“哪些语言会影响问题?”,“如果他们点击结果,他们最终会购买任何东西吗?香蕉?”。然后,在不知不觉中,您已经构建了自己的网络分析工具......

因此,您可以使用像 Google Analytics 这样的“网络分析即服务”产品,或者使用更老式的日志解析解决方案。您想回答的大部分问题都可以从 IIS Web 日志中的数据中得出;有许多应用程序可以解析这些数据,包括开源和免费解决方案。

我已经很久没有使用基于日志文件的分析工具了,但是我的 ISP 提供了AWStats,这看起来很不错 - 做你想做的事,你必须在你的搜索页面周围设置特定的测量值;不确定 AWSStats 是否会这样做(Google Analytics 肯定会这样做);检查Wikipedia列表以获取执行此操作的日志文件分析工具。

于 2012-04-13T14:51:29.297 回答
1

显然,您需要记录搜索页面的每次提交。特别是您需要记录:

  • 日期时间.Now
  • 搜索字符串
  • 会话ID

您还可以在 Session 中存储一个计数器,每次用户加载页面时都会增加一个计数器,而不是搜索页面。如果用户执行搜索,您可以从会话中读取该值,将其存储在数据库中并重置计数器。

请注意,由于 cookie 支持、多选项卡、页面重新加载等原因,“用户在新搜索之前浏览了多少结果”这一指标只能作为估计值,而不是真正的指标。

于 2012-04-13T13:18:46.387 回答