13

Web サイトで実験を実行するとき、現在の訪問者がどのテストとバリエーションを見ているかを調べられるようにしたいと考えています。Optimizely Javascript APIからこれを行う方法が見つかりません。

4

2 に答える 2

20

You can get the ID of the first running experiment (assuming you have one), and then the variation index (e.g., 0, 1, 2), name, and 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];
于 2013-09-24T14:00:55.417 に答える
6

ケビン・ボーダーズの答えを拡張します。1 つのページで複数の実験を実行している可能性があります。以下のコード スニペットは、アクティブなバリエーション 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;
}
于 2015-07-30T18:30:37.887 に答える