javascript - 使用 javascript 对着陆页进行 A/B 测试,Math.random() 不是随机的?

标签 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 或重定向到商店而不显示任何内容。

在 Google Analytics 中,我制作了一个饼图来测试流量是否按 50%、25%、25% 分布,但情况似乎并非如此。

enter image description here

正如您从所附图片中看到的那样,它没有预期的分布。 所以,我的问题是:

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

或者是 Google Analytics 无法正确跟踪 utm_content 参数?会不会是重定向到商店的速度太快导致 GA 无法跟踪页面浏览量的问题?

编辑:这是饼图设置:

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

enter image description here

最佳答案

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

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

之前:

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

之后:

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

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

关于javascript - 使用 javascript 对着陆页进行 A/B 测试,Math.random() 不是随机的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31914410/

相关文章:

javascript - 在 typescript 中扩展数组原语(angular-cli 项目)

javascript - 允许 javascript 在带有任意数字的 div 上运行

java - 通过排序对分组列表进行打乱,使得同一组的元素不会在java中一个接一个地出现

google-analytics - _trackEvent 算作页面浏览量吗?

javascript - 我是否需要为多个操作创建多个函数,或者它们都可以放在同一个函数中吗?

javascript - VM1052 :19 Error: (SystemJS) TypeScript transpilation failed

javascript - 如何让 Google Tag Manager 事件跟踪发送到 Google Analytics?

google-apps-script - 如何使用 Google Apps 脚本从 Google Analytics Management API 请求非抽样报告?

javascript - Webpack 不产生缩小的输出

PHP/CSS 随机背景