为什么Google Analytics默认代码会移除ga('create'...)函数中的子域并将TLD添加到推荐排除列表?

时间:2014-06-19 06:42:34

标签: google-analytics universal-analytics

我想使用一些子域在Google Analytics中创建一些新帐户。每个站点都是自己的,除了域和父组织之外,彼此之间没有相关性。

我们想说我想为dev.example.com.au和blog.example.com.au创建两个新帐户

以前在创建新帐户时,默认代码会生成以下内容:

ga('create', 'UA-123456-7', 'dev.example.com.au');

现在它产生以下内容:

ga('create', 'UA-123456-7', 'example.com.au');

它会自动将example.com.au添加到推荐排除列表中。

我查看了Method ReferenceAdvanced ConfigurationAnalytics.js Field Reference,但我真的不明白默认代码中的第三个参数(域)是做什么的,或者是什么影响是通过将其留作' example.com.au'或者改回“dev.example.com.au”。代码示例使用' auto'作为具有多个属性的值或对象。我应该更改跟踪代码以引用ga()函数中的子域吗?

我不希望看到从dev.example.com.au到dev.example.com.au的引荐流量,但我希望看到从example.com.au到任何流量的流量子域名,为什么example.com.au会自动添加到推荐列表?

作为参考,完整的默认GA代码段低于 - 特别是第二个最后一行:

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-123456-7', 'example.com.au');
  ga('send', 'pageview');

</script>

1 个答案:

答案 0 :(得分:2)

第三个参数是cookie域。 Ga将客户端ID存储在单个cookie中,以在会话期间识别用户或在多个会话中重复用户。 Cookie是特定于域的,Cookie域告知GA允许代码在哪个域设置Cookie。您也可以将其设置为auto(或者不设置全部,在这种情况下默认为auto),在这种情况下,它默认为当前显示的站点运行的域的最高可写部分(即使用dev.example。 com.au你不能在.au或com.au但在example.com.au上设置cookie。如果cookie域设置为顶级域example.com.au,则子域可以读取cookie,但是如果它设置为子域,则顶级域(其他子域)无法读取或写入cook。即如果您的Cookie域设置为dev.example.com.au,并且您将该代码放在example.com.au上,Google Analytics将无法正常工作。

example.com.au已添加到引荐排除列表中,以避免在流量来源报告中进行自我引荐。如果您在子网站和顶级域名之间切换,您自己的网站可能会显示为引荐来源,则引荐排除列表会阻止这种情况发生。这些设置在跨域跟踪中更为重要(您必须添加GA机构跟踪的所有域名,以便他们不会显示为彼此推荐并允许适当的广告系列归因)。