在旧版本的 Google Analytics 中,您只需添加 var _gaq = _gaq || [];
在你的 javascript 文件的顶部,这可以让你在 GA 完全加载之前推送事件和交易。
有了 Universal Analytics,您不再使用 .push()
,那么在 Google Analytics 可能未加载的外部文件中创建 ga
对象的正确方法是什么还需要推送事件和交易吗?
最佳答案
Google Analytics 片段中的立即调用函数表达式处理该对象的创建。在代码段中,您会看到以下内容:
i[r] = i[r] || function() {
(i[r].q = i[r].q || []).push(arguments)
}
我们从传递给 IIFE 的参数中知道 i = window 和 r = "ga":
(function(i, s, o, g, r, a, m) {
//...
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
在未丑化的 JavaScript 中,代码段如下所示:
window['ga'] = window['ga'] || function() {
( window['ga'].q = window['ga'].q || []).push(arguments)
}
因此,通过调用全局函数 ga
,您实际上是在创建一个用作队列的数组(如果它尚不存在)并将值推送到队列。
在 Universal Analytics 中,调用此函数:
ga('create', 'UA-XXXX-Y', 'auto');
和之前版本的GA一样:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXX-Y']);
更多信息可以在 Google dev docs 中找到.
关于javascript - 在外部 JS 文件中访问 Google Analytics Universal Analytics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20914703/