Оглавлениение
Для того, чтобы произвести настройку User ID через Google Tag Manager, Вам необходимо:
- понимать что это такое
- произвести активацию функции в аккаунте Analytics
Поэтому предлагаю Вам для начала ознакомиться со статьей Настройка User ID в Google Analytics, где Вы познакомитесь с понятием User ID и поймете предназначение данной функции, а также найдете пошаговое руководство по включению функции User ID в аккаунте Analytics в разделе «Включение функции «Идентификатор пользователя» в Universal Analytics»
Настройка UID через GTM
Получить User ID, который был сгенерированный Вашей CMS для зарегистрированных пользователей, и передать его значение в Google Analytics можно двумя способами:
- Через cookie на Вашем сайте
Данный способ отлично подойдет тем, у кого уже происходит передача UID в cookie. Помимо этого, не будет необходимости вносить на сайт строчки кода через php или js для получения UID. - Через запись значений 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
На скриншоте мы видим, что яндекс записывает уникальный номер посетителя в cookie и называется _ym_uid
После того, как Вы выясните название UID для Вашего сайта перейдем к передачи уникального номера посетителя в GA с помощью GTM. Для этого:
- Создаем переменную
- Переменные → Создать → Конфигурация переменной → Основной файл cookie
- Указываем название переменной Cookie — UID
- В поле «Название cookie» указываем название Ваших UID cookie и сохраняем
На изображении ниже я указал cookie Яндекса _ym_uid в качестве примера. Вам же следует указать именно название Вашей cookie UID
- Создать или обновить тег
Под тегом подразумевается тег счетчика Google Analytics. Как его создать Вы можете узнать из руководства «Установка и настройка Analytics через Google Tag Manager«. Сейчас же рассмотрим его обновление. Для этого:- Заходим в текущий тег счетчика Google Analytics
- Переходим в конфигурацию тега
- Дополнительные настройки → Поля, которые необходимо задать → +ПОЛЕ
- В поле Название указываем &uid
- В поле Значение указываем {{Cookie — UID}} и сохраняем
Настройка 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:
- Создать переменную
- Переменные → Создать → Конфигурация переменной → Переменная уровня данных
- Даем название переменной: ПУД — UID
- В имени переменной указываем UID
- Незабываем указать папку и сохраняем
- Создать или обновить тег
- Заходим в текущий тег счетчика Google Analytics
- Переходим в конфигурацию тега
- Дополнительные настройки → Поля, которые необходимо задать → +ПОЛЕ
- В поле Название указываем &uid
- В поле Значение указываем {{ПУД — UID}} и сохраняем
Настройка User ID через GTM c помощью DataLayer завершена. Если Вы сделали все корректно, то у вас в отчетах Google Analytics появятся данные по залогининым пользователям.
Все вопросы можете задавать в комментариях, оперативно отвечу и подскажу
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 в выпадающем списке. В поле «Шаблон фильтра» необходимо указать
(.*)
. Не забываем указать название для фильтра.На этом настройка завершена и 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 не передается. Пробовала вставлять код по-разному, но пока эффекта нет.
Буду благодарна, если подскажите куда двигаться.
Заранее больше спасибо.
Владимир из Get To the Top
Я вижу, что на вашем сайте, счетчик аналитики установлен на страницах сайта. Еще по вашим скриншотам видно, что аналитика также установлена и в GTM. Однако, в коде сайте, отсутствует сам контейнер GTM.
Первое. Счетчик аналитики, необходимо устанавливать либо через размещение кода на сайте, либо через GTM. Совместная установка вызывает некорректную передачу данных. Как правило — задвоение значений, либо их отсутствие.
Второе. Разместите код GTM на всех страницах вашего сайта. Данные не передаются в аналитику, так как сам контейнер отсутствует на нем.
Алексей
Добрый день!
Спасибо за интересную статью и подробную статью, самое понятное объяснение.
Несколько дней пытаюсь найти решение на вопрос, может быть Вы мне сможете подсказать?
Мне необходимо передавать помимо параметра _ym_uid еще и параметр _ym_counter (Номер счетчика Яндекс.Метрики). Для этого должен подходить описанный у Вас метод DataLayer, но я не понимаю как мне достать именно номер счетчика Яндекс.Метрики, в файлах cookies он нигде не присутствует. Эти 2 параметра необходимы для настройки сквозной аналитики в Яндекс.Метрике с AmoCRM.