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