С появлением Universal Analytics появилась возможность настраивать собственные переменные на уровне сессии или пользователя. Для аналитиков это означает, что выгрузка по данным пользователя будет всегда актуальной после обработки данных в Google Analytics.
Логику этих переменных объяснять непросто, поэтому возникла идея описать применение и основные ошибки в блоге.
На уровень пользователя можно передавать переменные:
1. UserId - уникальный ID пользователя из вашей базы. Передаём в переменную каждый раз, когда человек авторизуется - самостоятельно или автоматическая авторизация.
2. UserOrders - количество заказов пользователя. Передаём из базы последнее актуальное количество.
3. UserStage - классификация клиента по вашей логике: новичок, постоянный клиент, перекупщик.
На уровень сессии можно передавать переменные:
1. ClientID для идентификации пользователя как видит его Google Analytics.
2. UserAuth - признак залогиненности пользователя.
3. AB_test - признак распределения A/B теста.
Как только переменная получает своё значение, она должна наполнится данными. К примеру, пользователь проходит процедуру авторизации и ему присваивается UserID из базы данных. По логике Google Analytics в рамках текущей сессии взаимодействиям пользователя присвоится UserID. Если UserID был добавлен в события правильно, начиная с этого момента все взаимодействия будут уходить с признаком пользователя. Данные со страниц станут доступны в хитах только после перезагрузки страницы.
Ошибки внедрения
1. Переменные передаются не на всех страницах, как следствие - в аналитику переменные уходят не со всеми действиями, а лишь с частью.
2. "Нулевые" значения в переменных. Пользовательские переменные не терпят значений вроде none, " ", 'нет' и '' . Любое значение затирает предыдущие и назначается актуальным для данного пользователя. Для одностраничных сайтов и приложений значение может быть затерто на нулевое.
Получаем:
(не путать с UserID: 'null')
3. Присвоено значение по умолчанию для переменной уровня пользователя или сессии (в общем случае). Галочку необходимо оставить пустой.
Проверка внедрения
Правильность передачи можно одну и ту же переменную передаём в 2 разных слота пользовательских переменных. В интерфейсе Google Analytics выбираем для первой переменной уровень session или user, а для тестовой переменной - уровень hit. При сравнении переменных, когда переменные разных уровней не совпадают, может скрываться ошибка. Выгрузку необходимо делать в разрезе конкретного Client ID и сформировать сегмент, когда переменная уровня hit принимает одно значение, а user - другое.
Настройка передачи данных
Для правильной настройки переменных нужно понимать какими переменными пользуется Google Analytics. Разберём настройку самой популярной переменной. UserID .
1. Для переменной необходимо создать Слот в пользовательских переменных в интерфейсе GA и GTM.
2. На основе переменной UserID Google Analytics формирует специальное представление, поэтому в интерфейсе GTM мы передаём её в Fields to set в
специальном синтаксисе. Для остальных пользовательских переменных (clientID, UserOrders) добавляем только в Custom Dimensions.
3. Создаём специальное представление в Google Analytics, в котором будут собраны данные только по пользователям с UserID.
4. Collect you data!