首页 文章

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

提问于
浏览
1

我有一个网站,这些网站都位于不同的域和子域(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),从而实现网络范围的分析和转换跟踪,但是有没有办法做到这一点,以便让GA创建两个具有不同cookie的跟踪器,其中一个是跨域?

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

1 回答

  • 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

相关问题