Настройка User ID через Google Tag Manager


Для того, чтобы произвести настройку User ID через Google Tag Manager, Вам необходимо:

  1. понимать что это такое
  2. произвести активацию функции в аккаунте Analytics

Поэтому предлагаю Вам для начала ознакомиться со статьей Настройка User ID в Google Analytics, где Вы познакомитесь с понятием User ID и поймете предназначение данной функции, а также найдете пошаговое руководство по включению функции User ID в аккаунте Analytics в разделе «Включение функции «Идентификатор пользователя» в Universal Analytics»

Настройка UID через GTM

Получить User ID, который был сгенерированный Вашей CMS для зарегистрированных пользователей, и передать его значение в Google Analytics можно двумя способами:

  1. Через cookie на Вашем сайте
    Данный способ отлично подойдет тем, у кого уже происходит передача UID в cookie. Помимо этого, не будет необходимости вносить на сайт строчки кода через php или js для получения UID.
  2. Через запись значений UID в DataLayer с последующим импортом в Google Analytics через GTM
    Данный способ подходит тем, кто знаком с основами программирования и тем, для кого не составит труда внести нужные строчки кода.
    Однако, в данной статье, будет рассмотрен подробный способ получения UID для WordPress, т.е пошаговая инструкция.

Настройка User ID через cookie с помощью GTM

Самое первое, что необходимо сделать — это убедиться/проверить, что в cookie есть значения User ID.
Поэтому следует для начала залогинться на сайте, а затем открыть панель для разработчиков в браузере, т.е нажать на кнопку F12. В данной панели необходимо найти информацию о cookie и убедиться в том, что User ID Вашего сайта действительно присутствуют там. Как правило, значения User ID в cookie называются UID или _uid
В качестве примера приведу UID для яндекс почты, так как WordPress не записывает UID в cookie

UID Яндекс Почты
пример User ID для яндекс почты

На скриншоте мы видим, что яндекс записывает уникальный номер посетителя в cookie и называется _ym_uid

После того, как Вы выясните название UID для Вашего сайта перейдем к передачи уникального номера посетителя в GA с помощью GTM. Для этого:

  1. Создаем переменную
    • Переменные → Создать → Конфигурация переменной → Основной файл cookie
    • Указываем название переменной Cookie — UID
    • В поле «Название cookie» указываем название Ваших UID cookie и сохраняем
      На изображении ниже я указал cookie Яндекса _ym_uid в качестве примера. Вам же следует указать именно название Вашей cookie UID
      Настройка User ID через Google Tag Manager с помощью Cookie
  2. Создать или обновить тег
    Под тегом подразумевается тег счетчика Google Analytics. Как его создать Вы можете узнать из руководства «Установка и настройка Analytics через Google Tag Manager«. Сейчас же рассмотрим его обновление. Для этого:

    • Заходим в текущий тег счетчика Google Analytics
    • Переходим в конфигурацию тега
    • Дополнительные настройки → Поля, которые необходимо задать → +ПОЛЕ
    • В поле Название указываем &uid
    • В поле Значение указываем {{Cookie — UID}} и сохраняемНастройка User ID через cookie с помощью GTM

Настройка User ID через cookie с помощью GTM завершена. Не забудьте проверить результат через GA Debug и убедитесь в корректности передачи данных.
Если Вы увидели через GA Debug, что значения UID не распознаются — &uid: undefined, значит Вы указали неверно имя UID cookie, либо указали верно, но не Вашего сайта
Как всегда выкладываю для вас готовый контейнер с настройками: Настройка User ID через cookie с помощью GTM. Вам же просто следует внести свои значения для переменных:

  • К. Идентификатор отслеживания
  • Cookie — UID

В противном случаи у Вас ничего не будет работать

Настройка User ID через GTM c помощью DataLayer

Для того, чтобы настроить передачу User ID через GTM c помощью DataLayer, необходимо разместить код следующего вида в шапке или подвале Вашего сайта.

<script>
	window.dataLayer.push({
	    'UID' : 'Значение UID'
	});
</script>

Значение User ID можно получить с помощью кода php или javascript
К примеру, для того, чтобы получить значение User ID для WordPress, Вам необходимо использовать следующую строчку кода:

<?php $current_user = wp_get_current_user(); echo $current_user->ID; ?>

В итоге у Вас должен получиться следующий вид кода:

<script>
	window.dataLayer.push({
	    'UID' : '<?php $current_user = wp_get_current_user(); echo $current_user->ID; ?>'
	});
</script>

После того, как Вы вставили вышеприведенный код на все страницы сайта, -это обозначает, что Вы передаете UID посетителей сгенерированнный Вашей CMS в DataLayer.
Теперь необходимо организовать прием значений UID в Google Tag Manager с последующей их передачей в Google Analytics. Для этого необходимо произвести следующие действия в GTM:

  1. Создать переменную
    • Переменные → Создать → Конфигурация переменной → Переменная уровня данных
    • Даем название переменной: ПУД — UID
    • В имени переменной указываем UID
    • Незабываем указать папку и сохраняем

    переменная уровня данных user id

  2. Создать или обновить тег
    • Заходим в текущий тег счетчика Google Analytics
    • Переходим в конфигурацию тега
    • Дополнительные настройки → Поля, которые необходимо задать → +ПОЛЕ
    • В поле Название указываем &uid
    • В поле Значение указываем {{ПУД — UID}} и сохраняем

    Настройка User ID через GTM c помощью DataLayer

Настройка User ID через GTM c помощью DataLayer завершена. Если Вы сделали все корректно, то у вас в отчетах Google Analytics появятся данные по залогининым пользователям.

Все вопросы можете задавать в комментариях, оперативно отвечу и подскажу

Понравилась статья? Поделись ей =)
Вам также может быть интересно
23 комментария
Konditer

По мне так это лучшая инструкция по настройке UID. Спасибо.
Осталось разобраться как настроить datalayer на yii2
И еще такой вопрос, почему window.datalayer, а не просто datalayer?

Заранее спасибо.

Владимир из Get To the Top

Добрый день,

Спасибо большое за Ваш комментарий!

1. Не совсем понял Вашего вопроса про yii2.
Я так понимаю, что речь идет про какой-то фреймворк и как на нем получить UID?
Если да, то Вам следует изучить документацию данного фреймворк и его функции php

2. Инициализировать передачу динамических переменных в массив лучше всего через window.datalayer.push
Данный способ гарантирует, что Ваши данные не будут перезаписаны или удалены другой передачей данных, которая инициализируется позже

В каком месте-отчете можно посмотреть, что все ок?
Что за переменная &uid, где можно про неё прочитать?

Владимир из Get To the Top

Добрый день, Ян

Корректность передачи значений uid в Universal Analytics можно посмотреть при помощи:
— отладчика/предварительный просмотр Google Tag Manager. Пример, http://prnt.sc/d20k0j
— расширения для браузера «Google Analytics Debugger». Пример, http://prnt.sc/d20mfi

$uid – переменная, для которой сервер устанавливает значение только в том случае, если пользователь успешно прошел аутентификацию на Вашем сайте.
Рекомендую Вам ознакомиться с постом https://gettotop.ru/analytics-system/nastrojka-user-id-v-google-analytics/

Юрий

подскажите как настроить и какую переменную взять смс битрикс в отладке нашел BX_USER_ID в таком случае что писать
В поле Название указываем &uid
В поле Значение указываем {{Cookie — UID}}

Владимир из Get To the Top

Добрый день, Юрий
1. Создаем переменную
— Переменные → Создать → Конфигурация переменной → Основной файл cookie
— Указываем название переменной Cookie — UID
— В поле «Название cookie» указываем название Ваших UID cookie и сохраняем, т.е BX_USER_ID (https://goo.gl/jz7IGn)
2. Создать или обновить тег
Под тегом подразумевается тег счетчика Google Analytics. Для этого:
— Заходим в текущий тег счетчика Google Analytics
— Переходим в конфигурацию тега
— Дополнительные настройки → Поля, которые необходимо задать → +ПОЛЕ
— В поле Название указываем &uid
— В поле Значение указываем {{Cookie — UID}} и сохраняем (https://goo.gl/2aXB14)
Настройка User ID через cookie с помощью GTM завершена.

Юрий

Благодарю за подсказку если можно тогда еще вопрос
указанный индификатор счетчика не мой и не могу понять откуда он вылез
первый счетчик мой он работает все настроено
последний красный но это нормально в справке написано что баг гугла
А вот посередине непонятный счетчик и понять откуда не могу никак

Владимир из Get To the Top

Юрий, добрый день
По Вашей проблеме очень сложно делать выводы по скрину. Необходимо смотреть код сайта.
Если у Вас есть сторонние сервисы: calltracking, он-лайн чаты и т.п, Вам следует проверить их в первую очередь.
Дело в том, что данные сервисы, как правило, размещают счетчик Google Analytics через свои javascript код на сайты, которые ими пользуются.

Андрей

Добрый день! Спасибо за развернутую статью! По авторизованным разобрался, а вот как отдельным представлением получить срез по неавторизованным не могу понять. Наверняка решение простое. Подскажите, пожалуйста.

Владимир из Get To the Top

Добрый день, Андрей

если речь идет про отчет в GA, то для этого необходимо:

  • создать пользовательский параметр для авторизованных пользователей и передавать туда значения UID;
  • создать новое «Представление».

Затем для этого «Представления» идем в «Фильтры» → «Добавить фильтр» → «Пользовательский» → «Исключить» → выбрать название вашего параметра для UID в выпадающем списке. В поле «Шаблон фильтра» необходимо указать (.*). Не забываем указать название для фильтра.

На этом настройка завершена и GA начнет формировать отчеты по не авторизованным пользователям.
Настройка фильтра для отчетов по не авторизованным пользователям

Виталий

Очень полезная информация. Спасибо.
Интересует следующее: Имя дополнительного поля &uid, его мы можем указывать как userId?
Скриншот: [ссылка заблокирована по решению администрации сайта]
Есть ли принципиальное отличие в названии этого поля?

Владимир из Get To the Top

Добрый день, Виталий
если гарантировано хотите получать данные в отчете, то лучше использовать &uid

Павел

А можно пример показать как должен выглядеть кодGlobal site tag (gtag.js) — Google Analytics и что еще нужно (какие коды) , что бы отправлять данный параметр в аналитику

Владимир из Get To the Top

Добрый день,
как был установлен код Аналитики на сайте? Через GTM или с помощью размещения кода на сайте?
Если вы установили код Аналитики с помощью размещения кода на сайте, а события пытаетесь передать через GTM — неправильная настройка, при которой большую часть событий, параметров, показателей вы теряете. События, параметры и показатели при такой настройки, необходимо передавать особым образом: задавая имя трекера в GTM, а все события передавать в dataLayer. Однако, передача в dataLayer ничем не отличается, даже если вы используете код Gtag.
Лучше всего установить Аналитику через GTM.

Вера

Здравствуйте.
Попробовала передать значение user_id c помощью DataLayer.
В коде страницы, скриншот: [ссылка заблокирована по решению администрации сайта], в GTM неопределено.
Почему так может быть?
Настройки в GTM точно такие же, как в статье.

Владимир из Get To the Top

Добрый день,
код GTM стоит выше или ниже dataLayer.push?
Скорее всего он стоит выше dataLayer.push, в связи с чем данные не передаются.
Для решения проблемы, поставьте dataLayer.push выше кода GTM.

Вера

Владимир, да, спасибо, уже разобралась. Дело было именно в этом.
Помогите, пожалуйста, еще понять, как UID передать в Google Analytics.
Параметр добавила. Скриншот: [ссылка заблокирована по решению администрации сайта], представление тоже.
Но посетители в полном представлении есть, а как перехожу в созданное представление — по 0.
Можете подсказать направление, в котором я могла допустить ошибку?

Владимир из Get To the Top

Данные в новом представительстве, появляются не сразу, а через некоторое время.
Так что если вы настроили его только сегодня, смотрите данные завтра.
P.S
Проверьте Тег Universal Analytics в отладчике GTM, если данные в отладчике отображаются корректно для UID, значит все корректно передается в сам Universal Analytics

Вера

Мне кажется, что-то идет не так 🙂
Данные в новом представлении не появились и спустя 3 дня.

Владимир, есть ли какое-то ограничение по кол-ву посещений? Я смотрю на тестовом сайте и посещений там мало, около 10 в день.

В GTM, Скриншот: [ссылка заблокирована по решению администрации сайта]
Вот ссылка для просмотра в GTM [ссылка заблокирована по решению администрации сайта]
Может быть какие-то действия нужно выполнить дополнительно? В GA?

Владимир из Get To the Top

Вера, добрый день

Владимир, есть ли какое-то ограничение по кол-ву посещений?

Нет, никаких ограничений, конечно, нет.

Вот ссылка для просмотра в GTM [ссылка заблокирована по решению администрации сайта]

Передать дебаг-просмотр в GTM можно только, если открыть доступ к самому контейнеру.

Может быть какие-то действия нужно выполнить дополнительно? В GA?

В самой аналитике только настраиваются отчеты для идентифицированных пользователей, не более.

Вера

В общем, то ли лыжи не едут, то ли я ))
Вот так, скриншот: [ссылка заблокирована по решению администрации сайта], GTM код видит, но в GA не передается. Пробовала вставлять код по-разному, но пока эффекта нет.
Буду благодарна, если подскажите куда двигаться.

Заранее больше спасибо.

Владимир из Get To the Top

Я вижу, что на вашем сайте, счетчик аналитики установлен на страницах сайта. Еще по вашим скриншотам видно, что аналитика также установлена и в GTM. Однако, в коде сайте, отсутствует сам контейнер GTM.

Первое. Счетчик аналитики, необходимо устанавливать либо через размещение кода на сайте, либо через GTM. Совместная установка вызывает некорректную передачу данных. Как правило — задвоение значений, либо их отсутствие.

Второе. Разместите код GTM на всех страницах вашего сайта. Данные не передаются в аналитику, так как сам контейнер отсутствует на нем.

Алексей

Добрый день!

Спасибо за интересную статью и подробную статью, самое понятное объяснение.
Несколько дней пытаюсь найти решение на вопрос, может быть Вы мне сможете подсказать?
Мне необходимо передавать помимо параметра _ym_uid еще и параметр _ym_counter (Номер счетчика Яндекс.Метрики). Для этого должен подходить описанный у Вас метод DataLayer, но я не понимаю как мне достать именно номер счетчика Яндекс.Метрики, в файлах cookies он нигде не присутствует. Эти 2 параметра необходимы для настройки сквозной аналитики в Яндекс.Метрике с AmoCRM.

Оставить комментарий

Ваш адрес электронной почты опубликован не будет.Поля, обязательные для заполнения, помечены *