2013-06-26 2 views
13

내 웹 사이트에서 실험을 실행할 때 현재 방문자가 보는 테스트 및 변형을 찾고 싶습니다. Optimizely Javascript API에서이 작업을 수행하는 방법을 찾을 수 없습니다.방문자의 Optimizely A/B 테스트 및 변형 가져 오기

첫 번째 실행중인 실험의 ID를 얻을 수
+1

데이터 객체를 참조하는 API 문서 섹션을 확인 했습니까? 당신은 현재 당신이 optimiedely.variationIdsMap 및 optimizely.variationNamesMap – jamis0n

답변

20

다음 변화 지수 (당신이 하나를 가지고 가정), 및 (예를 들면, 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]; 
+0

과 쿠키를 만들 수있는 변이를 볼 수 있습니다 ** 실제 ** 실험 ID를 얻을 수있는 방법이 있습니까? ** 실제 ** 액세스를 시도하는 코드가 포함 된 실험을 의미합니다. –

5

확장하려면 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; 
} 
+0

** 실제 ** 실험 ID를 가져올 수있는 방법이 있습니까? ** 실제 ** 액세스를 시도하는 코드가 포함 된 실험을 의미합니다. –

+0

@SilverRingvee 질문을 확대 할 수 있습니까? 아마도 예제를 제공 할 수 있습니다. 도와주고 싶지만, 네가 무엇을 얻으려고하는지 정확히 모르겠다. –

+0

예를 들어 실험 자바 스크립트에서 실험 ID에 액세스하려고 시도합니다. 따라서 동일한 함수는 해당 함수가 포함 된 각 실험마다 서로 다른 ID를 반환합니다. 유사 JS에서도 똑같이 작동해야합니다. 나는 지금 자신을 더 잘 설명하고 나를 도울 수 있기를 바랍니다. –

관련 문제