我在我的 javascript 中使用了所有页面都可以访问的自定义变量,下面是我的 GA 跟踪代码,紧接在唯一页面 index.html 中的结束 head 标记之前。
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33766550-1']);
var currentCountry = 'N/A';
if (localStorage.getItem('country')) {
currentCountry = localStorage.getItem('country');
}
_gaq.push(['_setCustomVar', 1, 'Country', currentCountry]);
_gaq.push(['_trackPageview']);
(function () {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
GA 跟踪对我来说工作正常。到目前为止,我只能跟踪一个自定义变量,该变量已在 head 部分的主要跟踪代码中定义,称为 country(如上所示)。
我在 javascript 文件中使用的其余自定义变量(这个 js 始终可以在 index.html 中访问)似乎根本没有被调用。该 js 文件包含不同自定义变量的不同 _gaq.push 命令,如下所示。
_gaq.push(['_setCustomVar', 5, 'Page', 'app/index.html#portfolioDetailPage']);
问题:与我在主跟踪代码中传递的“国家”自定义变量不同,为什么我无法在 GA 中跟踪这些自定义变量?我是否需要在每个 _gaq.push 之后传递 _gaq.push(['_trackPageview']) 以进行自定义变量声明?
任何人都可以请建议,我一团糟:(
谢谢