A/B-тесты на
статическом сайте
Как проверять гипотезы без Optimizely и Google Optimize — на чистом JavaScript и своей аналитике.
Как проверять гипотезы без Optimizely и Google Optimize — на чистом JavaScript и своей аналитике.
Не всегда нужен Optimizely за деньги
Готовые платформы для A/B-тестов удобны, но стоят денег и добавляют внешний скрипт, который замедляет загрузку страницы. Для простой гипотезы — например, другой текст на кнопке или другой порядок блоков — вся логика умещается в десяток строк своего JavaScript.
Плюс: полный контроль над данными и никакой зависимости от стороннего сервиса, который может измениться или подорожать.
Три шага: назначить, показать, посчитать
Та же логика, что и с тёмной темой
Если назначать вариант скриптом, подключённым обычным способом, пользователь на мгновение увидит вариант по умолчанию, а затем — переключение на назначенный. Решение то же, что и для anti-FOUC при тёмной теме: синхронный скрипт в начале <head>.
<!-- в начале <head>, до CSS -->
<script>
(function(){
var v = localStorage.getItem('ab_variant');
if (!v) {
v = Math.random() < 0.5 ? 'a' : 'b';
localStorage.setItem('ab_variant', v);
}
document.documentElement.setAttribute('data-variant', v);
})();
</script>Конверсия по варианту, а не общая цифра
В таблицу событий (см. статью про аналитику воронки) добавляется поле variant. Дальше — простой SQL-запрос: сколько уникальных сессий с вариантом A дошло до цели, и сколько — с вариантом B. Сравниваем проценты конверсии между группами.
Важно: не останавливайте тест раньше времени, увидев ранний перевес одного варианта — на маленьких выборках случайные колебания могут выглядеть как значимая разница, которой на самом деле нет.
Короткие ответы на главное
Зависит от текущей конверсии и ожидаемого эффекта, но обычно нужно минимум несколько сотен конверсий на каждый вариант, чтобы результат был статистически значим.
Если назначать вариант синхронно в начале <head>, как и с тёмной темой, мигания не будет — вариант применяется до первой отрисовки.
Да, но с каждым добавленным вариантом нужно больше трафика для статистической значимости — для небольшого сайта обычно достаточно A/B, не A/B/C/D.
Настроим A/B-тест и подсчёт результатов под вашу конкретную задачу.