1

我有两个不同的 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] ,它确实会发送页面查看请求。但是,如果我要在不同的顶级域下托管跟踪代码,我需要它,对吗?

有任何想法吗?

谢谢!

4

1 回答 1

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']
            );
于 2013-06-24T14:11:55.057 回答