Внутренняя кухня SEO: как починить А/В-тестирование в Google Analytics с помощью Google Tag Manager. Кейс UniSender
В первом посте из серии
Пока мы готовим новый пост с подробным описанием всех текущих процессов, хотим рассказать об интересном моменте в продвижении — проблеме с передачей данных об экспериментах в Google Analytics.
A/B-тестирование в Google Analytics позволяет проверить гипотезы по улучшению страниц и вносить изменения, основываясь на проверенных данных и достаточной выборке посетителей. При тестировании интерфейса пользователи в одно и то же время видят разные варианты страниц или отдельных элементов страницы. Эксперимент настраивается с указанием цели — это может быть длительность сессии, покупка, регистрация — что угодно. После определенного периода, когда Google Analytics соберет достаточно данных, система автоматически вычисляет победителя.
Читайте статью по теме: «
Как анализировать данные об эксперименте?
Клиент настроил эксперимент по тестированию двух вариантов главной страницы сайта. Настройка была правильной — код эксперимента размещен на нужной странице, параметры эксперимента заданы в соответствии с рекомендациями Google Analytics, но данные в эксперимент не передавались и отчет был практически пустым.
Количество посещений, которые принимали участие в эксперименте
На сайте UniSender настроены языковые версии, которые посетители видят в зависимости от региона проживания. Языковая версия добавляется в URL-адрес страниц (/en/, /ru/, /ua/ и так далее). В настройках эксперимента URL-адрес тестовой страницы указан на одной из этих языковых версий.
Мы предположили, что проблема в переадресации пользователей на другие языковые версии страниц, но при проверке эксперимент отрабатывал на сайте: второй (тестовый) вариант посадочной страницы показывался пользователям из разных регионов и просмотры тестовой страницы фиксировались в Google Analytics.
Просмотры тестовой страницы на разных языковых версиях
Известно, что на сайте данные собираются одновременно в несколько ресурсов Google Analytics. Но данные об эксперименте не уходили в то представление GA, где был настроен эксперимент.
Чтобы этого избежать, необходимо принудительно отправить данные об эксперименте именно в тот ресурс Google Analytics, где был настроен эксперимент.
Настройка передачи данных об эксперименте
Для настройки нам нужны всего два показателя — вариант эксперимента, который показан пользователю, и ID эксперимента.
Как передать ID эксперимента?
Для передачи данных об ID эксперимента копируем его значение в настройках эксперимента в Google Analytics.
Потом в Google Tag Manager создаем переменную и записываем в нее значение ID из настроек А/В-тестирования.
Переменная в Google Tag Manager
Статья по теме:
Как задается значение варианта эксперимента?
Вариант эксперимента можно получить из cookie. Он может принимать такие значения:
- 0 — вариант исходной страницы;
- 1 — первый вариант тестовой страницы;
- 2 — второй тестовый вариант (и так далее).
Как расшифровать cookie с данными об эксперименте?
Данные об эксперименте записываются в cookie «__utmx».
Пример формата «__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».
При проверке видно, что эта строка:
document.cookie.match(/__utmx=[0-9a-zA-Z.-:$s]*/g)[0]
а также переменная «DLV - Cookie __utmx» имеют одинаковые значения:
Используем переменную Google Tag Manager в коде переменной «DLV - exp_result».
О соответствии типов данных в Google Tag Manager
Если пользователь не участвует в эксперименте, значение переменной должно быть «undefined». Тег вида «Собственный код JavaScript» вместо «undefined» передает пустую строку.
Чтобы получить тип данных «undefined», задаем таблицу поиска в Google Tag Manager.
Таблица поиска в Google Tag Manager.
Передача значений переменных в Google Analytics
Настраиваем отправку значений переменных в соответствующих полях Google Analytics в теге просмотра страницы в GTM:
Как правильно настроить тег
Проверяем в отладчике GTM подробные данные тега просмотра страниц.
Или делаем это с помощью консоли разработчика Google Chrome или другого браузера.
И публикуем изменения.
Через какое-то время в интерфейсе Google Analytics начинают отображаться первые собранные данные об эксперименте.
Вывод
Для настройки эксперимента в первую очередь необходимо определить, в чем именно проблема, — эксперимент не работает, или же он работает, но данные не передаются в Google Analytics. В зависимости от ответа становится ясно, в какую сторону смотреть и что «чинить».
В нашем случае нужно было настроить передачу данных. Для этого мы:
- Извлекли данные, которые необходимы для работы отчета Google Analytics об экспериментах, — ID эксперимента и идентификатор варианта, который показан пользователю.
- Настроили отправку этих данных в теге просмотра страниц Google Tag Manager.
На определение проблемы и ее решение ушло не более трех часов.
По теме
Email-маркетинг для интернет-магазина книг Book24 — рост дохода в два раза
Когда email-маркетинг становится точкой роста. Кейс интернет-магазина книг Book24.
Как получить рентабельность кампаний 400%, используя таргетированную рекламу в Facebook — кейс Secunda
Все дело в формате объявлений Instant Experience с подключенным каталогом товаров. Нет, не только в нем. Узнать больше!
Как работать с репутацией медицинского бренда в интернете — кейс Synevo
Как поступать с негативом и что делать, чтобы его было меньше/не было вовсе.
Свежее
Что такое robots.txt и зачем вообще нужен индексный файл
У каждого сайта в топе есть страница, о существовании которой знают только роботы и... SEO-специалисты. Это robots.txt или индексный файл.
Расширенное отслеживание конверсий Google Ads. Принцип работы и настройка
Расширенное отслеживание позволит точнее фиксировать конверсии и иметь больше данных для оптимизаций ваших кампаний. Читайте подробный мануал настройки через Google Tag Manager
Девять онлайн-сервисов для App Store Optimization и локализации приложений в Азии
Обзор сервисов, которые помогут решить вопрос языкового барьера и эффективно продвигать приложения в Азии