外部js文件中的谷歌分析

时间:2012-08-27 19:31:12

标签: javascript google-analytics

我知道Google明确建议在内部调用内联分析。但是,在外部文件中调用它有任何潜在的缺陷吗?

我已经为Chrome安装了Google Analytics Debugger,一切正常。我在页面头部的外部js文件中调用它。

1 个答案:

答案 0 :(得分:2)

这不是完全 Google建议的内容。

基本上,您可以尽早实例化GA - 这就是说:

var _gaq = _gaq || [];

其余部分,您可以在页面底部加载。

您甚至可以将_gaq =...;放在页面顶部的外部文件中,然后将其余部分放在底部。

目标是:

谷歌一开始就让_gaq成为一个阵列。然后使用数组的.push(...);方法向数组添加跟踪(实际上,您只是添加了字符串数组)。

当您添加代码的第二部分时,在页面底部,它将_gaq数组内的数据保存到保持数组中。然后它将_gaq变成一个真实的程序,从现在开始.push(...);在页面上,实际上发送数据等等。

在初始加载完整文件时,_gaq将运行推送指令数组并将其转换为服务器调用。

他们建议尽可能在页面上启动_gaq,以便您可以将基于用户的跟踪添加到页面,按钮或其他任何内容......以便最终在程序中 加载到页面底部,GA会跟踪您通过_gaq.push(["_method", "data"]);添加的所有操作,当它正在运行时,所以你不要错过任何活动。

现在,您不希望将代码的_gaq =...部分, AND 代码的脚本下载部分放在顶部的页面。下载脚本需要一段时间。 GA正在以正确的方式进行,并且异步加载它,这是完美的......但是您仍然可以通过将后半部分移动到页面底部(或将其放在外部脚本中)来清理它...

所以答案最终是,是的,感觉100%自由地将GA代码移动到外部脚本中,这不会改变它运行的方式。

但您仍应考虑将_gaq=...的外部脚本放在顶部(这样,如果您要跟踪自定义事件的用户行为,您可以在页面准备好后立即执行此操作 - 但是那么为什么把它放在一个外部脚本中,当它需要时间来加载和执行时,相对于实际的分配,这将花费几微秒,即使在慢速浏览器上?)。

然后将脚本调用向下移动页面(或将其移动到外部文件中,该文件在页面底部引用)。