获取访问者的优化A / B测试和变体

时间:2013-06-26 16:58:52

标签: javascript api optimizely

当我在我的网站上进行实验时,我希望能够找出当前访问者看到的测试和变体。我无法从Optimizely Javascript API找到如何执行此操作。

2 个答案:

答案 0 :(得分:20)

您可以获取第一个正在运行的实验的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];

答案 1 :(得分:6)

扩展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;
}