相关网站上的跟踪代码“site2”如下所示:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
_gaq.push(['_setDomainName', 'site1.com']);
_gaq.push(['_setAllowLinker', true]);
_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);
})();
</script>
</body>
</html>
以下是该网站上调试器的屏幕截图:
前一个域上的_setDomainName方法,“site1”在它之前有一个句点:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
_gaq.push(['_setDomainName', '.site1.com']);
_gaq.push(['_setAllowLinker', true]);
_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);
})();
</script>
虽然这可能会或可能不会阻止cookie传递到第二个域,但跟踪代码仍应至少触发,不是吗? 请注意,我们拥有两个域非常重要。我找不到任何会导致代码无法触发的原因,除非页面上的其他地方出现错误。我正在使用GA Debug来查看是否正在发送信标。它是在site1上发送的,但不是在site2上发送的。
感谢您的帮助!
答案 0 :(得分:2)
_setDomainName
告诉Google Analytics Cookie存储位置。浏览器不允许在site1.com
site2.com
上设置Cookie。在您的主网站上保留.site1.com
,然后在第二个网站上将其更新为.site2.com
。
如果您想访问域之间的数据,则必须执行以下操作之一:
答案 1 :(得分:0)
我认为您不需要域名之前的时段。根据谷歌分析指南,您应该使用以下格式。
<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-12345-1']);
_gaq.push(['_setDomainName', 'example-petstore.com']);
_gaq.push(['_trackPageview']);
</script>
https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingSite#domainSubDomains