Google analytics 使用新的gtag.js框架进行跨域跟踪

Google analytics 使用新的gtag.js框架进行跨域跟踪,google-analytics,analytics,Google Analytics,Analytics,我们有一些问题与新的gtag google analytics跟踪代码有关,该代码与跨域双向自动链接器有关。在这些文档中,他们提到您可以使用以下代码跨所有来源未知的站点使用一行代码 为了进一步简化双向跨域跟踪,您可以列出 要在的domains属性中跟踪的所有可能域 每个域的属性配置的链接器参数,允许您 在每个域上使用相同的代码片段: 在example-1.com上,更新属性的配置: 这段代码中存在一些不一致之处,例如,它将示例1和示例2显示为使用不同的GA_跟踪ID,而页面上的所有其他示例显示

我们有一些问题与新的gtag google analytics跟踪代码有关,该代码与跨域双向自动链接器有关。在这些文档中,他们提到您可以使用以下代码跨所有来源未知的站点使用一行代码

为了进一步简化双向跨域跟踪,您可以列出 要在的domains属性中跟踪的所有可能域 每个域的属性配置的链接器参数,允许您 在每个域上使用相同的代码片段:

在example-1.com上,更新属性的配置:

  • 这段代码中存在一些不一致之处,例如,它将示例1和示例2显示为使用不同的GA_跟踪ID,而页面上的所有其他示例显示在代码段中使用相同的GA跟踪ID。我们需要使用同一段代码,而不是多段代码。目前,我们希望在所有站点上使用一个gtag代码,而不是如图所示的多个gtag片段。如果您参考上面链接中的其他示例,您将看到它们也使用一个gtag

  • 我们需要访问第三个站点进行跨域跟踪,但公司无法立即给我们访问权限。我们不想对网站#2提出多个请求,因此在此期间,我们可以将所有三个网站添加到我们的跨域链接中吗?添加第三个基本上不积极跟踪但最终将添加到混合中的网站是否会导致冲突

  • Google的旧文档提到了添加三个以上域的能力,新的gtag框架是否仍然具有这种能力,以及它是否能够双向工作

  • 我认为添加双向跟踪的正确方法是将其添加到所有站点

    gtag('config','GA_TRACKING_ID_1'{ “链接器”:{ “域”:['example-1.com'、'example-2.com'、'example-3.com'] } });


  • 只是在阅读文档和实施解决方案时遇到了类似的难题。 下面是一个更好的分步概述,其中包括一个指向您在问题中引用的文档的链接

    在我的案例中有效的代码,我将在下面的回答中提到,是在我需要跨多个域实现双向跨域跟踪的情况下实现的。一些也需要跟踪的域实际上是子域(subdomain.example.com),对于它们,您只需要在链接器参数domains属性数组中包含根域(example.com)。 例如:

    以及完整的代码,包括脚本src标记(如果有人需要):

    <!-- Global Site Tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments)};
    gtag('js', new Date());
    gtag('config', 'GA_TRACKING_ID', {
        'linker': {
            'domains': ['example.com', 'second-example.com', 'third-example.com']
        }
    });
    </script>
    
    
    window.dataLayer=window.dataLayer | |[];
    函数gtag(){dataLayer.push(arguments)};
    gtag('js',新日期());
    gtag('config','GA_TRACKING_ID'{
    “链接器”:{
    'domains':['example.com','second example.com','third example.com']
    }
    });
    
    回答您的问题:

  • 您需要/必须使用一个跟踪ID(也称为属性ID)。那个示例片段也让我感到困惑。但是,在将数据收集到单个属性时,您需要使用相同的跟踪ID,这正是跨域跟踪所需要的。更多关于属性的信息
  • 我认为将第三个网站域添加到域数组中没有问题。gtag跟踪代码仅在执行代码的网站上有用户时激活。因此,在您的情况下,谷歌分析将无法跟踪第三个域上的流量,除非您向其添加适当的代码。在代码实现的前两个网站上的跟踪不会受此影响
  • 是的,它会起作用的。此列表上方显示的工作示例
  • 是的,没错。但在您的示例中,跟踪ID之后还包含了额外的编号,这让我们最初都感到困惑:)
  • 当然,这并不是设置正确的跨域跟踪所需的全部操作。如我的答案顶部引用的文件所述,您还需要:

    • 如果要在报告中获取完整域名,请创建报告视图的副本并添加自定义筛选器。这样更容易区分域之间的访问(例如:每个域上都可能有一个about-us.html页面)
    • 将跟踪的域添加到推荐排除列表中是非常重要的。如果不这样做,跨域跟踪将无法工作。它将把从second-example.com到example.com的单个访问者注册为新会话
    来自文档的额外提示,证明非常有用: 为了快速测试上述设置,您可以使用谷歌开发的名为“谷歌标签助手”的Chrome扩展。 这节省了我调试问题的大量时间。
    在流量大的实时站点上工作时特别有用

    你确定要使用相同的跟踪id吗?如果是这样的话,属性之间的区别是什么?@yuria在这种情况下(跨域跟踪),您必须使用相同的跟踪ID才能正常工作。按照Google analytics说明文档配置所有内容后,您将在报告中看到完整的URL。在您的用例中,这就足够了吗?
    gtag('config', 'GA_TRACKING_ID', {
        'linker': {
            'domains': ['example.com', 'second-example.com', 'third-example.com']
        }
    });
    
    <!-- Global Site Tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments)};
    gtag('js', new Date());
    gtag('config', 'GA_TRACKING_ID', {
        'linker': {
            'domains': ['example.com', 'second-example.com', 'third-example.com']
        }
    });
    </script>