Я использовал реагировать-gtm-модуль для реализации отслеживания Universal Analytics в многостраничном приложении / веб-сайте React.
Данные поступают в Google Analytics, а уровень данных - нет, и я надеюсь, что кто-нибудь поможет мне определить, почему.
Я вижу, что когда контейнер загружен, для всех значений уровня данных установлено значение по умолчанию «Неизвестно». Это то, что передается в Google Analytics.
Однако, когда окно загружается, уровень данных заполняется значениями. Это не отправляется в Google Analytics.
Как мне передать уровень данных в Google Analytics в нужный момент, когда данные станут доступны?
Большое спасибо,
Кэти





Значения отправляются в Google Analytics только при отправке «обращения». Datalayer.push (когда вы вставляете значения в анализатор данных) не считается попаданием, поэтому данные не будут доступны.
Здесь у вас есть несколько вариантов.
Лучшим сценарием было бы вставить значения в слой данных до того, как GTM даже будет загружен на веб-сайт. Это гарантирует, что для всех ваших обращений будут доступны данные, и вам не придется откладывать какие-либо обращения.
Если это невозможно, вы также можете изменить свою реализацию datalayer.push, включив параметр «событие», а затем использовать его в качестве условия в теге Google Analytics. Что-то вроде этого:
dataLayer.push({
'event': 'dataLayerLoaded',
'environment': env,
'isAdminUser': isAdmin,
...
})
Затем вы можете создать триггер события, который срабатывает при событии dataLayerLoaded, и использовать этот триггер в теге просмотра страницы Google Analytics вместо обычного просмотра страницы.
Если вы решите следовать этому последнему маршруту, имейте в виду, что это событие нужно будет запускать каждый раз, иначе никакие данные не будут отправлены. Кроме того, если у вас реализованы какие-либо настраиваемые события, вам, возможно, придется изменить их логику, которую вы используете, чтобы учесть этот новый подход.
Обновлено: также можно изменить триггер просмотра страницы Google Analytics на «Окно загружено», но вы должны быть уверены, что слой данных всегда будет загружаться до этого, иначе вы потеряете информацию.