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

时间:2017-11-16 17:02:48

标签: google-analytics analytics

我们有一些与跨域双向自动链接器相关的新gtag google分析跟踪代码相关的问题。在那里的文档中,他们提到你可以使用以下代码在所有源头不明的网站上使用一行代码,

Documentation for Cross Site

  

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

     

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

gtag('config', 'GA_TRACKING_ID_1', {
  'linker': {
    'domains': ['example-1.com', 'example-2.com']
  }
});
On example-2.com, update the property's config:

gtag('config', 'GA_TRACKING_ID_2', {
  'linker': {
    'domains': ['example-1.com', 'example-2.com']
  }
});
  1. 此代码中存在一些不一致之处,例如,它将示例-1和示例2显示为使用不同的GA_TRACKING_ID,而页面上的所有其他示例显示在片段中使用相同的GA跟踪ID。我们需要使用相同的代码,而不是多个代码。我们目前正在寻求在所有网站上使用此方法和一个gtag代码,而不是如图所示的多个gtag代码段。如果您参考上面链接中的其他示例,您会看到他们也使用了一个gtag。

  2. 我们需要访问第三个网站进行跨域跟踪,但公司无法立即向我们提供访问权限。我们不想向网站#2提出多个请求,所以在此期间我们可以将所有三个网站添加到我们的跨域链接中吗?是否会引起冲突,添加第三个基本没有主动跟踪的网站,但最终会被添加到组合中

  3. Google的旧文档提到了添加三个以上域名的能力,新的gtag框架是否仍然具备此功能,并且可以双向工作。

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

    gtag('config','GA_TRACKING_ID_1',{   '链接':{     'domains':['example-1.com','example-2.com','example-3.com']   } });

1 个答案:

答案 0 :(得分:0)

在阅读文档和实施解决方案时遇到了类似的困境。 更好的分步概述,包括您在问题中引用的文档的链接,是Cross domain tracking with gtag.js

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

gtag('config', 'GA_TRACKING_ID', {
    'linker': {
        'domains': ['example.com', 'second-example.com', 'third-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>

回答你的问题:

  1. 您需要/必须使用一个跟踪ID(也称为属性ID)。那个示例片段也让我很困惑。但是,您需要使用相同的跟踪ID,因为它会将数据收集到单个属性,这就是您希望的跨域跟踪。有关“here
  2. 的更多信息
  3. 我没有看到将第三个网站域添加到域数组的问题。仅当网站上有用户实施代码时,才会激活gtag跟踪代码。因此,在您的情况下,在您向其添加适当的代码之前,Google Analytics将无法跟踪第三个域中的流量。对实施代码的前两个网站的跟踪不会受此影响。
  4. 是的,它会起作用。此列表上方显示了工作示例。
  5. 是的,这是对的。但是你还在你的例子中跟踪了ID之后的额外编号,这些编号最初让我们感到困惑:)
  6. 当然,为了设置正确的跨域跟踪,您无需执行此操作。正如我在答案顶部引用的文档中所提到的,您还需要:

    • 如果要在报告中获取完整的域名,请创建报告视图的副本并添加自定义过滤器。以这种方式区分域之间的访问更容易(例如:您可能在每个域上都有一个about-us.html页面)。
    • 重要您将跟踪的域名添加到推荐排除列表中。如果您不这样做,跨域跟踪将无效。它将注册从second-example.com到example.com的单个访问者作为新会话。

    来自文档的额外提示,这证明非常有用: 要快速测试上述设置,您可以使用Google开发的名为“Google Tag Assistant”的Chrome扩展程序。 它为调试问题节省了我很多时间。 在具有大量流量的实时站点上工作时尤其有用。 About Tag Assistant Recordings