Web度量应用程序计算访问者现场时间的最佳方式是什么?

时间:2011-07-12 10:02:29

标签: google-analytics web-analytics data-analysis

我正在开发像Google Analytics这样的内部网络分析系统,我对page stay time的概念不是很清楚,这是典型的解释 来自网络的这项措施是:

  1. 用户在时间戳访问页面A:t1
  2. 用户在时间戳访问页面B:t2,(t2> t1)
  3. 然后A的页面停留时间是t2-t1,B是0

    我的问题是:在这种情况下,在为B计算page stay time时,是否需要检查用户是否从页面A点击了页面B?即B的引用是A?

1 个答案:

答案 0 :(得分:6)

有两种方法可以衡量 页面上的时间 ,以及其聚合的对应 网站停留时间 ,区分通过用于记录时间 - 事件对的标记:

  • 时间戳

  • 基于ping的

Google Analytics,对于实例,使用前者,特别是GA记录发生的每个网页浏览事件交易的时间戳在用户的会话中。

正如您在问题中指出的那样,Google Analytics会计算该用户整个会话历史记录的时间戳增量,从而计算网站停留时间。用户会话中的最后一页没有时间戳,因此不计算最终时间差值。

这会将错误引入“网站停留时间”指标,但我仍然认为这是最佳可用的测量技术选择。该技术易于解释,因此易于准确理解发生的位置以及影响报告指标的方向。换句话说,您知道网站上的时间总是总是

其次,可以估计此错误(即估计真实的现场时间),因为您在用户访问中的每个其他页面都有可靠的页面停留时间。更好的是,从您的网站访问者群体中,您可以获得用户在会话中最后访问的特定页面的平均页面停留时间数据。

另一组用于测量页面上的时间的技术是基于ping的。这里,页面中的javascript以预定的时间间隔重复调用页面ping服务器的功能。只要该页面在客户端浏览器上打开,页面上的javascript片段就会调用此ping操作。

这些技术的关键优势可能是它们解决了不计算用户在他们结束会话的页面上花费的时间的问题。我认为基于ping技术的主要缺点是实现成本较高。这种技术的准确性当然取决于 ping频率 - 平均测量精度大约是ping频率的一半。如果您的ping频率为10秒,则可以将页面上的时间平均解决为5秒。但是任何服务器活动都具有相关的资源成本,因此需要小心地优化该参数,即ping频率。这就是我所说的“更高的实施成本”。

最近由Brian Cray撰写的blog post讨论了这样的解决方案,并为此提供了一个javascript代码段。此外,Episodes是一个javascript库,用于准确测量javascript(而不是DOM)事件。这可能对您的分析项目有用。

那么这两种技术中的哪一种更好?我怀疑这两者的巧妙组合会给你最高的分辨率和最低的页面重量和服务器负载。我所知道的唯一一个实现这种混合系统的分析应用程序是W3Counter。 [注意:我与此项目没有任何关联或协议。]

我没有使用W3Counter,但仅基于此功能,我相信值得考虑。 (但是,我不喜欢名字,“W3Counter”,这使我认为它是一个验证检查器。)