1

所以我使用谷歌分析、谷歌优化和谷歌标签管理器。我也觉得我可能会失去理智。

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

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

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

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

我可以访问{{Default UA Settings}}GTM 中的变量,谷歌的文档真的希望我将该对象传递给 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 )——我唯一的猜测是我可能正在将值设置为错误的地方,谷歌优化没有看到它。帮助?

4

1 回答 1

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 脚本。

我希望这可以帮助你!

于 2019-09-12T08:43:40.107 回答