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 速率限制是通过丢弃数据来实现的。
关于google-analytics - 如何检查_gaq是否已被清空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16183084/