Оптимизируем липкий сеанс
Я только что попробовал Optimizely. Проблема в том, что он покажет пользователю различные варианты. Иногда мы не ожидаем такого поведения. Например, если я изменю цвет на красный с синего, Optimizely будет случайным образом выбирать между оригинальным (синим) и вариацией (красным) для того же пользователя, который не согласуется. Как я могу сделать Optimizely, чтобы всегда показывать один и тот же вариант пользователю?
3 ответа
Поместите следующий код в свой экспериментальный JavaScript:
setCookie = function (c_name,value,exdays) {
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var expires = exdate.toUTCString();
var isIE8 = (document.documentMode !== undefined);
if (exdays == 0) {
expires = (isIE8 == true) ? "" : "0";
}
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+expires);
document.cookie=c_name + "=" + c_value;
}
В каждом варианте (например, Blue Variant, Red Variant и т. Д.) Вызовите setCookie и проверьте, существует ли файл cookie для пользователя в этом конкретном варианте. Если файл cookie существует, запустите любой код, который вы хотите, чтобы этот конкретный вариант выполнялся. Ниже приведен пример установки файла cookie с именем tester, срок действия которого истекает через 30 дней.
setCookie('tester',true,30);
if(document.cookie.indexOf('tester')>-1){
//RUN YOUR CODE HERE IF THIS VISITOR HAS THIS COOKIE
}
Привет, я инженер в Optimizely,
Вы также можете попробовать продукт Fullstack, который больше ориентирован на разработчиков. При этом вы получаете SDK, который вы устанавливаете вместе с вашим пакетом, и реализуете логику тестирования с помощью кода.
Пример:
npm install optimizely-client-sdk
const optimizely = require('optimizely-client-sdk');
const optimizelyClient = optimizely.createInstance({
datafile: {} // this is your experiment config which you get from the Optimizely UI
});
const variation = optimizelyClient.activate('color_experiment', 'user_1');
if (variation === 'blue') {
// do something for blue
} else if (variation === 'red') {
// do something for red
} else {
// default case
}
И до тех пор, пока вы проходите в том же самом user_id
в качестве второго аргумента activate
Вы гарантированно всегда получите один и тот же вариант для этого пользователя.
Для получения дополнительной информации или подробностей о начале работы, пожалуйста, посмотрите на: https://developers.optimizely.com/x/solutions/sdks/getting-started/index.html?language=javascript
Также имейте в виду, что Optimizely блокируется рекламными блокировщиками, это может произойти, если пользователь включит свой рекламный блокировщик после того, как они попадут на страницу, и проведет эксперимент, чтобы увидеть - они получат оригинальную версию.