Отправить идентификатор пользователя из Диспетчера тегов Google в Google Analytics 4
Я настроил диспетчер тегов Google с моим ресурсом GA4
(НЕ устаревшей версией Universal Analytics) в
соответствии с официальным руководством:
https://support.google.com/tagmanager/answer/6103696?hl=en&ref_topic=3441530#zippy=%2Cweb- страниц,
и я выяснил, как отправлять настраиваемые / рекомендуемые события в GA4 с помощью
объектов dataLayer.push({}), используя их поле «событие» в триггерах и тегах,
на основе руководства по Universal Analytics
( https://www.analyticsmania .com / post / track-logins-with-google-tag-manager / ),
потому что в официальном руководстве это кажется черной дырой:
https://support.google.com/tagmanager/answer/9442095
только описывает, Вкратце, GTM-сторона истории.
То же самое и с отправкой идентификатора пользователя: документы сообщают только
при создании тега конфигурации Google Analytics 4:
To set a user ID, add a row to Fields to Set.
Set the Field Name to user_id, and the Value to
a Tag Manager Variable that returns the user ID.
и я использую только знания из внешних руководств UA,
чтобы использовать переменную уровня данных, которая считывает поле user_id из уровня данных,
а также создать соответствующее свойство пользователя user_id в Google Analytics, которое в Universal Analytics использовало
связанные настройки, которые не больше не существует ( https://www.analyticsmania.com/post/google-analytics-user-id-with-google-tag-manager/).
Итак, я развернул свои события GA4 с переменной уровня данных, указанной
в их конфигурации (и это видно на уровне данных в режиме отладки), создал соответствующее свойство пользователя в GA и включил создание отчетов по идентификатору пользователя.
Тем не менее, в моем представлении в реальном времени
user_id
поля всегда получают какое-то странное значение "gtm.js"
(как если бы значение моей переменной уровня данных было заменено именем события
из значения по умолчанию dataLayer.push ({event:"gtm.js",user_id:"ignored value")).
Чего вообще не хватает для распознавания моего поля user_id?
Спасибо!
4 ответа
Спасибо @bpstrngr! Некоторое время ходил по кругу, прежде чем нашел ответ.
Чтобы прояснить шаг за шагом, если кто-то еще столкнется с этим;
- При отправке userId в
dataLayer
добавить название события:
window.dataLayer.push({
'userId' : '{{ myUserId }}',
'event': 'userIdSet',
})
Итак, в конце концов выяснилось, что, поскольку тег конфигурации был запущен событием просмотра страницы, это произошло до того, как я отправил user_id в dataLayer, поэтому вместо этого он заполнил несуществующее значение именем события.
Я дал событию user_id имя для создания настраиваемого триггера события, который повторно запускает тег конфигурации. Таким образом, наконец становятся видимыми user_id-s.
Возможно, это не лучший вариант, поскольку он не полностью соответствует рекомендациям Google, но работает отлично.
Итак, в вашем скрипте инициализации мы можем сначала установить идентификатор пользователя и только затем вызватьgtm.start
/gtm.js
события :
Опция 1
Дополнение к вышеупомянутому тегу конфигурации. Для одностраничных приложений я запускал дополнительный тег конфигурации GA4 с отключенным автоматическим отслеживанием просмотров страниц при каждом изменении свойств пользователя.
Очень важно!!!!Этот подход работает только в том случае, если вы переключите параметр в конфигурации потока GA4 с меткой:
Игнорировать повторяющиеся экземпляры конфигурации на странице (рекомендуется)
Это трудно найти в разделе:
Админ
- Веб-потоки
- Нажмите «Ваш веб-поток»
- Под тегом Google: Настройка вкладки.
- на вкладке «Администратор»: «Управление тегом Google».
Поскольку вы несколько раз запускаете вкладку конфигурации, ее необходимо отключить.
Прочтите предупреждение о переключателе, у него есть некоторые предостережения, но реальных проблем пока не возникало.
Вариант 2
Кажется, работает также установка
В моем случае веб-сайт, к счастью, отправил
Такой подход, конечно, приведет к созданию нового мероприятия, которое не будет иметь большой бизнес-ценности, кроме установки реквизита.
Другие подходы, основанные на событиях: установите свойства пользователя для каждого запускаемого вами события (сложно поддерживать) или просто установите их для частого события page_view (в этом случае вам необходимо отключить автоматическое отслеживание просмотров страниц).