GA对ga.js
施加了每秒一次命中的速率限制。如果我理解正确,那意味着我们可以_gaq.push
非常快地完成我们想要的任务,但是队列将继续增长并且只能慢慢清空,每秒一个事件。
假设我有一个让浏览器导航的按钮。如果我是偏执狂类型,我如何确保_gaq
在导航之前已被清空(否则某些事件无法被发送到GA)?
答案 0 :(得分:3)
一种可能性 - 使用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个跟踪图像请求。
我对测试的解释是,'hit'命令的GA速率限制可以通过抛弃数据来实现。