Time 使用onbeforeunload事件和Google Analytics记录页面退出,从而更准确地记录页面/站点上的用户时间

Time 使用onbeforeunload事件和Google Analytics记录页面退出,从而更准确地记录页面/站点上的用户时间,time,google-analytics,onbeforeunload,Time,Google Analytics,Onbeforeunload,我一直在尝试研究阿维纳什·考希克(Avinash Kaushik)在其著作《网络分析2.0》中提出的黑客攻击。他提出了一个问题,即大多数网络分析工具无法记录用户在网站上访问的最后一个页面或访问的唯一页面上花费的时间。换句话说,如果用户来到第1页,将创建一个时间戳,显示他们到达页面的时间,当他们访问第2页时,将创建第二个时间戳。在第1页上花费的时间可以通过时间戳2-时间戳1来计算。但是,如果用户关闭浏览器窗口或离开网站,则无法在第2页记录时间。这里是Kaushik.net上这个问题的链接 一个建

我一直在尝试研究阿维纳什·考希克(Avinash Kaushik)在其著作《网络分析2.0》中提出的黑客攻击。他提出了一个问题,即大多数网络分析工具无法记录用户在网站上访问的最后一个页面或访问的唯一页面上花费的时间。换句话说,如果用户来到第1页,将创建一个时间戳,显示他们到达页面的时间,当他们访问第2页时,将创建第二个时间戳。在第1页上花费的时间可以通过时间戳2-时间戳1来计算。但是,如果用户关闭浏览器窗口或离开网站,则无法在第2页记录时间。这里是Kaushik.net上这个问题的链接

一个建议的黑客是使用window.onbeforeunload事件调用一个方法,并将页面卸载的时间推送到google analytics。所以我尝试了以下代码-

window.onbeforeunload = capturePageExit;
function capturePageExit()
  {
    _gaq.push(['_trackPageview', '/page-exit?page=' + document.location.pathname + document.location.search + '&from=' + document.referrer]);
    return("You are about to close this page");
  }
使用firebug,我可以看到请求了正确的_utm.gif图像,并将正确的参数发送到google analytics。但很明显,现在有一个问题,这将在每个页面卸载时调用,因此每个访问者都将从page1->pageexit->page2->pageexit->page3->pageexit。。。但我应该在现场阅读时得到更准确的时间,对吗

但是,这是以牺牲准确的导航摘要数据为代价的,因此不是一个好的解决方案。如果我能告诉你-如果用户单击了关闭浏览器/选项卡按钮或正在从我的站点导航,那么最好记录页面退出

我找不到很多关于如何解决这个问题的信息,很多关于在解释谷歌分析(可能还有大多数网络分析工具)时意识到这种不准确的讨论,另一个有用的链接是

我只是想在stackoverflow上提出这个问题,因为我找不到类似的问题并开始讨论这个问题,但我的解释是,没有真正的方法解决这个问题,但最好是意识到它

有什么想法吗

------------------------------------------------------更新-----------------------------------------------------

这是一个名为Savio的博客向我推荐的另一个链接。不,这是一个好方法吗


网络分析不是一门精确的科学。数据总是近似的,并且大部分时间都是采样的

网络分析工具力求精确,而不是精确。描述了为什么在使用Web分析时,精确性更重要,而精确性不那么重要

一旦您了解了精度和准确度之间的差异以及其重要性,您就会明白,获得准确的现场时间指标并不重要,而是一个能够清楚地表达该指标趋势或变化的准确指标

换句话说,忘掉绝对数字,学会用趋势和变化来报告

另一个建议是,如果你永远也不会使用GA,不要费心调整GA来完美地渲染每一个度量。为你可以使用的指标而烦恼。我指的是可操作的分析


然而,也有一些情况下,一些代码调整可以帮助您在站点上测量时间。一个明显的例子是博客。您可能希望在博客中实现类似的功能,因为您的大多数访问都是查看您的主页,阅读您的帖子,然后离开,所有这些都是在同一个页面视图中完成的,因此在用户离开以获得正确的现场时间时触发事件可能是一个好主意,或者,当用户滚动超过某个阈值时,可能会触发一个事件,最终您将测量相同的ting,如果用户滚动的次数越多,他阅读的次数就越多,如果用户花费的时间越多,他阅读的次数就越多。因此,跟踪这两个指标来衡量相同的效果可能没有意义。只要选择一个并坚持使用它,让它运行一段时间来创建历史数据,然后利用它。

这些链接现在已经过时了。你知道你可以在卸载之前触发事件而不是页面浏览,这样你就不会弄乱你的页面报告了,对吗?但这仍然会影响你的跳出率。这是一个公平的观点,我知道它们现在是旧链接,在网络分析中情况变化非常快。你说得对,事件跟踪对其他指标的“腐蚀性”较小。该标志避免了混乱的反弹率。