A/B тестирование своими силами простой php-код

До недавнего времени я пренебрежительно относился к A/B-тестированию, если быть более точным, вообще редко читал статьи на эту тему. A/B-тестирование казалось мне сложной наукой, которую используют только крупные компании и в дебри которой мне лезть не стоит.

Вернулся я к этой теме после переезда на новый движок, что повлекло за собой частичную смену дизайна. Для начала спросил дизайнера что лучше доработать на сайте, что изменить, что убрать, что добавить. Он ответил вопросом: «А ты A/B-тестирование проводишь? Эта та вещь, которую должен проводить любой интернет-магазин!»

Пришлось покопаться в этой тематике, тем более мне давно не нравились некоторые блоки сайта, а как сделать лучше я не знал. Можно, конечно, ткнуть пальцем в небо и сделать как-то так, или эдак. Но какова вероятность того что это улучшит юзабилити? Мое мнение далеко не объективно.  И даже мнение 2-х, 3-х или 10-ти знакомых не даст объективной оценки. Самое объективное мнение может оставить только незаинтересованный посетитель и A/B-тестирование как раз помогает нам узнать это мнение, как оказалось, незамысловатым способом.

Что же такое А/В тестирование?

A/B тестирование — маркетинговый инструмент, позволяющий определить предпочтения целевой аудитории к тем или иным изменениям на сайте. Посетители сайта делятся на две или более равные группы, каждой группе показывается различный контент. Как правило, изменяемый контент призывает к совершению какого-либо полезного действия (конверсии). Количество конверсий в каждой группе фиксируется и по истечении времени определяется лучший результат.

Схематично это выглядит так как на рисунке ниже:

Как работает A/B тест
Как работает A/B тест

При помощи скрипта посетители делятся на 2 равные группы, первой группе показывается серая кнопка, второй — синяя. Конверсией в данном случае является заказ звонка с сайта. Все заказы фиксируются, и через определенное время, анализируется полученный результат.

Не скрою, на пути к этой статье мне пришлось перелопатить массу информации. Есть множество различных сервисов, которые позволяют проводить A/B-тестирование. Первый, который мне попался — сервис от Гугл Аналитикс Эксперименты. Но, как я не пытался «эксперементировать», у меня ничего с этими экспериментами не получилось. В поиске других методов, попадали еще различные сервисы, позволяющие делать тестирование, но все равно я не нашел того что мне нужно. А нужно то мне совсем немного.

Меня не устраивали кнопки на сайте, какими-то они мне казались бледноватыми. И решил я их чуть-чуть переделать (предложенный выше рисунок — скриншот моего анализа). Но улучит ли это ситуацию может сказать только A/B-тест.

И наконец-то я нашел то что искал — это способ от Александра Лозюка. Нет, я не стал пользоваться полностью его сервисом, так как мне пока необходимо менять только отдельные элементы страницы. Тем не менее, идею кода я перенял именно у него.

Идея вот в чем. С помощью простого php-кода, который мы вставляем перед тестируемыми элементами (далее речь пойдет о кнопках, поэтому этими элементами будут Кнопки), мы показываем посетителям различные варианты кнопок, также, на кнопки мы «вешаем» определенные события для Гугл Аналитикс, чтобы в дальнейшем отследить на какие кнопки было больше нажатий.

Предположим, html код исходной Ккнопки имеет следующий вид:

<button class="but">Кнопка1</button>

мы хотим показывать посетителям поочередно другой вариант кнопки:

<button class="but2">Кнопка2</button>

Тогда перед кнопками мы вставляем следующий php-код:

<?php

$TestCookie = "ABTest";
if (isset($_COOKIE[$TestCookie]))
{
if ($_COOKIE[$TestCookie] == "A") $ValueTest = "A"; else $ValueTest = "B";
}
else
{
$rand = rand(1,1000);
if ($rand < 500) $ValueTest = "A"; else $ValueTest = "B";
setcookie($TestCookie, $ValueTest ,time()+86400);
}

?>

а вместо кнопок, следующий

<?php

if ($ValueTest == "A") echo("<button class='but1' onclick='ga('send','event','Нажатие кнопки','Кнопка1')'>Кнопка</button>"); else echo("<button class='but2' onclick='ga('send','event','Нажатие кнопки','Кнопка2')'>Кнопка</button>");

?>

Обратите внимание на события onclick, которые мы вставили в тело тега button. В дальнейшем, благодаря отслеживанию данных событий мы сможем анализировать количество нажатий на Кнопки в Google Analitics. Как настроить отслеживание читайте в статье: Отслеживание событий в Google Analitics.

Вот и все! Данным методом Вы можете анализировать любые элементы на странице, будь то кнопка, таблица, какая-либо ссылка или вообще две страницы с различными элементами.

Движок моего интернет магазин поддерживает smarty теги, поэтому код у меня выглядит чуть иначе, но суть и результат от этого не меняется.

Результаты A/B теста который я проводил с кнопами можно будет корректно проанализировать не меньше чем через пару недель,  о чем я обязательно напишу. А пока могу сказать, что прошло всего 2 дня, а конверсии Кнопок2 уже больше чем конверсий Кнопок1, т.е. уже можно говорить о небольшом положительном результате.

Результаты теста в данной статье: Результаты A/B-тестирования.

Надеюсь, у вас также все получилось! Если нет, пишите, буду рад помочь.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *