Вступление
Когда мы в проекте запускали AB тестирование, то посмотрели ряд решений чтобы понять подходят они для нас или нет. В итоге ни одно решение нас полностью не устроило и мы в ручном режиме с минимальным кодированием сделали маленькую библиотеку.
Однако готовые решения и заслуживающие внимание есть, в этой заметке я хочу их описать.
Optimizely
Очень понравилось решение app.optimizely.com, правда у них не совсем внятная ценовая политика. Но все настраивается в интерфейсе мышкой и кнопками, есть интеграция с Google Analytics и код будет передавать туда соответствующий эксперименту Custom Dimension.
Пока не удалось найти связь между client side и server side т.к. иногда эксперимент должен начинаться на серверной стороне, но поведение пользователей интересно отслеживать именно по Google Analytics. Однако для server side есть готовые библиотеки через которые можно посылать информацию о срабатывании события.
Отдельно web и отдельно php создать можно, а вот связь между ними я пока не нашел. Впрочем то, что сделано для web сделано достаточно интересно. Т.е. перед нами просто настоящий конструктор экспериментов в котором задается название, задаются вариации, указывается на каких страницах и какие целевые метрики должны по эксперименту собираться.
Так же через конструктор можно вносить изменения на страницу. Можно добавлять куски html, менять текущие или просто выполнять произвольный JavaScript код.
Пример
Я для теста сделал простую страницу:
И с помощью скрипта в настройках вариации “B” навесил анимацию на знак вопроса и на восклицательный знак на целевой странице:
$(function() {
console.log(‘onload’);
$(‘i.fa’).addClass(‘faa-tada faa-slow animated’);
});
console.log(‘animated’);
В качестве целевой метрики указал переходы на страницу Goal.
## С чем нужно разобраться:
Есть несколько вещей с которыми я пока не разобрался:
- Не нашел связи server side и client side т.к. некоторые эксперименты требуют поддержки на стороне сервера
- Не до конца разобрался как связать Google Analytics и можно ли оттуда брать показатели чтобы считать эксперимент завершенным или нет
AB Tasty
Как-то меня сразу оттолкнула цена этого решения www.abtasty.com, поэтому я только подписался на рассылку и ничего детально изучать не стал.
Flagr
См. статью на engineering.checkr.com.