【问题标题】:Google analytics analytics.js 2 two trackers colliding?谷歌分析analytics.js 2 两个跟踪器碰撞?
【发布时间】:2015-07-13 19:18:31
【问题描述】:

我正在使用 analytics.js 脚本跟踪 3 个站点 - 两个二级域,一个是子域...例如:dom1.com、sub.dom1.com、dom2.com

我遇到问题的脚本和站点是本示例中的 dom1.com。我有 2 个属性应该汇总以下数据:

属性 A:dom1.com + sub.dom1.com 属性B:dom1.com + sub.dom1.com + dom2.com

我一直在寻找我的代码中的一个错误,但无法找出问题所在,即:

在属性 A 中,所有内容都已正确聚合,并且域和子域都可以正常发送数据。在属性 B 中,sub.dom1.com 和 dom2.com 会发送他们的数据,但 dom1.com 不会。

这是 dom1.com 头文件中的脚本:

ga('create', 'PropertyA', 'auto', {'name': 'trackerA'}, {'allowLinker': true});
ga('trackerA.send', 'pageview');
ga('require', 'linker');
ga('linker:autoLink', ['sub.dom1.com', 'dom1.com']);

ga('create', 'PropertyB', 'auto', {'name': 'trackerB'}, {'allowLinker': true});
ga('trackerB.send', 'pageview');
ga('require', 'linker');
ga('linker:autoLink', ['sub.dom1.com', 'dom1.com', 'dom2.com']);

我已经尝试移动上面的第二个跟踪器以防脚本未运行,但它没有解决任何问题。我认为问题出在我尝试使用链接器 2 次的方式上,但可能做错了吗?

感谢您的帮助,希望对其他人也有帮助。

【问题讨论】:

    标签: javascript google-analytics tracking analytics.js


    【解决方案1】:

    您的实施存在一些问题(并非所有这些都会导致您的问题,但它们通常仍然是最佳实践):

    1. 一般来说,在对跟踪器执行任何其他操作之前,您应该始终要求所有插件并调用插件初始化,因为许多插件会改变存储在跟踪器上的行为和/或数据。

      李>
    2. 您无需在autoLink 方法中指定子域,因为您使用auto 启用自动cookie 域配置,它们会被自动跟踪。

    3. 您不能将两个对象传递给 create 方法,而是应该将这些选项组合成一个对象或使用简写形式(例如 ga('create', trackingID, cookieDomain, trackerName, additionalConfigOptions);

    4. 使用多个跟踪器时,需要插件和调用插件方法时必须指定跟踪器名称(例如ga('trackerName.require', 'pluginName');ga('trackerName.pluginName:methodName', methodOptions);

    如果您按以下方式更新代码,它应该可以工作:

    ga('create', 'PropertyA', 'auto', 'trackerA', {'allowLinker': true});
    ga('trackerA.require', 'linker');
    ga('trackerA.linker:autoLink', ['dom1.com']);
    ga('trackerA.send', 'pageview');
    
    ga('create', 'PropertyB', 'auto', 'trackerB', {'allowLinker': true});
    ga('trackerB.require', 'linker');
    ga('trackerB.linker:autoLink', ['dom1.com', 'dom2.com']);
    ga('trackerB.send', 'pageview');
    

    【讨论】:

    • 谢谢我按照您的回答设置了它。但它仍然不起作用。 ://
    • “自动”cookie 域是否可能存在冲突?
    • 什么不起作用?当您从 domain1 转到 domain2 时,您是否在 URL 中看到 _ga=XXXXXXX 参数?您是否使用debug version of analytics.js 查看控制台是否记录了任何错误?
    • 要回答您的第二个问题,不,使用'auto' 作为cookieDomain 对两个不同的域没有影响。
    • 对不起,错误是我的结果。该代码有效。谢谢你!我不知道调试器,它有很大帮助。我会将您的答案标记为正确的解决方案。
    【解决方案2】:

    您需要在调用“require”和“linker”方法时包含跟踪器名称:

    ga('trackerA.require', 'linker');
    ga('trackerA.linker:autoLink', ['sub.dom1.com', 'dom1.com']);
    

    与属性 B 相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      • 2013-09-18
      相关资源
      最近更新 更多