A / B锁定源代码环境的测试解决方案 - 服务器端决定哪个用户获取哪个变体

时间:2011-11-03 08:26:29

标签: google-website-optimizer ab-testing optimizely

我以前使用过Google网站优化工具等工具来运行多变量或A / B测试。但是现在我正在寻找一个解决方案,适用于更大的站点(每月400-500 000个独立访问者),并且具有非常锁定的源代码环境。基本上是:

  1. 该网站在多台服务器上均衡
  2. 要在任何这些服务器上发布的所有代码都必须通过版本控制,单元测试和接受测试。所有版本必须由develop,sys-admin和test executive签名。
  3. 这意味着我不被允许/很难通过Google网站优化工具或任何其他GUI-paste-your-new-variation-here类型的解决方案添加“新代码”(即使已经过测试和验证)

    然而,我们可以在服务器端决定哪些用户获得哪种变体。基本上我们可以在服务器的X上推送新版本,使10-30%的用户在整个会话中查看它。问题是:我们使用哪些工具来衡量“成功”(即提高转换率)。到目前为止我的想法是:

    1. 使用会话变量在Google Analytics中标记新版本(然后根据细分制作报告)(类似于http://searchengineland.com/how-to-analyze-ab-tests-using-google-analytics-67404上所述)

    2. 使用具有API支持的Optimizely:

      window.optimizely = window.optimizely || [];
      window.optimizely.push(['bucketUser', EXPERIMENT_ID, VARIATION_ID])
      
    3. 您为锁定环境尝试了哪些解决方案?我错过了一些明显的解决方案吗?

      该网站位于IIS上的.NET / Episerver中。

      此致 尼古拉斯

3 个答案:

答案 0 :(得分:0)

您可以使用EPiServer CMO内置的AB测试功能。

答案 1 :(得分:0)

我们最终使用Google Analytics并添加了一个会话变量,例如“abtest”,其值为“variation-4”,并在某些节点上发布。它工作得相当好,有一些限制,即谷歌分析漏斗没有分部支持。

答案 2 :(得分:0)

我们做了类似的事情,但我们发现Google Analytics(分析)文档令人困惑。最后,以下代码(由服务器编写)为我们完成了工作:

<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
gtag('config', 'UA-xxxx-xxxx', {
  'custom_map': {'dimension1': 'abTestDesign'}
});

gtag('event', 'abTestDesign_dimension', {'abTestDesign': 0, 'non_interaction': true});
</script>

此代码是由服务器生成的,最后的JS行是其中的其中一个

gtag('event', 'abTestDesign_dimension', {'abTestDesign': 1, 'non_interaction': true});

在Numbeo.com上似乎运行得很好