我一直试图让它工作一段时间,似乎很少有关于它是如何工作的信息。
首先,我想说我尝试了以下方法让它正常工作,所以请在发布解决方案之前阅读。
我尝试了什么: 我在自定义HTML块中添加了Google Analytics分析实验代码,并且只启动了谷歌所述的原始页面。这不起作用,似乎为用户创建了一个循环。当用户进入实验页面时,会出现白页。
有谁知道如何让它发挥作用?非常感谢
答案 0 :(得分:7)
目前GTM实际上并不支持Javascript版本的Google内容实验(他们已经做了重定向或动态更改网站,因为很难提前在页面加载期间标签触发,它的顺序,这不能很好地工作 - 在最好的情况下,原始页面将完全加载,然后访问者被重定向到变体)。
features page for GTM将A / B测试标签列为“即将推出”但至少在一年前这样做,所以我不会屏住呼吸。
但是,您可以执行variations serverside(您必须实施自己的逻辑以向每个用户显示正确的变体),并通过GTM将ID和变体编号传递给GA。我认为没有其他(可靠的)方法可以做到这一点,至少现在还没有。如果您需要使用javascript,则应将实验脚本添加到页面代码中,而不是通过标记管理进行部署。
话虽如此,但有一些关于使用Experiments Javascript API和一些jQuery(here is one)来破解GTM限制的描述。当谷歌说某些内容“不受支持”时,可能只是意味着他们不想测试所有可能的边缘情况并且在安全方面犯了错误。因此,如果您必须使用GTM进行内容实验,则必须测试此类内容是否适合您。
答案 1 :(得分:1)
我希望我能很好地理解你的问题。如果是,您可以使用Google Optimize而不是Google Experiment。默认情况下,Google Optimize可与Google跟踪代码管理器配合使用。
答案 2 :(得分:0)
这对我有用
对于实验中的页面,我使用analytics.js而不是GTM以“老式方式”实施Google Analytics。
我测试了(使用实时分析),实验页面和Google标签页都报告了数据。
答案 3 :(得分:-1)
可以在打开j.async=true;
后立即删除<head>
行并将其置于页面顶部,从而修改Google跟踪代码管理器(GTM)代码段以同步运行元件。像这样:
<!-- 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 -->
您还可以在没有Javascript的情况下保留对用户的支持,方法是将代码的<iframe>
部分插入GTM指定的原始位置(在您打开<body>
元素之后)。
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe</noscript>
然后可以将Google Analytics实验代码作为自定义HTML标记插入GTM中。只需确保查看支持document.write()&#39;复选框。
请勿忘记使用您的容器ID更新 GTM-XXXX 。