【问题标题】:Solving configuration mismatch between Google Analytics and Google Optimize?解决 Google Analytics 和 Google Optimize 之间的配置不匹配问题?
【发布时间】:2019-09-12 16:43:40
【问题描述】:

所以我正在使用 Google Analytics、Google Optimize 和 Google Tag Manager。我也觉得我可能会失去理智。

出于性能原因,我们不想通过 GTM 添加 google 优化脚本。我们想对其进行硬编码。但是每次我尝试时,安装都不起作用。具体来说,当我在谷歌优化设置页面上单击“运行诊断”时,我收到一条错误消息,提示

页面上的所有 Analytics 跟踪代码都必须具有相同的跟踪器配置设置。 [...] 以下跟踪器配置属性没有相同的配置:alwaysSendReferrer.

所以我进入我方便的 Analytics 调试器,找到 alwaysSendReferrer 属性,并注意它设置为 true。伟大的。我编辑了我传递给谷歌优化初始化脚本的配置对象,并添加了alwaysSendReferrer: true。到目前为止,一切都很好。除了...我得到同样的错误。

我认为我们的分析设置可能有问题,所以我摆脱了硬编码的 google 优化脚本,而是通过 Google Optimize GTM 标记包含它——出乎意料的是,它运行良好。我想“好吧,我只需找到 GTM 正在添加的脚本并将其复制/粘贴到代码库中”,但它当然会在其生命的一英寸内被缩小,并且将 javascript 与其余标签解开将是一个整体其他努力。

我可以访问 GTM 中的 {{Default UA Settings}} 变量,并且 google 的文档非常希望我将该对象传递给 GTM 中的官方“Google Optimize”标签。这行得通(我已经测试过了),但如前所述,我们不想那样做。

如果有人知道 Google Optimize 配置对象应该是什么样子,那将对我有很大帮助。

现在我的看起来像这样(删除了识别细节)

dataLayer.push(['config', 'UA-12345', {
    'optimize_id': 'GTM-55555',
    'linker': { 'domains': ['mywebsite.com <http://mywebsite.com>'] },
    'alwaysSendReferrer': true
});

我已经尝试过false"true"1,以及我能想到的所有其他方法(我非常有信心 Google Analytics 在我们的网站上将此属性设置为 true)——我唯一的猜测可能是我将值设置在错误的位置,而谷歌优化没有看到它。帮忙?

【问题讨论】:

    标签: google-analytics google-tag-manager google-optimize


    【解决方案1】:

    我知道阅读 Google 文档时会发疯的感觉!

    这是我在希望运行优化实验的页面上使用的代码:

    <head>
    ...
      <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PRMQXXX');</script> <!-- End Google Tag Manager -->
    
      <!-- Page-hiding snippet (recommended)  -->
      <style>.async-hide { opacity: 0 !important} </style>
      <script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
      h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
      (a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
      })(window,document.documentElement,'async-hide','dataLayer',4000,
      {'GTM-KL7XXXX':true});</script>
    
      <!-- Modified Analytics tracking code with Optimize plugin -->
      <script>
      (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','https://www.google-analytics.com/analytics.js','ga');
    
      ga('create', 'UA-99999999-1', 'auto');
      ga('require', 'GTM-KL7XXXX');
      ga('send', 'pageview');
      </script>
    ...
    </head>
    

    地点:

    • GTM-PRMQXXX 是 Google 跟踪代码管理器容器 ID
    • GTM-KL7XXXX 是 Google Optimize 容器 ID,并且
    • UA-99999999-1 是我的 Google Analytics(分析)ID

    请注意,添加上述脚本后,您需要删除常用的 GA 脚本。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-24
      相关资源
      最近更新 更多