使用多个跟踪器进行Google Analytics跨域跟踪

时间:2013-11-21 16:43:52

标签: google-analytics cross-domain

我有一个遍布不同域和子域的网站网络(domain1.com,sub.domain1.com,domain2.com,sub.domain2.com)。其中一些已经安装了Google Analytics跟踪器。有些人根本没有GA追踪器。

我想创建一种方法,在不破坏现有单域GA跟踪的情况下,跨域查看整个网络的单个GA帐户。此外,我需要能够跟踪网络中各个站点的访问和转化,就好像它们是一个站点一样。基本上,您可以将其视为网络中完全独立的独立GA帐户。

我已经看到可以自动链接域名(https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain#autolink),从而实现网络范围内的分析和转化跟踪,但有没有办法实现这一目标,赢得了&# 39; t扰乱网站上现有的跟踪器?也许有一种方法可以让GA创建两个具有不同cookie的跟踪器,其中一个是跨域的?

理想情况下,我可以为每个网站的开发人员提供一小段代码,以便添加到他们的网站以启用网络跟踪。有可能吗?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。但要记住以下几点:

  

我有一个遍布不同域和子域的网站网络(domain1.com,sub.domain1.com,domain2.com,sub.domain2.com)。其中一些已经安装了Google Analytics跟踪器。有些人根本没有GA追踪器。

这不应该是一个问题。将第二个跟踪器添加到现有页面很简单。我会告诉你如何在下面。

  

我想创建一种方法来查看整个网络的单个GA帐户

自动链接器插件实际上仅在property级别工作,因此这些不仅必须共享同一帐户,而且他们必须共享相同的属性。但这可能就是你想要的。

  

我需要能够跟踪网络中各个网站的访问次数和转化次数,就好像它们是一个网站一样。基本上,您可以将其视为网络中完全独立的独立GA帐户。

确切地说,您将为此目的创建一个全新的房产,以跟踪所有这四个"网站"作为一个单一的网站"。

  

也许有一种方法可以让GA创建两个具有不同cookie的跟踪器,其中一个是跨域的?

您可以创建在同一网站上运行的多个跟踪器,但they must share cookies。这是因为analytics.js只将客户端ID存储在cookie中,显然客户端是相同的。

对于已安装分析的一个现有网站,代码可能如下所示:

(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-XXXX-Y', 'auto');
ga('send', 'pageview');

要将另一个跟踪器添加到跟踪其他属性的该网页,您只需在代码段中添加几行JavaScript。在此示例中,您为新跟踪器指定了名称t2,因此它不会干扰现有的跟踪器。

ga('create' 'UA-YYYY-Z', 'auto', {name: 't2'});
ga('t2.send', 'pageview');

这会创建一个新的跟踪器,并使用新的跟踪器发送综合浏览量,但它不会设置自动链接。为此,您必须稍微修改它(假设此代码适用于domain1.com):

ga('create', 'UA-YYYY-Z', 'auto', {name: 't2', allowLinker': true});
ga('t2.require', 'linker');
ga('t2.linker:autoLink', ['domain2.com']);
ga('t2.send', 'pageview');

然后对于domain2.com,您只需稍微更改代码即可自动链接到domain1.com:

ga('create', 'UA-YYYY-Z', 'auto', {name: 't2', allowLinker': true});
ga('t2.require', 'linker');
ga('t2.linker:autoLink', ['domain1.com']);
ga('t2.send', 'pageview');

您不需要列出子域名,因为analytics.js会默认跟踪这些子域名。

除了您提供的链接外,还提供了一些有关跨域跟踪的更多有用信息:
https://support.google.com/analytics/answer/1034342?hl=en