Передача Client ID через Google Tag Manager (+видео)

Июль 19, 2019

В этой статье разберем несколько способов передачи уникального идентификатора пользователя (Client ID) в Google Analytics через Google Tag Manager.

Материалов на тему Client ID (что это такое и зачем он нужен) не только в интернете, но и в моем блоге предостаточно. Поэтому перейдем к практической части.

Рекомендую к прочтению:

Разберем 3 способа передачи cid через GTM:

  1. с помощью функции customTask;
  2. с помощью метода get() Google Analytics;
  3. из cookie _ga Google Analytics;

+ бонус: если вы добавляли тег Google Analytics через пользовательский HTML (gtag.js).

Способ №1 — customTask

Задания – расширенная функция, которая позволяет настраивать проверку, создание и отправку запросов Measurement Protocol с помощью analytics.js. По умолчанию сама ничего не делает. Получить доступ к заданиям или заменить их можно с помощью стандартных методов счетчика get и set. Подробнее про customTask читайте в официальной справке Google, в блоге Adventum перевод статьи или оригинал Симо Ахава (Simo Ahava).

Последовательность действий:

— создаем пользовательский параметр в Google Analytics с областью действий Пользователь

Передача Client ID через Google Tag Manager

Создание пользовательского параметра в Analytics

Запоминаем Индекс параметра. В этом примере 1.

— переходим в Google Tag Manager и создаем пользовательскую переменную типа Собственный код JavaScript. Вставляем следующий код (взят из статьи Симо) и заменяем цифру 5 в переменной customDimensionIndex на собственный индекс (см. выше). Название переменной GTM задаем произвольное:

Код будет выглядеть так:

Передача Client ID через Google Tag Manager

Заменяем индекс в переменной customDimensionIndex на свой

— в настройках существующего тега Universal Analytics в дополнительных настройках добавьте поле с именем customTask и значением вашей переменной, созданной на предыдущем шаге. Должно получиться так:

Передача Client ID через Google Tag Manager

Поля, которые необходимо задать — customTask

Опубликуйте контейнер с изменениями. Проверить корректность передачи Client ID можно с помощью консоли разработчика или специальных плагинов / расширений для GTM и Google Analytics.

Передача Client ID через Google Tag Manager

Проверка через консоль разработчика — collect

Если все хорошо, то через некоторое время данные по Client ID начнут поступать в отчеты Google Analytics. Параметр Client ID в отчетах можно использовать в качестве основного и дополнительного. Он доступен и в собственных отчетах.

Передача Client ID через Google Tag Manager

Отчет GA с дополнительным параметром Client ID

Этот способ настройки является наиболее распространенным, поскольку, по наблюдениям специалистов, имеет наибольший процент прометки трафика, а также наименьшую нагрузку. Client ID отправляется с начальным просмотром страницы Page View и не создает дополнительных хитов. Я рекомендую использовать именно этот вариант передачи Client ID.

Записал для вас видео именно этим способом со всеми шагами настройки:

Способ №2 — с помощью метода get()

Этот способ получения идентификатора клиента рекомендует Google в справке разработчика.

Что нужно сделать? Также создать пользовательский параметр Google Analytics (как и в способе 1), в Google Tag Manager создать пользовательскую переменную типа Собственный код JavaScript и вставить туда следующий код (взят из статьи Симо):

В GTM это выглядит так:

Передача Client ID через Google Tag Manager

Получение Client ID с помощью метода get()

С помощью него мы получаем трекер Google Analytics, а зачем через него методом get() получаем из трекера нужно значение Client ID.

get() — доступный метод объекта Tracker, который получает значение поля, хранящегося в счетчике. Это и есть clientId.

Результат в режиме отладки:

Передача Client ID через Google Tag Manager

Режим отладки GTM

Client ID отправляется с начальным просмотром страницы Page View. Однако из такого подхода есть вероятность получить некоторую часть трафика непомеченной.

В этом случае рекомендуется отправлять Client ID отдельным тегом Universal Analytics с типом отслеживания Событие и триггером активации Окно загружено (gtm.load).

Передача Client ID через Google Tag Manager

Universal Analytics с типом отслеживания Событие

Минус такого подхода – лишние обращения в Google Analytics:

Передача Client ID через Google Tag Manager

Лишние хиты в GA

Для крупных проектов с большим объемом данных это очень большая проблема.

Способ №3 — из cookie _ga Google Analytics

Для этого необходимо создать пользовательскую переменную типа Основной файл cookie (1st Party Cookie) со значением _ga.

Передача Client ID через Google Tag Manager

Основной файл cookie _ga

Она возвращает значение cookie, которое доступно для текущего сайта. По умолчанию в Analytics – это _ga.

Передача Client ID через Google Tag Manager

Полная кука _ga

Как видно из скриншота выше, основной файл cookie выводит полное значение, включая номер GA версии и уровень домена. Нам же нужно только последнюю часть — 908514878.1563127955.

В Google Tag Manager создаем пользовательскую переменную типа Собственный код JavaScript и вставить туда следующий код (взят из статьи Симо):

где ga_cookie – название вашей переменной Основной файл cookie (см. шаг выше).

Передача Client ID через Google Tag Manager

Собственный код JavaScript

Этот код JavaScript анализирует строку и возвращает третий (идентификатор клиента) и четвертый (временная метка) элементы значения cookie (908514878.1563127955), которые создают полный Client ID пользователя.

Все дальнейшие действия аналогичны. Создаете пользовательский параметр, запоминаете индекс, и затем добавляете данные в тег Universal Analytics:

Передача Client ID через Google Tag Manager

Добавление специального параметра в тег UA

Бонус: если код Google Analytics установлен через пользовательский HTML

Не все веб-аналитики используются готовый тег Universal Analytics. Некоторые добавляют код через Пользовательский HTML, чтобы в работе использовать команды из библиотеки gtag.js.

Для этого используется параметр custom_map, а конечный код выглядит следующим образом:

Пример в GTM:

Передача Client ID через Google Tag Manager

Пользовательский HTML тег — Google Analytics

, где вместо N – ваш индекс пользовательского параметра, а UA-XXXXXXXX-X – ваш № счетчика.

Таким образом, мы с вами познакомились с несколькими способами получения Client ID и с передачей его значения в Google Analytics с помощью Google Tag Manager.

P.S. Если происходящее событие имеет два и более различающихся решения, ведущих к одному ответу, то верным будет самое простое решение, которое требует меньше неизвестных.

Понравилась статья с видео? Ставь оценку 5.0 ->

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике