我有两个不同的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],它确实会发送页面查看请求。但是如果我要在不同的顶级域名下托管跟踪代码,我需要这样做,对吗?
有什么想法吗?
谢谢!
答案 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']
);