我知道有很多事情可以解决,但是我不能让我的工作正常。我只担心跨域而不是子域。
我有2个网站,例如www.siteA.com和www.siteB.org。
SiteA在我的SiteB上有一个指向我的注册页面的链接。
在SiteA上,我有以下脚本(在我的布局页/母版上):
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '##AnalyticsIDA##']);
_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>
在SiteB上,我有以下脚本(在我的布局页/母版上):
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '##AnalyticsIDA##']);
_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>
我在SiteA上有一个链接
<a href="www.siteB.org" onclick="_gaq.push(['_link', 'www.siteB.org']); return false;">testing</a>
这将带我使用所有正确的参数(与我的SiteA cookie值相同)进入www.siteB.org,但是SiteB的cookie与SiteA具有不同的值。
编辑
此外,我也尝试使用
_gaq.push(['_setDomainName', 'siteA.com']);
和_gaq.push(['_setDomainName', 'siteB.com']);
,但是我仍然在siteB上获得新的cookie。 最佳答案
您是否尝试过在GA代码中使用_setDomainName
?从Cross Domain docs:
(_setDomainName)当您要将顶级域和子域视为一个实体并在同一配置文件中进行跟踪时,请使用此选项。当您要跨多个顶级域及其子域进行跟踪时,也可以使用此功能。在这种情况下,您将需要在顶级域之间使用链接,而不是在顶级域及其子域之间使用链接。
就您而言,在SiteA上
_gaq.push(['_setAccount', '##AnalyticsIDA##']);
_gaq.push(['_setDomainName', 'siteA.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
并在SiteB上
_gaq.push(['_setAccount', '##AnalyticsIDA##']);
_gaq.push(['_setDomainName', 'siteB.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);