【发布时间】:2018-01-08 15:50:08
【问题描述】:
我正在尝试将 Google Optimize 与 gtag.js 安装的 Analytics 结合使用,但在优化 UI 的某些部分出现错误,但在其他部分却没有。
这是我所做的:
- 按照说明 "Set up Analytics tracking with gtag.js" 安装了 Google Analytics(并通过使用实时预览确认其工作正常)。
- 按照说明 "Deploy Optimize using Global Site Tag (gtag.js)" 设置 Google Analytics
- 添加了page-hiding snippet。
当我使用 Chrome 扩展程序设置实验时,Optimize 似乎按照 Google 的预期运行 - 请注意下面的屏幕截图中的感叹号图标没有显示数字(如果我删除优化代码),然后单击它说“未检测到问题”。 (另外,chrome 扩展的图标没有任何错误符号。)
但是,如果我随后 预览 原始版本或变体版本(单击 Optimise 中的“屏幕”图标),我会收到一条 javascript 警报,其中显示:
此页面上未正确安装 ID 为 GTM-abcdef 的容器的 Google Optimize sn-p。要预览此实验的变体,请确保在您要测试的任何页面上都安装了 Google Optimize sn-p。
(我在上面用“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 上的站点进行了尝试,两种情况下的行为都是相同的。
我也试过删除隐藏页面的 sn-p 代码,但没有帮助。
我也尝试过实际运行实验,但即使将替代版本设置为 100% 流量,也总是看到原始版本,所以它在那里不起作用。 (我只针对本地站点尝试过这个,没有针对 Heroku 实例尝试过。)
值得注意的是,GA代码中有这一行:
function gtag(){dataLayer.push(arguments);}
我在网上看到过这种形式,末尾有分号:
function gtag(){dataLayer.push(arguments)};
我都试过了,没有任何效果。
我在这里做错了什么?
【问题讨论】:
-
遇到同样的问题,如果我们弄清楚发生了什么,会让您知道。优化之前为您工作过吗?在我们的案例中,我们过去已经成功地将它用于许多测试,但现在它没有检测到 Optimize sn-p。
-
很高兴不仅仅是我,@shirajg。事实上,这是我第一次使用优化工具,所以没有以前的经验可以比较。
-
我在隐身窗口中试了一下,它似乎工作正常。我想我有一个插件干扰它。我没有花时间隔离哪一个,但我注意到在你的屏幕截图中你也安装了 lastPass,所以也许就是这样。
-
谢谢@shirajg。我暂时没有机会尝试这个,但下次我处理这个问题时,我会考虑你的建议。
-
您找到解决方案了吗?
标签: google-analytics google-optimize