Analytics.js:什么是'auto'关于跟踪对象创建的争论



我刚刚切换到新的Google Analytics Universal Analytics平台,使用新的javascript API-Analytics.js

在文档的第一个示例代码片段中,创建了一个跟踪对象,然后使用该跟踪对象记录当前页面的页面视图。

ga('create', 'UA-XXXX-Y', 'auto');
ga('send', 'pageview');

请注意'auto'参数-我不知道它有什么用。

我看了一下方法引用,相关参数似乎是可选的,应该包含配置键/值对。示例可在字段参考中找到。如果参数是可选的,那么在这里传递'auto'似乎很奇怪,除非它做了一些重要的事情,所以你必须假设它做了,但我找不到任何关于这一点的提及。

此外,在你的帐户中自动生成的代码中,它做了类似的事情,但通过了你的域

ga('create', 'UA-XXXX-Y', 'mydomain.com');

当你的域再次可用时,它会被专门传递,这表明它做了一些有意义的事情——否则他们可能也只会在这里使用'auto'。但同样,没有提到为什么要这样做。

我是不是错过了一些显而易见的东西?

实际上,当我查看代码时,它不会传递我的属性名称,而是传递配置中设置的标准域-这更有意义,因为该参数设置了cookie域(如果"auto",则window.location.hostname的值为不带子域的主机名)。或者,您可以将配置对象作为第三个参数(可能包含cookie域设置)传递。尝试设置一个错误的参数-由于代码无法设置cookie,分析调试器中会出现"无存储"错误。

如果您只关心跨子域的跟踪(例如:www.example.com、site1.example.com、site2.example.com),那么它已经在通用分析中使用了auto选项。

根据本开发指南中的"自动Cookie域配置"部分

自动Cookie域配置简化了跨域跟踪通过自动将cookie写入最高级别实现当使用auto参数时,域是可能的。当在域名www.example.co.uk,它将尝试在以下顺序:

  • co.uk
  • example.co.uk
  • www.example.co.uk

Analytics.js将无法写入co.uk上的cookie,但在example.co.uk上会成功。因为cookie已成功写入更高级别的域,www.example.co.uk将被跳过。

最新更新