使用javascript到A / B测试着陆页,Math.random()不是随机的吗?

时间:2015-08-10 07:59:35

标签: javascript random google-analytics

我有一个在多个网站上运行的javascript广告。该广告适用于某个应用,在点击该广告时,用户会被发送到目标网页,其中该着陆页上的js决定是否显示A)着陆页A,B)着陆页B)或C)将用户重定向到应用商店/游戏商店。

广告通过设置参数utm_content = {landingA,landingB,nolanding}动态选择着陆页,因此基本上有三种选择:

  • 直接存储(50%)
  • 目标网页(50%)
    • 登陆A(50%)
    • 着陆B(50%)

选择它的方式是纯粹的js,代码是这样的:

if(Math.random() < 0.5) nolanding;
else {
 if (Math.random() < 0.5) landingA;
 else landingB; 
}

当用户点击广告时,他/她将被发送到目标网页,并根据utm_content参数的值,着陆页显示A / B或重定向到商店而不显示任何内容。< / p>

在谷歌分析中,我制作了一个饼图,只测试流量是否分配50%,25%,25%,但情况似乎并非如此。

enter image description here

从附图中可以看出,它没有预期的分布。 所以,我的问题是:

Math.random()的问题是否与我预期的一样随机?我已经研究了其他一些讨论这个问题的问题,但这不是那么不准确吗?

或者Google Analytics无法正确跟踪utm_content参数吗?重定向到商店的速度过快会出现问题,因此GA无法跟踪网页浏览量吗?

编辑:这是饼图设置:

它只会显示同时具有utm_campaign = dynamiskNA或dynamiskTF的数据,这正是我想要看到的。

enter image description here

1 个答案:

答案 0 :(得分:0)

好的,问题出在ga('send''pageview')事件上。我没有在重定向之前等待来自GA的hitCallback,因此GA没有跟踪所有事件。

这是一个非常简单的解决方案,也是一个愚蠢的错误。

在:

ga('send' 'pageview');
// Went ahead and redirected

在:

ga('send', 'pageview', {'hitCallback' : function() {
    //Go ahead an do stuff :)
}});

@Paul感谢您向我展示卡方检验。学到了一些有用的东西:)