【问题标题】:How can I tell that my Google Analytics cross domain code is working如何判断我的 Google Analytics(分析)跨域代码是否正常工作
【发布时间】:2012-03-04 14:58:20
【问题描述】:

我正在为客户实施 Google Analytics,该客户的部分网站位于另一个 SSL 加密网站的子域中。例如,假设他们的 URL 是 http://www.first-site.com,并且他们有一个位于 https://www.second-site.com/first-site/ 的联系表。此外,运行 Google Analytics 的其他几个网站的部分网站位于 www.second-site.com 的不同子域中。

(下面列出了两个域中两个页面的当前代码)

分析正在运行,它正在跟踪两个域,并且 cookie 信息正在 URL 中从一个域传递到另一个域,但是当我查看 cookie 时,当我从一个域转到另一个域时,访问者 ID 会发生变化.这应该发生吗?

此外,当我从一个域转到另一个域时,实时分析报告会显示一位新访问者。这是否意味着跨域代码不起作用?我认为cookie中的visitorID在不同域之间是相同的。

我们将不胜感激任何帮助,以及测试跨域分析的任何提示。

http://www.first-site.com的跟踪代码:(实际UA号已替换)

<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
_gaq.push(['_setDomainName', 'first-site.com']);
_gaq.push(['_trackPageview']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_setAllowHash', false]); 

(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>

https://www.second-site.com/first-site/ 的代码:

 <script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
_gaq.push(['_setCookiePath', '/first-site/']);
_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>

这是来自链接页面的示例 URL:https://www.second-site.com/first-site/apply.htm?_utma=226662157.1705427553.1330793721.1330793721.1330802012.2&_utmb =226662157.1.10.1330802012&_utmc=226662157&_utmx=-&_utmz=226662157.1330793721.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)& _utmv=-&__utmk=195995183

【问题讨论】:

    标签: google-analytics


    【解决方案1】:

    您还需要在第二个站点上使用_gaq.push(['_setAllowLinker', true])

    还要确保_trackPageview 出现在所有其他呼叫之后。

    如果您这样做,您应该开始看到访问者的 visitorId 相同。

    另请注意,并非所有 __utma cookie 都必须相同。您只需要检查第一个点之后的第二个数字。如果这与它可能工作的相同。 __utmz cookie 也应该有相同的引用。

    请注意,您不再需要 _setAllowHash。现在已弃用。而且您可能不需要_setCookiePath,除非您有充分的理由这样做,唯一的充分理由是您要隔离的第二个域上有其他cookie。

    【讨论】:

      猜你喜欢
      • 2014-07-23
      • 1970-01-01
      • 2012-05-15
      • 2014-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多