0

假设我拥有并控制了几个带有域和子域的与水果相关的站点,我想单独以及集体跟踪它们以获得总访问者值。使用新的异步方法构建分析脚本设置的正确方法是什么?

假设我有这些域:

apple.com
one.pear.com
one.peach.com
cherry.com
other.cherry.com
www.watermelon.com

我想知道我是否做得对,以及在第一次推送时在域部分中放入什么:

我目前拥有的:

XXXXX - 总跟踪代码 YYYYY - 单独跟踪代码

<script>
  _gaq.push(
    ['_setAccount', 'XXXXX'],
    ['_setDomainName', 'whatdoiputhere?'],
    ['_trackPageview']);

  _gaq.push(
    ['b._setAccount', 'YYYYY'],
    ['b._setDomainName', '[current_domain(just domain)]'],
    ['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>
4

1 回答 1

0

您必须对两个跟踪器使用完全相同的 _setDomainName。这必须是代码当前所在的域,您应该只使用域而不是子域。因此,例如对于 cherry.com 和 other.cherry.com,您应该使用相同的跟踪代码:

<script>
  _gaq.push(
    ['_setAccount', 'XXXXX'],
    ['_setDomainName', 'cherry.com'],
    ['_trackPageview']);

  _gaq.push(
    ['b._setAccount', 'YYYYY'],
    ['b._setDomainName', 'cherry.com'],
    ['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>

此外,如果您想在其中一个跟踪器中进行任何其他自定义,那么您必须在所有跟踪器中进行完全相同的配置。

每个跟踪器将创建一组 cookie,并且通过使用相同的 _setDomainName,它们将共享同一组 cookie。这更好,因为您减少了 cookie 的数量,但也很棘手,因为两个跟踪器必须兼容才能共享相同的 cookie,因此您应该在两个 cookie 中使用相同的配置。

如果您采取不同的做法,您可能会以跟踪器共享 cookie 但他们不同意设置并可能相互重置 cookie 导致跟踪器完全损坏的情况结束。因为它非常不稳定,谷歌表示它不支持拥有多个跟踪器的用例,但如果你遵循上述规则,这当然是可能的。

如果您为 _setDomainName 使用不同的配置,那么您最终可能会遇到每个跟踪器使用不同的 cookie 集的情况,这很好,因为它们不能再发生冲突,但在某些情况下它们可能会共享 cookie,因此它并不完全安全假设 2 个孤立的集合。

希望能帮助到你

更新

_setDomainName 在分析中用于确定它将为 Google Analytics 保存 cookie 的位置。因此它必须与当前域匹配。如果您在 domainX.com 并尝试将域设置为 domainY.com,则无法存储这些 cookie。在这种情况下,事情可能会停止工作,或者 GA 可能会忽略您的设置并使用默认设置。

如果您有不同的域,则需要将 cookie 从一个域传递到另一个域,以使 GA 了解这是同一次访问。谷歌分析有一些帮助来解决这个问题,并且在开发者文档中有很好的记录。

https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingSite

于 2013-04-07T23:31:19.627 回答