Как настроить User ID с помощью Google Analytics и Google Tag Manager
Содержание:
- Что такое User ID и для чего нужно его использовать.
- Техническое задание для программиста по установке User ID на сайт.
- Как правильно создать представление в Google Analytics
- Отправка значений User ID при помощи Google Analytics.
- Настройка User ID с помощью Google Tag Manager.
- Настройка User ID с использованием cookie.
- Шаг 1 — поиск UID в cookie сайта.
- Шаг 2 — создание переменной «Основной файл Cookie».
- Шаг 3 — создание или обновление тега Universal Analytics.
- Настройка UID с помощью datalayer.
- Шаг 1 — создание переменной уровня данных
- Шаг 2 — создание или обновления тега Universal Analytics.
- Настройка User ID с использованием cookie.
Что такое User ID и для чего нужно его использовать
User ID позволяет связывать данные об одном пользователе, даже если он заходил с разных устройств. Данную функцию можно реализовать если на сайте есть возможность регистрации. При логине пользователю присваивается уникальный идентификатор, данные о котором отправляются в Google Analytics. Идентификатор можно брать из базы данных сайта.
Используя этот идентификатор, Google Analytics понимает что сеансы с различных устройств это один и тот же пользователь. Если пользователь залогиниться на сайте с мобильного устройства, а через несколько дней с ПК, то Google Analytics свяжет эти сеансы в одного пользователя.
User ID помогает определить число постоянных читателей/покупателей сайта, а также анализировать полученные данные от зарегистрированных пользователей, отдельно от незарегистрированных.
Техническое задание для программиста по установке User ID на сайт
Основная задача заключается в том чтобы добавлять уникальный идентификатор авторизованного пользователя в исходный код документа. Метод добавления зависит от того каким образом установлен код отслеживания Google Аналитики на вашем сайте, через Google Tag Manager либо код Google Analytics просто добавлен в исходный код документа.
Общие рекомендации
- Поле userID должно заполняться после того, как пользователь будет определен вашей системой.
- Значение должно быть задано для всех обращений в течение сеанса. Чтобы убедиться, что все дополнительные обращения Аналитики на странице содержат это значение, рекомендуем использовать метод set.
- Для всех последующих страниц, на которых определен пользователь, также должно быть задано это значение.
- Значение параметра userID является строкой и представляет собой стабильный уникальный идентификатор, извлеченный из вашей системы.
- После того как пользователь разлогинивается — необходимо убирать код, который передает данные о userID.
- UserID — числовое значение пользователя в БД, если он авторизован.
- Обязательно в кавычках.
Пример реализации
Реализация через Google Analytics
Чтобы отправлять данные User-ID в Google Аналитику, добавьте в код отслеживания Google Analytics следующую строку:
1 | ga('set', 'userId', {{USER_ID}}); |
Реализация через Global Site Tag (gtag.js)
Если Google Analytics подключен через gtag.js, для user_id необходимо обновить файл config для своего ресурса так, чтобы стока с UserID выглядела следующим образом:
1 | gtag('config', 'UA-ID', {'user_id': 'числовое значение'}); |
Cправка Google по gtag config user_id.
Реализация через user id в Google Tag Manager
Чтобы отправлять данные User-ID gtm в Google Аналитику, добавьте перед кодом Google Tag manager в секции строку:
1 2 3 4 | <script> window.dataLayer = window.dataLayer || []; window.dataLayer.push({'userId' : 'числовое значение'}); </script> |
Строка window.dataLayer = window.dataLayer || []; необходима для проверки, был ли объект dataLayer заранее задан. Это позволяет быть уверенными в том, что передача UserID с помощью метода .push не перезапишет существующие данные в DataLayer. И если DataLayer уже был создан выше в любом скрипте до текущей конструкции, то данные будут просто добавлены.
Как правильно создать представление в Google Analytics user id
Выполните следующие действия:
Шаг 1 — переход к созданию представления.
- войдите в аккаунт Google Analytics;
- нажмите «Администратор» и перейдите к ресурсу, в котором вы хотите включить User ID;
- в столбце РЕСУРС нажмите «Код отслеживания» > «User ID»;
- ознакомьтесь с условиями использования User ID;
- под текстом «Я принимаю правила в отношении User-ID» установите переключатель в положение «ВКЛ»;
- нажмите «Далее».
Шаг 2 — включение объединения сеансов.
На данном шаге приведен пример кода для передачи значения User-ID в Google Analytics, подробнее о том, как это правильно сделать, будет описано далее.
- включите объединение сеансов;
- нажмите «Далее».
Шаг 3 — завершающий шаг.
На завершающем шаге вы создаете отдельное представление с User ID.
В этом представлении будут отображаться данные о сеансах, в которых был обнаружен идентификатор пользователя. Информацию об остальных сеансах смотрите в отдельном представлении без функции User ID:
- нажмите кнопку «Создать»;
- укажите название представления;
- укажите часовой пояс;
- нажмите кнопку «Создать представление»».
Представление для User ID создается с нуля, поэтому в его настройках будут отсутствовать цели и фильтры. Не забудьте импортировать в это представление цели из рабочего представления и подключить все необходимые фильтры, например, для исключения внутреннего трафика.
Отправка значений User ID при помощи Google Analytics
Код из представления Google Analytics, который отображается на Шаге 2.
1 2 | ga('create', 'UA-XXXX-Y', { 'userId': 'User_ID' }); ga('send', 'pageview'); |
User ID — уникальный идентификатор пользователя.
Пример реализации из справки Google.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!-- Google Analytics --> <script> (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','//www.google-analytics.com/analytics.js','ga'); <?php // Новый модернизированный код для установки User ID. // $userId переменная, для которой сервер устанавливает значение только в том случае, если пользователь успешно прошел аутентификацию. if (isset($userId)) { // Если для пользователя передан идентификатор в переменную $userId, то отправляем User ID. $gacode = "ga('create', 'UA-XXXX-Y', { 'userId': '%s' });"; echo sprintf($gacode, $userId); } else { // Если переменная $userId не задана, то выводим стандартный код. $gacode = "ga('create', 'UA-XXXX-Y');"; echo sprintf($gacode); }?> ga('send', 'pageview'); </script> <!-- End Google Analytics → |
Передаваемое значение User ID должно быть строковым типом данных, а не числовым. Это можно увидеть в строке:
1 | $gacode = "ga('create', 'UA-XXXX-Y', { 'userId': '%s' });";, |
где %s — строка, данный нюанс нужно учитывать программисту.
Настройка User ID с помощью Google Tag Manager
Для того, чтобы передавать значение User ID с помощью GTM можно использовать несколько способов.
Первый способ заключается в использовании cookie, который храниться на стороне клиента, второй способ заключается в передаче данных с использованием метода datalayer.
Настройка User ID с использованием cookie
Шаг 1 — Поиск UID в cookie сайта.
Для начала нужно убедиться, что на вашем сайте в cookie сохраняется уникальный идентификатор пользователя. Для этого нужно выполнить следующие действия:
- зайти на любую страницу сайта;
- открыть панель разработчика, сочетание клавиш ctrl + shift + i;
- перейти во вкладку Application;
- найти значение _ym_uid;
После того, как Вы выяснили, что уникальный идентификатор пользователя храниться в cookie на вашем сайте, нужно настроить тег в Google Tag Manager. Для этого перейдите в контейнер и создайте переменную типа «Основной файл cookie».
Шаг 2 — Создание переменной «Основной файл Cookie».
Создаем переменную
- Переменные → Создать → Конфигурация переменной → Основной файл cookie.
- Указываем название переменной Cookie — UID.
- В поле «Название cookie» указываем название Ваших UID cookie и сохраняем.
В нашем случае название UID — _ym_uid. У Вас может быть другое название, нужно смотреть в данных хранения cookie для вашего сайта.
Шаг 3 — обновление тега Universal Analytics.
После создания переменной, необходимо обновить тег Universal Analytics, чтобы он принимал значения UID.
Для этого необходимо выполнить следующие действия:
- заходим в текущий тег счетчика Google Analytics;
- переходим в конфигурацию тега;
- Дополнительные настройки → Поля, которые необходимо задать → + Поле;
- в поле «Название» указываем &uid;
- в поле «Значение» указываем {{Cookie — UID}} и сохраняем;
Обновляем тег и публикуем контейнер на сайт.
Если тега Universal Analytics на сайте ещё нет, нужно его создать. Для этого:
- добавьте новый тег;
- тип тега Universal Analytics;
- в поле «Название» напишите «Код отслеживания GA»;
- в поле «Идентификатор отслеживания» разместите Ваш код отслеживания из Google Analytics;
- тип отслеживания «Просмотр страницы»;
- триггер «Все страницы».
Настройка User ID через cookie с помощью GTM завершена. Не забудьте проверить результат через GA Debug и убедитесь в корректности передачи данных.
Если Вы увидели через GA Debug, что значения UID не распознаются — &uid: undefined, значит Вы указали неверно имя UID cookie, либо указали верно, но не Вашего сайта.
Создание тега Universal Analytics
После того, как программист внедрил на сайт техническое задание, можно приступать к настройке GTM.
Шаг 1 — создание переменной.
Нужно создать переменную уровня данных:
- переменные → Создать → Конфигурация переменной → Переменная уровня данных;
- даем название переменной: DataLayer — UID;
- в имени переменной указываем UserID (имя должно совпадать с именем переменной, которое программист внедрил на сайте);
Шаг 2 — создание или обновления тега Universal Analytics.
Создайте или обновите тег:
- заходим в текущий тег счетчика Google Analytics;
- переходим в конфигурацию тега;
- дополнительные настройки → Поля, которые необходимо задать → +Поле;
- в поле «Название» указываем &uid;
- в поле «Значение» указываем {{DataLayer — UID}} и сохраняем.
Шаг 3 — обновление переменной настроек Google Analytics.
Если в представлении с User ID необходимо отслеживать не только посещения страниц, но и передачу событий, рекомендуем вместо обновления тега Universal Analytics (Шаг 2) обновить настройки переменной “GA Tracking code” (тип переменной Google Analytics Settings).
Обновите настройки переменной:
- заходим в текущую переменную настроек Google Analytics;
- переходим в конфигурацию переменной;
- дополнительные настройки → Поля, которые необходимо задать → +Поле;
- в поле «Название» указываем &uid;
- в поле «Значение» указываем {{DataLayer — UID}} и сохраняем.
После изменения настроек в переменной Google Analytics в представление User ID будут передаваться все хиты — и просмотры страниц, и срабатывание событий.
Настройка User ID через GTM c помощью DataLayer завершена. Если вы сделали все корректно, то у вас в отчетах Google Analytics появятся данные по авторизованным пользователям.
Как проверить внедрение User ID
Uid: где посмотреть? Правильно ли вы внедрили User ID на сайт? Для проверки нужно открыть консоль разработчика, нажать F12. Перейти в раздел «Network» и с помощью поиска найти UID. Он хранится в файле collect. Если идентификатор пользователя на сайте и в файле collect совпадает, то всё настроено правильно.
После корректной настройки User ID вы можете зайти в соответствующее представление и выбрать отчет:
Аудитория → Поведение — Охват User ID
Если всё настроено корректно, то с даты внедрения User ID будут поступать данные о залогиненных и незалогиненных пользователях.
Теперь в отчетах Google Analytics есть возможность разделять аудиторию, при помощи сегментов, и анализировать необходимые показатели разделяя эти две разные аудитории. Очень важно анализировать эти данные отдельно, так как зарегистрированные и незарегистрированные пользователи по-разному взаимодействуют с сайтом.
Список используемых материалов: