0

我在我的 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']) 以进行自定义变量声明?

任何人都可以请建议,我一团糟:(

谢谢

4

2 回答 2

0

您缺少范围参数。仔细检查签名_setCustomVar

https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiBasicConfiguration#_gat.GA_Tracker_._setCustomVar

于 2012-08-10T01:40:36.997 回答
0

谢谢爱德华多。我可能打错了我实际上使用了正确的代码。我使用自定义变量进行跟踪,而在我的场景中,事件跟踪更有意义。

if(_gaq) _gaq.push(['_trackEvent', 'Page', 'Home_Page_Landing', 'app/index.html']);

谢谢

于 2012-08-11T14:28:27.417 回答