我正在尝试使用gtag.js安装的Google Optimize with Analytics,并且在Optimize UI的某些部分遇到错误,但其他部分却没有。
这就是我所做的:
当我设置使用Chrome扩展程序进行实验时,Optimize似乎按照Google的预期运行 - 请注意下面屏幕截图中的感叹号图标没有显示数字(如果我有的话)删除优化代码),然后单击它说“没有检测到问题”。 (另外,chrome扩展名的图标没有任何错误符号。)
但是,如果我然后预览原始版本或变体版本(点击“优化”中的“屏幕”图标),我会收到一条javascript警告,其中显示:
此页面上未正确安装ID为GTM-abcdef的容器的Google Optimize代码段。要预览此实验的变体,请确保在要测试的任何页面上安装了Google Optimize代码段。
(我在上面用“abcdef”替换了我的实际容器ID。)
Chrome扩展程序图标在点击时也显示错误和类似消息(我在此处将实验名称涂黑):
这是我的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)};
我试过两个都没有任何效果。
我在这里做错了什么?
答案 0 :(得分:0)
我不知道这是否正确,但是隐藏的代码段应该使用ID UA-abcdef吗?
如果您正在使用Google跟踪代码管理器来部署Optimize,请填充 您的代码管理器容器ID而不是您的页面隐藏代码段 优化容器ID。详细了解如何结合使用优化和 标记管理系统(来自此处:https://support.google.com/optimize/answer/7100284?hl=en)
我不确定通过这种方式部署代码是否被归类为通过Google跟踪代码管理器部署Optimize。别人怎么看?