Пример A/B тестирования через наследование страниц

В рассмотренном примере A/B тестирования есть существенный недостаток: в том случае, если для каждого A/B варианта меняются сразу несколько атрибутов и вариантов больше двух, в сборке приходится зарегистрировать сразу несколько вариантов одних и тех же атрибутов. Это неудобно.

Реализовать варианты A/B тестирования можно через наследование страниц. Для любого из A/B вариантов создается базовая страница, страницы для других вариантов наследуются от базовой.

../../../../../_images/screen13.png

Структура наследования страниц для A/B/C тестирования

Продемонстрируем этот пример более подробно.

Создание базовой страницы

Разметка базовой страницы:

<html>
<body>

  <h2>${asm('title')}</h2>

  <img src="$!{((Image) asm('image1')).link}"></img>
  <br><br>
  <img src="$!{((Image) asm('image2')).link}"></img>

</body>
</html>
../../../../../_images/screen2.png

Структура базовой страницы в режиме редактирования

Создание дочерних страниц

Создадим две страницы для вариантов B и C и в качестве родительской страницы укажем базовую для варианта A.

  • Правой кнопкой мыши Создать:
../../../../../_images/screen31.png
  • Запускаем диалог выбора шаблона страницы:
../../../../../_images/screen41.png
  • Выбираем вкладку Структура и родительскую страницу (A) foo.example.com:
../../../../../_images/screen51.png
  • Меняем в дочерней странице контент в соответствии с вариантом B. Заголовок title и два изображения.

Аналогично поступаем с вариантом С.

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

Настройка MTT правил для страниц

Пусть требуется равновероятно распределить переходы между страницами A, B, C. Тогда конфигурация правил роутинга может быть такой:

../../../../../_images/screen81.png

Пример равновероятного распределения трафика между вариантами страниц A, B, C