среда, 16 декабря 2015 г.

Установка UserID на сайте с помощью Google Analitycs


С появлением Universal Analytics появилась возможность настраивать собственные переменные на уровне сессии или пользователя. Для аналитиков это означает, что выгрузка по данным пользователя будет всегда актуальной после обработки данных в Google Analytics. 
Логику этих переменных объяснять непросто, поэтому возникла идея описать применение и основные ошибки в блоге. 

На уровень пользователя можно передавать переменные:
1. UserId - уникальный ID пользователя из вашей базы. Передаём в переменную каждый раз, когда человек авторизуется - самостоятельно или автоматическая авторизация.
2. UserOrders - количество заказов пользователя. Передаём из базы последнее актуальное количество.
3. UserStage - классификация клиента по вашей логике: новичок, постоянный клиент, перекупщик.
save image

На уровень сессии можно передавать переменные:
1. ClientID для идентификации пользователя как видит его Google Analytics.
2. UserAuth - признак залогиненности пользователя. 
3. AB_test - признак распределения A/B теста.

save image

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

Ошибки внедрения

1. Переменные передаются не на всех страницах, как следствие - в аналитику переменные уходят не со всеми действиями, а лишь с частью. 

2. "Нулевые" значения в переменных.  Пользовательские переменные не терпят значений вроде none, " ", 'нет' и '' . Любое значение затирает предыдущие и назначается актуальным для данного пользователя. Для одностраничных сайтов и приложений значение может быть затерто на нулевое.

Получаем:

 (не путать с UserID: 'null')

3. Присвоено значение по умолчанию для переменной уровня пользователя или сессии (в общем случае). Галочку необходимо оставить пустой.

save image

Проверка внедрения

Правильность передачи можно  одну и ту же переменную передаём в 2 разных слота пользовательских переменных. В интерфейсе Google Analytics выбираем для первой переменной уровень session или user, а для тестовой переменной - уровень hit. При сравнении переменных, когда переменные разных уровней не совпадают, может скрываться ошибка. Выгрузку необходимо делать в разрезе конкретного Client ID и сформировать сегмент, когда переменная уровня hit принимает одно значение, а user - другое.

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

Для правильной настройки переменных нужно понимать какими переменными пользуется Google Analytics. Разберём настройку самой популярной переменной. UserID .

1. Для переменной необходимо создать Слот в пользовательских переменных в интерфейсе GA и GTM.
save image

2. На основе переменной UserID Google Analytics формирует специальное представление, поэтому в интерфейсе GTM мы передаём её в Fields to set в специальном синтаксисе. Для остальных пользовательских переменных (clientID, UserOrders) добавляем только в Custom Dimensions.

save image


3. Создаём специальное представление в Google Analytics, в котором будут собраны данные только по пользователям с UserID.
save image
4. Collect you data!