此页面上未正确安装ID为GTM -...的容器的Google Optimize代码段

时间:2018-01-08 15:50:08

标签: google-analytics google-optimize

我正在尝试使用gtag.js安装的Google Optimize with Analytics,并且在Optimize UI的某些部分遇到错误,但其他部分却没有。

这就是我所做的:

  1. 按照"Set up Analytics tracking with gtag.js"的说明安装了Google Analytics(并确认其使用实时预览功能)。
  2. 按照"Deploy Optimize using Global Site Tag (gtag.js)"
  3. 说明设置Google Analytics
  4. 添加了page-hiding snippet
  5. 当我设置使用Chrome扩展程序进行实验时,Optimize似乎按照Google的预期运行 - 请注意下面屏幕截图中的感叹号图标没有显示数字(如果我有的话)删除优化代码),然后单击它说“没有检测到问题”。 (另外,chrome扩展名的图标没有任何错误符号。)

    Google Optimise Chrome extension without errors

    但是,如果我然后预览原始版本或变体版本(点击“优化”中的“屏幕”图标),我会收到一条javascript警告,其中显示:

      

    此页面上未正确安装ID为GTM-abcdef的容器的Google Optimize代码段。要预览此实验的变体,请确保在要测试的任何页面上安装了Google Optimize代码段。

    (我在上面用“abcdef”替换了我的实际容器ID。)

    Chrome扩展程序图标在点击时也显示错误和类似消息(我在此处将实验名称涂黑):

    Google Optimise Chrome extension icon with error

    这是我的HTML <head>部分(已编辑ID):

    我已将此脚本与"Deploy Optimize using Global Site Tag (gtag.js)"中的示例进行比较,除了我的代码包含真实ID外,它们看起来完全相同:

    <head>
        <meta charset="UTF-8">
    
        <!-- 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-zyxzyx':true});</script>
    
        <!-- Global site tag (gtag.js) - Google Analytics -->
        <script async src="https://www.googletagmanager.com/gtag/js?id=UA-abcdef"></script>
        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag('js', new Date());
          gtag('config', 'UA-abcdef', { 'optimize_id': 'GTM-zyxzyx'});      
        </script>
    
        <title></title>
    </head>
    

    我已经尝试过针对本地运行的网站(在Flask的网络服务器端口5000上)和针对部署在Heroku上的网站,并且两种情况下的行为都相同。

    我也尝试删除页面隐藏代码段代码,但这没有帮助。

    我也尝试过实际运行实验,但是即使设置替代版本以获得100%流量,也总是看到原始版本,所以它不能在那里工作。 (我只针对本地网站尝试过此操作,没有尝试过针对Heroku实例。)

    值得注意的是,GA代码中有这一行:

    function gtag(){dataLayer.push(arguments);}
    

    我在网上看过这种形式,结尾用分号:

    function gtag(){dataLayer.push(arguments)};
    

    我试过两个都没有任何效果。

    我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

我不知道这是否正确,但是隐藏的代码段应该使用ID UA-abcdef吗?

  

如果您正在使用Google跟踪代码管理器来部署Optimize,请填充   您的代码管理器容器ID而不是您的页面隐藏代码段   优化容器ID。详细了解如何结合使用优化和   标记管理系统(来自此处:https://support.google.com/optimize/answer/7100284?hl=en

我不确定通过这种方式部署代码是否被归类为通过Google跟踪代码管理器部署Optimize。别人怎么看?