如何判断跨域跟踪是否与GTM一起正常运行?

时间:2014-06-02 23:44:57

标签: google-analytics google-tag-manager universal-analytics

我在Google跟踪代码管理器中设置了以下自定义HTML代码(注意:我知道您可以创建通用分析代码类型,但是,由于设置,我必须使用自定义HTML代码类型)。

<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', {{uaid}}, 'auto', {
  'allowLinker': true
});

// Load the plugin.
ga('require', 'linker');

// Define which domains to autoLink.
ga('linker:autoLink', [{{cross domains}}]);

// enhanced link attribution
ga('require', 'linkid', 'linkid.js');

// send
ga('send', 'pageview');

其中{{uaid}}是我的通用分析跟踪编号,{{ cross domains }}是我正在尝试正确跟踪的域名列表 - 即['mydomain.com','seconddomain.com',' thirddomain.com。

我有sub.mydomain.com我也想跟踪。上述mydomain.com列表中的{{ cross domains }}是否会考虑所有子域名?

基本上,我已经通过Google的文档设置了所有这些内容。我怎样才能确保它正常工作?

1 个答案:

答案 0 :(得分:5)

您发布的代码看起来没问题,假设您没有拼错您的域名等。

是的,指定mydomain.com应涵盖所有子域名,例如foobar.mydomain.com

要测试它,请转到其中一个域的页面,该域链接到另一个域。

注意:选择一个转到不同的根域。从mydomain.com转到foobar.mydomain.com将无法帮助您对此进行测试,因为cookie是在根域上设置的,并且不会调用任何特殊内容。

使用您喜欢的工具查看对GA的请求。例如,使用浏览器的开发者工具&gt;网络标签。

请求网址如下所示:

http://www.google-analytics.com/collect?...

在网址中,您应该看到cid param看起来像这样:

cid=1885489529.1395091795

这是客户端ID(访客ID)。现在,单击页面上链接到列表中另一个域的链接。您应该看到目标页面应附加_ga参数,如下所示:

_ga=1.241257986.1885489529.1395091795

在目标网页上的www.google-analytics.com请求中,您应该看到在第一页上看到的相同cid参数。

cid=1885489529.1395091795

如果原始页面的cid与目标页面匹配,则表示页面视图使用相同的客户端/访客ID,并将计为报告中的相同访问(或)。

注意: cid_ga值是访问者唯一的,因此您应该看到该格式的值,而不是那些确切的数字。

注意: GA的跨域跟踪基本上只适用于没有发生任何其他类型欺骗的标准链接。例如,如果您在运行GA代码后生成了链接,则无法使用。或者,如果您有非标准退出链接(例如,转到某个控制器页面并最终重定向到目标站点的链接,或者没有使用javascript最终重定向的href的链接),那么这将无效。对于这些链接,您需要follow the documentation来调用GA方法来获取_ga参数,并使用您自己的方法将其附加到网址。