【问题标题】:Using javascript to A/B test landing pages, Math.random() not random?使用 javascript 对登陆页面进行 A/B 测试,Math.random() 不是随机的?
【发布时间】:2015-11-02 01:31:39
【问题描述】:

我有一个在多个网站上运行的 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%,但似乎并非如此。

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

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

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

编辑:这是饼图设置:

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

【问题讨论】:

  • 更有可能是饼图没有计算您希望它计算的内容(是否包括初始登录页面?来自其他来源的流量?)
  • @hindmost 是的,我实际上认为是 GA 导致了问题。 Juhana:在我的编辑中查看饼图设置。
  • @Paul 是的,我已经读过了。我知道这些数字有可能不完全是 50/25/25,但在我的情况下,饼图更像是 25/34/41,奇怪的是它的“nolanding”是预期的拥有 50% 的流量有不到 25%...

标签: javascript random google-analytics


【解决方案1】:

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

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

之前:

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

之后:

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

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

【讨论】:

    猜你喜欢
    • 2012-12-22
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多