Почему уровень данных GTM на веб-сайте React не отображается в Google Analytics?

Я использовал реагировать-gtm-модуль для реализации отслеживания Universal Analytics в многостраничном приложении / веб-сайте React.

Данные поступают в Google Analytics, а уровень данных - нет, и я надеюсь, что кто-нибудь поможет мне определить, почему.

Режим предварительного просмотра GTM

Я вижу, что когда контейнер загружен, для всех значений уровня данных установлено значение по умолчанию «Неизвестно». Это то, что передается в Google Analytics.

Почему уровень данных GTM на веб-сайте React не отображается в Google Analytics?

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

Почему уровень данных GTM на веб-сайте React не отображается в Google Analytics?

Как мне передать уровень данных в Google Analytics в нужный момент, когда данные станут доступны?

Большое спасибо,

Кэти

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
29
1

Ответы 1

Значения отправляются в Google Analytics только при отправке «обращения». Datalayer.push (когда вы вставляете значения в анализатор данных) не считается попаданием, поэтому данные не будут доступны.

Здесь у вас есть несколько вариантов.

Лучшим сценарием было бы вставить значения в слой данных до того, как GTM даже будет загружен на веб-сайт. Это гарантирует, что для всех ваших обращений будут доступны данные, и вам не придется откладывать какие-либо обращения.

Если это невозможно, вы также можете изменить свою реализацию datalayer.push, включив параметр «событие», а затем использовать его в качестве условия в теге Google Analytics. Что-то вроде этого:

dataLayer.push({
  'event': 'dataLayerLoaded',
  'environment': env,
  'isAdminUser': isAdmin,
  ...
})

Затем вы можете создать триггер события, который срабатывает при событии dataLayerLoaded, и использовать этот триггер в теге просмотра страницы Google Analytics вместо обычного просмотра страницы.

Если вы решите следовать этому последнему маршруту, имейте в виду, что это событие нужно будет запускать каждый раз, иначе никакие данные не будут отправлены. Кроме того, если у вас реализованы какие-либо настраиваемые события, вам, возможно, придется изменить их логику, которую вы используете, чтобы учесть этот новый подход.

Обновлено: также можно изменить триггер просмотра страницы Google Analytics на «Окно загружено», но вы должны быть уверены, что слой данных всегда будет загружаться до этого, иначе вы потеряете информацию.

Другие вопросы по теме