GA 对ga.js
. 如果我理解正确,这意味着我们可以_gaq.push
非常快地随心所欲,但队列将继续增长,并且只会慢慢清空,每秒一个事件。
假设我有一个按钮可以让浏览器离开。如果我是偏执狂类型,我如何确保_gaq
在离开之前已清空(否则某些事件没有机会发送到 GA)?
GA 对ga.js
. 如果我理解正确,这意味着我们可以_gaq.push
非常快地随心所欲,但队列将继续增长,并且只会慢慢清空,每秒一个事件。
假设我有一个按钮可以让浏览器离开。如果我是偏执狂类型,我如何确保_gaq
在离开之前已清空(否则某些事件没有机会发送到 GA)?
一种可能性 - 使用 ga.js,您可以将函数对象推送到 _gaq 上,该对象可用于页面导航。(更新:这不适用于检测速率限制)
但是... GA 速率限制适用于“命中”,即向 GA 发送数据的命令。目前尚不清楚达到限制时如何进行限制——如果是通过限制 _gaq 命令执行,那么使用函数对象应该可以工作。
另一种可能性是切换到更新的 Universal Analytics,它允许在处理命中后运行 hitCallback 函数。此外,速率限制为每秒 20 + 2 次点击。
更新:我刚刚使用开发者工具控制台和网络面板在 Chrome 中运行了以下测试:
for (i = 0; i < 20; i++) {
_gaq.push(['_trackEvent', 'test', 'test', 'test', i]);
_gaq.push(function() {console.log(i + ': ' + new Date());});
}
控制台日志显示 1 秒内的所有 20 个时间戳。 网络日志仅显示前 10 个跟踪图像请求。
我对测试的解释是“命中”命令的 GA 速率限制通过丢弃数据来工作。