<!-- 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.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXX');</script>
<!-- End Google Tag Manager -->
4 回答
目前GTM实际上并不支持Javascript版本的Google内容实验(他们已经做了重定向或动态更改网站,因为很难提前在页面加载期间标签触发,以及它哪个顺序,这不能很好地工作 - 在最好的情况下,原始页面将在访问者重定向到变体之前完全加载) .
features page for GTM将A / B测试标签列为"coming soon",但至少在一年前这样做,所以我不会屏住呼吸 .
但是,您可以执行variations serverside(您必须实现自己的逻辑以向每个用户显示正确的变体)并通过GTM将ID和变量编号传递给GA . 我认为没有其他(可靠的)方法可以做到这一点,至少现在还没有 . 如果您需要使用javascript进行操作,则应将实验脚本添加到页面代码中,而不是通过标记管理进行部署 .
话虽如此,有使用Experiments Javascript API和一些jQuery(here is one)来解释围绕GTM限制的描述 . 当谷歌说某事是"not supported"时,这可能只是意味着他们不想测试所有可能的边缘情况并且在安全方面犯了错误 . 因此,如果您必须使用GTM进行内容实验,则必须测试此类内容是否适合您 .
我希望我能很好地理解你的问题 . 如果是,您可以使用Google Optimize而不是Google Experiment . 默认情况下,Google Optimize可与Google跟踪代码管理器配合使用 .
这对我有用
对于实验中的页面,我使用analytics.js而不是GTM实现了Google Analytics的“老式方式” .
我测试了(使用实时分析),实验页面和Google标签页都报告了数据 .
我发帖询问if there might be conflicts from ths.
您可以修改Google跟踪代码管理器(GTM)代码段,以便在打开
<head>
元素后立即删除j.async=true;
并将其置于页面顶部,从而同步运行 . 像这样:您还可以通过在GTM指定的原始位置(在打开
<body>
元素之后)插入代码的<iframe>
部分来保留对没有Javascript的用户的支持 .然后,可以将Google Analytics实验代码作为自定义HTML标记插入GTM中 . 只需确保选中“support document.write()”复选框即可 .
只是不要忘记用您的容器ID更新 GTM-XXXX .