Как обновить идентификатор пользователя Google Analytics с помощью GTM?

#google-analytics #google-tag-manager #google-analytics-userid

#google-аналитика #google-менеджер тегов #google-аналитика-идентификатор пользователя

Вопрос:

Использование gtag.js Я могу изменить идентификатор пользователя таким образом:

 gtag('config', 'G-XXXXXX', {  'user_id': '12345' });  

Используя вместо этого GTM, как я могу изменить идентификатор пользователя, используемый Google Analytics?

В настоящее время я добавил переменную в GTM и вставил ее в качестве значения свойства пользователя «user_id» в ТЕГ аналитики.

Проблема в том, что таким образом аналитика инициализируется начальным значением user_id. В моем случае, однако, используя его в одностраничном приложении, идентификатор пользователя может измениться после того, как он уже инициализировал GTM и so Analytics, а dataLayer.push({ ‘идентификатор пользователя’: ‘xxx’ }) не влияет на аналитику.

Ответ №1:

dataLayer.push({ 'user_id': 'xxx' }) само по себе это может не иметь эффекта, но это потому, что вы не указываете GTM обновить его внутреннее состояние.

GTM перезаписывает метод «push» массива слоев данных с помощью некоторого пользовательского кода, который, помимо прочего, сканирует перемещаемые объекты на наличие ключа с зарезервированным именем «событие». Только если он найдет этот ключ, данные, которые были перенесены в слой данных, будут фактически оценены, и переменные, настроенные на вкладке «переменные» интерфейса GTM, примут новое значение, если действительно новое значение для них было установлено во вновь добавленном объекте слоя данных. Клавиша «событие» также позволяет создать триггер для запуска тегов с обновленными значениями.

Так что, если вы это сделаете

 dataLayer.push( {   'user_id': 'xxx',  'event': 'updateUserId'  });   

вашей переменной user_id в GTM будет присвоено новое значение, и вы можете создать «пользовательский триггер события с именем события «updateUserId». Вы можете, например, отправить запрос в Google Analytics с новым значением (я должен сказать, что имя переменной «user_id» немного не подходит для чего-то, что вы, очевидно, ожидаете сильно изменить).

Значение также обновляется, если после нажатия следует автоматическое событие, например, действительный триггер щелчка или аналогичный.