我正试图在Google跟踪代码管理器中显示Google Optimize变体。
我尝试通过“自定义JavaScript变量”实现它:
function() {
var property = window.keys(gaData);
var experiment_nr = window.keys(window.gaData[property].experiments);
var experiment_value = window.values(window.gaData[property].experiments).toString()
if (experiment_value == "") {
return "0"
} else {
return experiment_value
}
}
这是它的结果:
然后我尝试使用5秒的延迟触发来测试我的代码:
这是DevTools JS控制台的结果:
如您所见,控制台不会通过GTM接受它,但是在我手动输入时会接受它。
有人可以帮我吗?
答案 0 :(得分:0)
尝试使用 dataLayer 代替窗口对象。
答案 1 :(得分:0)
答案实际上很简单。
Google Optimize使用名为_gaexp
的cookie。
在那里,您会得到一个字符串,总结了Google Optimize实验ID以及最后的版本:
GAX1.2.wHL2IJUnSg2n8PB4iQH66w.18362.1
我要做的就是创建一个新的读取Cookie的变量:
您当然可以通过简单地从DevTools控制台调用Cookies.get('_gaexp')
(以检查cookie值是否正确)来获得带有JavaScript的cookie名称
必须对_gaexp
值进行操作以隔离变体:
function (){
if ({{GA_Optimize_Variable}}=='undefined'){
return '0'
} else {
return {{GA_Optimize_Variable}}.charAt({{GA_Optimize_Variable}}.length-1)
}
}
当Google Optimize将您的访问量引导到网站的原始变体时,_gaexp
不存在。因此,需要一个if语句。
最后,您可以在Google Analytics(分析)事件和/或维度中使用变量。