Эксперименты на стороне сервера

В стандартной реализации экспериментов Google Оптимизации браузер выполняет код JavaScript на веб-странице и определяет вариант для показа. Эти эксперименты легко реализовать, но они позволяют вносить изменения только на стороне клиента (например, изменять стиль или положение элемента на обработанной странице).

В экспериментах на стороне сервера ваш код должен выполнять все задачи, которые Оптимизация решает в клиентских экспериментах. Например, ваш код будет обеспечивать таргетинг на аудитории и каждый раз вызывать показ того варианта, который подходит для конкретного пользователя. Интерфейс Оптимизации используется только для того, чтобы создавать эксперименты и варианты, задавать цели и просматривать отчеты.

В этой статье рассказывается, как с помощью Оптимизации получать отчеты по экспериментам, которые выполняются на вашем сервере или другом подключенном к Интернету устройстве.

При выполнении экспериментов на стороне сервера с помощью этого метода вы будете контролировать:

  • показ контента;
  • включение экспериментов;
  • распределение вариантов;
  • сохранение вариантов для пользователей;
  • отправку данных о пользовательских обращениях (например, о просмотрах страницы) для вариантов в Google Аналитику.

Чтобы запустить эксперимент на стороне сервера с несколькими вариантами веб-страницы, выполните следующие действия:

  1. Создайте эксперимент в Оптимизации.
  2. Задайте цели эксперимента.
  3. Задайте таргетинг эксперимента.
  4. Создайте варианты.
  5. Запустите эксперимент.
  6. Получите идентификатор эксперимента.

Во время выполнения эксперимента:

  1. Задайте идентификатор эксперимента и выберите вариант с сервера
  2. Добавьте код отслеживания Google Аналитики для каждого варианта

Как создать эксперимент в Оптимизации

С помощью этого метода можно создать и запустить A/B-тестирование или многовариантное тестирование.

Чтобы создать A/B-тестирование, выполните следующие действия:

  1. Откройте аккаунт Оптимизации.
  2. Выберите контейнер.
  3. Нажмите кнопку СОЗДАТЬ ЭКСПЕРИМЕНТ.
  4. Введите название эксперимента.
  5. Поле URL здесь не учитывается (введите не существующий на вашем сайте URL).
  6. Выберите Тест A/B.
  7. Нажмите СОЗДАТЬ.

Как задать цели эксперимента

Эти цели будут использоваться для оценки результатов теста.

  1. На странице эксперимента нажмите ЦЕЛИ в разделе Конфигурация.
  2. Выберите основную цель из раскрывающегося списка.
  3. Нажмите СОХРАНИТЬ.

Как задать таргетинг эксперимента

Таргетинг эксперимента обрабатывается вашим кодом на стороне сервера, поэтому Оптимизация не использует указанную здесь информацию. Однако необходимо настроить правило для URL.

  1. На странице эксперимента нажмите ТАРГЕТИНГ в разделе Конфигурация.
  2. Нажмите СОЗДАТЬ ПРАВИЛО.
  3. Нажмите URL.
  4. Выберите тип соответствия равно и введите значение SERVER_SIDE. Не используйте URL или строку, которая начинается с "http" или "https", потому что если на вашем сайте используется Оптимизация, то этот эксперимент на стороне сервера никогда не будет запускаться.

    значение целевого URL

  5. Нажмите ДОБАВИТЬ.
  6. Нажмите СОХРАНИТЬ.

Как создать варианты

Чтобы создать варианты, выполните следующие действия:

  1. На странице экспериментов нажмите НОВЫЙ ВАРИАНТ в разделе Варианты.
  2. Укажите название варианта (например, Вариант 1).
  3. Нажмите ДОБАВИТЬ.
  4. Нажмите СОХРАНИТЬ.

Как запустить эксперимент

На странице эксперимента нажмите ЗАПУСТИТЬ ЭКСПЕРИМЕНТ.

запуск эксперимента

Как найти идентификатор эксперимента

Идентификатор эксперимента указывается на панели справа на странице с подробной информацией об эксперименте:

идентификатор эксперимента

Как реализовать эксперимент

К эксперименту привязан идентификатор, а также два или более вариантов, включая исходный. У каждого варианта есть свой идентификатор, который представляет собой порядковый номер, начиная с 0. Например, если имеется 6 вариантов веб-страницы, их идентификаторы будут совпадать с порядком расположения вариантов в пользовательском интерфейсе, при этом идентификатором исходного варианта будет 0.

Как задать идентификатор эксперимента и выбрать вариант с сервера

Если эксперимент выполняется на веб-странице, то при ее открытии сервер возвращает браузеру один вариант. Чтобы пользователю было удобно работать, рекомендуем показывать ему один и тот же вариант, задействуя, например, алгоритм хеширования идентификатора. Кроме того, если для одного и того же эксперимента одному пользователю в одном сеансе показываются несколько разных вариантов, этот сеанс не будет учитываться в эксперименте. Например, следующий код выбирает вариант для эксперимента с тремя вариантами:

<?php
// Sets the ID of the experiment on variations of this web page.
$experimentId = '16iQisXuS1qwXDixwB-EWgQ';

// Randomly picks a variation for the user.
$variationId = rand(0, 2);
?>

Как добавить код отслеживания Google Analytics для вариантов

Для каждого варианта добавьте код отслеживания Google Analytics:

  1. Загрузите библиотеку analytics.js.
  2. Создайте счетчик.
  3. Задайте идентификаторы эксперимента и варианта.
  4. Отправьте хотя бы одно обращение ("pageview" и т. п.) в Google Analytics.

Пример:

<html>
<head>
<script>
  // 1. Load the analytics.js library.
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  // 2. Create a tracker.
  ga('create', 'UA-XXXXX-Y', 'auto');

<?php
<<<HTML
  // 3. Set the experiment ID and variation ID.
  ga('set', 'exp', '$experimentId.$variationId');
HTML;
?>
  // 4. Send a pageview hit to Google Analytics.
  ga('send', 'pageview');
</script>
</head>
<body>
<!-- Content -->
</body>
</html>

Как добавить в отчет обращения многовариантного тестирования

Многовариантное тестирование позволяет проверить, как два или более элемента или раздела влияют друг на друга. В отличие от A/B-тестирования, который показывает наилучший вариант страницы, многовариантное тестирование определяет наиболее эффективную комбинацию вариантов. Например, эксперимент многовариантного тестирования может состоять из двух разделов: "Цвет" и "Шрифт". Раздел "Цвет" может иметь три варианта (красный, зеленый и синий), а раздел "Шрифт" – только два варианта (10pt и 12pt).

Ваш сервер должен выбрать вариант для каждого раздела и затем передать информацию в Google Аналитику. Процедура похожа на тест A/B, за исключением задания вариантов.

Чтобы добавить в отчет вариант для эксперимента MVT, используйте в качестве разделителей вариантов каждого раздела знак "-":

[variant for section 1]-[variant for section 2]-...-[variant for section N]

Вот три возможных варианта описанного выше многовариантного теста с разделами "Цвет" (с четырьмя вариантами: 0 = исходный, 1 = красный, 2 = зеленый, 3 = синий) и "Шрифт" (с тремя вариантами: 0 = исходный, 1 = 10pt, 2 = 12pt):

  • "0-0" обозначает исходные значения цвета и шрифта;
  • "1-0" обозначает красный цвет и исходный шрифт;
  • "2-1" обозначает зеленый цвет и шрифт 10pt.

Например, следующий код выбирает для эксперимента вариант "0-0" (исходный цвет и шрифт).

ga('set', 'exp', '$experimentId.0-0');