如何检查_gaq是否已清空?

时间:2013-04-24 03:54:44

标签: google-analytics

GA对ga.js施加了每秒一次命中的速率限制。如果我理解正确,那意味着我们可以_gaq.push非常快地完成我们想要的任务,但是队列将继续增长并且只能慢慢清空,每秒一个事件。

假设我有一个让浏览器导航的按钮。如果我是偏执狂类型,我如何确保_gaq在导航之前已被清空(否则某些事件无法被发送到GA)?

1 个答案:

答案 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速率限制可以通过抛弃数据来实现。