获取访问者's优化A/B测试和变化

Get visitor's Optimizely A/B test and variation

本文关键字:测试 变化 优化 访问者 获取      更新时间:2023-09-26

当我在我的网站上运行一个实验时,我希望能够找出当前访问者看到的测试和变体。我在Optimizely Javascript API中找不到如何做到这一点。

您可以获得第一个正在运行的实验的ID(假设您有一个),然后是变异指数(例如,0、1、2)、名称和ID:

var experimentID = window['optimizely'].data.state.activeExperiments[0];
var variationIndex = window['optimizely'].data.state.variationMap[experimentID];
var variationName = window['optimizely'].data.state.variationNamesMap[experimentID];
var variationID = window['optimizely'].data.state.variationIdsMap[experimentID];

扩展Kevin Borders的答案。您可能在一个页面上运行多个实验。我在下面包含了一个代码片段,演示如何返回一个活动变体ID数组:

// Return a list of active Optimizely variation IDs
function activeVariations(){
  // Multiple variations may currently be active
  var activeVariations = [];
  // Get state settings from optimizely object
  var state = window['optimizely'].data.state;
  // For each of the active experiments:
  for (var i = state.activeExperiments.length - 1; i >= 0; i--) {
    // Current experiment ID
    var experimentID = state.activeExperiments[i];
    // Current corresponding variation ID
    var variationID = state.variationIdsMap[experimentID];
    // If we have an active variation, add it to our array
    if (variationID) { activeVariations.push(variationID[0]); }
  }
  // List of active variations
  return activeVariations;
}