Google Analytics会在不同的域上同时向多个配置文件报告

时间:2013-06-23 17:16:42

标签: javascript google-analytics analytics google-analytics-api

我有两个不同的GA个人资料,我想一直报告。此跟踪代码的HTML也将从不同的顶级域运行。

阅读以下链接: https://developers.google.com/analytics/devguides/collection/gajs/#MultipleCommands https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingSite#multipleDomains

我创建了这个示例代码:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript">
        var parts = location.hostname.split('.');
        var subdomain = parts.shift();
        var topleveldomain = parts.join('.');

        var _gaq = _gaq || [];
        _gaq.push(
                ['_setAccount', 'UA-12345-5'],
                ['_setDomainName', topleveldomain],
                ['_setAllowLinker', true]
                ['_trackPageview'],
                ['b._setAccount', 'UA-12345-2'],
                ['b._setDomainName', topleveldomain],
                ['b._setAllowLinker', true]
                ['b._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);
        })();

    </script>
</head>
<body>
    <a href="#" onClick="_gaq.push(['_trackPageview', '/testing-ga/']);">Play</a>
</body>

我使用JavaScript来确定托管跟踪代码的网站的顶级域名,因此它将_setDomainName命令设置为当前域的值。

我还添加了一个带onclick事件的链接,以便将_trackPageview发送给GA进行测试。

我遇到的问题是,当页面加载时,它不会将请求发送给GA(应该将页面查看请求发送到不同的配置文件)。这种情况没有发生。

当我执行onclick事件时,它只是将请求发送到一个配置文件(数组中的第一个),正常的页面视图没有启动。

但是,如果我从数组的两个项中删除:['_ setAllowLinker',true],它确实会发送页面查看请求。但是如果我要在不同的顶级域名下托管跟踪代码,我需要这样做,对吗?

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您在_gaq.push()参数中遗漏了几个逗号:

        _gaq.push(
            ['_setAccount', 'UA-12345-5'],
            ['_setDomainName', topleveldomain],
            ['_setAllowLinker', true],           <===
            ['_trackPageview'],
            ['b._setAccount', 'UA-12345-2'],
            ['b._setDomainName', topleveldomain],
            ['b._setAllowLinker', true],         <===
            ['b._trackPageview']
            );