问题描述
我设计了一个基本的 A/B 拆分测试,为客户提供了一个“A”或“B”cookie,然后我将其作为非交互事件传递给 Google Analytics,这似乎对 80% 的网站访问者都适用,但是其他 20% 似乎没有向 GA 报告 A 或 B 事件。
这是我用来向 GA 报告事件的脚本
if ( getCookie("a-b-test-reported") =! "reported"){
setTimeout(function() {
if ( getCookie("a-b-test") == 0 ){
ga('send','event','Test','A/B Split','Visitor - A',{ nonInteraction: true });
} else {
ga('send','Visitor - B',{ nonInteraction: true });
}
setCookie("a-b-test-reported",'reported',1);
},1000);
}
我在发送事件前等待 1 秒,我希望这会减少机器人等。我知道并非所有这 20% 都是机器人,因为其中一些访问者在没有 a/b 事件的情况下下订单。
这是我的 cookie 脚本:
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname+"="+cvalue+"; "+expires + "; path=/;";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charat(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
}
}
return "";
}
if ( getCookie("a-b-test") != "") { } else {
random = parseInt(Math.random() * 2)
setCookie("a-b-test",random,1);
}
这些脚本中是否有任何内容会阻止某些浏览器或用户首选项保存 cookie 或将此事件报告给 GA?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)