Блог про интернет-маркетинг для бизнеса

Кейсы

Внутренняя кухня SEO: как починить А/В-тестирование в Google Analytics с помощью Google Tag Manager. Кейс Unisender

22
0
1
0

В первом посте из серии «Внутренняя кухня SEO: кейс Unisender» мы запустили новый формат для блога — реалити-шоу. Это интересно, во-первых, потому что Unisender — активно развивающийся SaaS-продукт, а именно такие проекты мы считаем наиболее полезными для развития рынка. Во-вторых, продвижение крупных SaaS-продуктов — наш конек.

Пока мы готовим новый пост с подробным описанием всех текущих процессов, хотим рассказать об интересном моменте в продвижении — проблеме с передачей данных об экспериментах в Google Analytics.

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

Читайте статью по теме: «Как провести A/B-тест сайта: инструменты и популярные гипотезы».

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

Клиент настроил эксперимент по тестированию двух вариантов главной страницы сайта. Настройка была правильной — код эксперимента размещен на нужной странице, параметры эксперимента заданы в соответствии с рекомендациями Google Analytics, но данные в эксперимент не передавались и отчет был практически пустым.

Количество посещений, которые принимали участие в эксперименте.

Количество посещений, которые принимали участие в эксперименте

На сайте Unisender настроены языковые версии, которые посетители видят в зависимости от региона проживания. Языковая версия добавляется в URL-адрес страниц (/en/, /ru/, /ua/ и так далее). В настройках эксперимента URL-адрес тестовой страницы указан на одной из этих языковых версий.

Мы предположили, что проблема в переадресации пользователей на другие языковые версии страниц, но при проверке эксперимент отрабатывал на сайте: второй (тестовый) вариант посадочной страницы показывался пользователям из разных регионов и просмотры тестовой страницы фиксировались в Google Analytics.

Просмотры тестовой страницы на разных языковых версиях.

Просмотры тестовой страницы на разных языковых версиях

Известно, что на сайте данные собираются одновременно в несколько ресурсов Google Analytics. Но данные об эксперименте не уходили в то представление GA, где был настроен эксперимент.

Чтобы этого избежать, необходимо принудительно отправить данные об эксперименте именно в тот ресурс Google Analytics, где был настроен эксперимент.

Настройка передачи данных об эксперименте

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

Как передать ID эксперимента?

Для передачи данных об ID эксперимента копируем его значение в настройках эксперимента в Google Analytics.

Как передать ID эксперимента в A/B-тестировании

Потом в Google Tag Manager создаем переменную и записываем в нее значение ID из настроек А/В-тестирования.

Переменная в Google Tag Manager.

Переменная в Google Tag Manager

Статья по теме: «Работа с Google Tag Manager v2 — что нового?»

Как задается значение варианта эксперимента?

Вариант эксперимента можно получить из cookie. Он может принимать такие значения:

  • 0 — вариант исходной страницы;
  • 1 — первый вариант тестовой страницы;
  • 2 — второй тестовый вариант (и так далее).

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

Данные об эксперименте записываются в cookie «__utmx».

Как расшифровать cookie с данными в А/В-тестах

Пример формата «__utmx» записи:

229180376.CUfIPWBWRNKhT90WNlC-lg$120048485-15:1

Шаблон:

[DOMAIN_HASH].[EXPERIMENT_ID]$[EXPERIMENT_KEY]:[VARIATION]

При запуске разных тестов бывает, что один и тот же пользователь принимает участие в эксперименте на вашем сайте второй или третий раз. В этом случае его cookie будут выглядеть так:

229180376.dLn68JbYSz-4toNkaAbDwQ$120048485-11:0.YrwrUbCcTr2UbZ-9j2s7jg$12004848 5-14:.CUfIPWBWRNKhT90WNlC-lg$120048485-15:0

Шаблон:

[DOMAIN_HASH].[EXPERIMENT_ID_1]$[EXPERIMENT_KEY_1]:[VARIATION_1].[EXPERIMENT_ID_2]$[EXPERIMENT_KEY_2]:[VARIATION_2].[EXPERIMENT_ID_3]$[EXPERIMENT_KEY_3]:[VARIATION_3]

Последним будет указан действующий эксперимент.

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

Получить номер варианта эксперимента из cookie можно так:

function () {
var exp_result = undefined;
var cookie_path=document.cookie.match(/__utmx=[0-9a-zA-Z\.\-:\$\s]*/g)[0];
if (cookie_path != null)
{
exp_result = cookie_path.charAt(cookie_path.length-1);
}
return(exp_result);
}

При работе с Google Tag Manager лучше использовать встроенные переменные — так как мы используем cookie, воспользуемся переменной c типом «Основной файл cookie».

Встроенная переменная c типом «Основной файл cookie»

При проверке видно, что эта строка:

document.cookie.match(/__utmx=[0-9a-zA-Z\.\-:\$\s]*/g)[0]

а также переменная «DLV - Cookie __utmx» имеют одинаковые значения:

Одинаковые значения переменных в А/В-тестах

Используем переменную Google Tag Manager в коде переменной «DLV - exp_result».

Переменная Google Tag Manager

О соответствии типов данных в Google Tag Manager

Если пользователь не участвует в эксперименте, значение переменной должно быть «undefined». Тег вида «Собственный код JavaScript» вместо «undefined» передает пустую строку.

Соответствие типов данных в Google Tag Manager

Чтобы получить тип данных «undefined», задаем таблицу поиска в Google Tag Manager.

Конфигурация переменной в GTM

Таблица поиска в Google Tag Manager.

Тип данных “undefined” в Google Tag Manager

Передача значений переменных в Google Analytics

Настраиваем отправку значений переменных в соответствующих полях Google Analytics в теге просмотра страницы в GTM:

Как правильно настроить теги в А/В-тестах

Как правильно настроить тег

Проверяем в отладчике GTM подробные данные тега просмотра страниц.

Проверка в отладчике GTM подробных данных тега просмотра страниц

Или делаем это с помощью консоли разработчика Google Chrome или другого браузера.

Проверка данных тега в консоли разработчика Google Chrome

И публикуем изменения.

Через какое-то время в интерфейсе Google Analytics начинают отображаться первые собранные данные об эксперименте.

Корректное отбражение данных A/B-тестирования

Вывод

Для настройки эксперимента в первую очередь необходимо определить, в чем именно проблема, — эксперимент не работает, или же он работает, но данные не передаются в Google Analytics. В зависимости от ответа становится ясно, в какую сторону смотреть и что «чинить».

В нашем случае нужно было настроить передачу данных. Для этого мы:

  1. Извлекли данные, которые необходимы для работы отчета Google Analytics об экспериментах, — ID эксперимента и идентификатор варианта, который показан пользователю.
  2. Настроили отправку этих данных в теге просмотра страниц Google Tag Manager.

На определение проблемы и ее решение ушло не более трех часов.

Комментарии (3)

  1. 0
    8 месяцев назад

    Моя любимая тема :) 

    1) "Настройка была правильной...но данные в эксперимент не передавались и отчет был практически пустым." - когнитивный диссонанс как он есть. Как же вы этого добились?
    2) Вижу что эксперимент сейчас работает, но в упор не вижу разницы между исходным вариантом и тестовым. Тут три варианта - я слепой, тестовый вариант отдает исходную страницу(О_о), вы что-то мутите)))

    3) Стоп, в это же время я вижу что на странице с utm присутствует код эксперимента, который должен выпиливаться.... точнее его там вообще не должно быть. Никак. Никогда. Вообще.

    Мораль - полученные в ходе эксперимента данные можно сжечь, ИМХО.

    • 0
      Vladimir Lenin
      8 месяцев назад

      Мой любимый комментатор:)


      1) В посте описано как именно - это был отдельный магический ритуал.

      2) Прокрутите вниз - первый экран исходной и тестовой страниц совпадают.

      3) На исходной странице должен быть код, на тестовой - нет. О чем коммент?

      • 0
        Марина Демьяненко
        8 месяцев назад

        1) Весьма забавно вышло, люблю такие таски.
        3) Мне отдает две страницы юнисендера с ютм эксперимента и без, и там и там установлен код эксперимента... 


        p.s. система комментарием угнетает.

Чтобы оставить комментарий, необходимо авторизироваться

Подписаться

на самую полезную рассылку по интернет-маркетингу

Самое

обсуждаемое популярное читаемое