Проблема, с которой вы сталкиваетесь, очень распространена при использовании SPA.
Позвольте мне привести пример:
- При переходе от https://digitalmarketingbloq.com к https://digitalmarketingbloq.com/2018/08/07/how-to-filter-internal-traffic-in-google-analytics-with-google-tag-manager/ Браузер связывается с сервером.Страница отображается и GTM инициируется.
- В вашем примере с представлением первой страницы вашего SPA он работает нормально, потому что установлена связь с сервером.Но в SPA происходит переход с одной страницы на другую на стороне клиента.У GTM нет ничего, чтобы действовать.
Как вы можете решить это?
Первый вариант - включить встроенные переменные в разделе «История» (Переменные> Конфигурировать> История):
Во-вторых, создатьтриггер (Триггеры> Новый> Изменение истории), который запускает все изменения истории:
В режиме предварительного просмотра вы можете проверить, подхватывает ли ваш SPA изменения истории.Узнайте больше информации о переменных здесь: https://support.google.com/tagmanager/answer/7182738?hl=en&ref_topic=7182737#history и о триггере здесь https://support.google.com/tagmanager/answer/7679322?hl=en.
Если это не сработает, вам нужно разработать события «просмотра виртуальной страницы» в SPA, когда переходызавершено.Позвольте мне дать вам больше перспективы.Когда переход со страницы A на страницу B завершен, запускается следующее событие:
dataLayer.push({
'virtualPageTitle': 'My Login Screen',
'virtualPageURL': 'https://www.my-example/login',
'event': 'VirtualPageview'
});
Приведенное выше переместит virtualPageTitle и virtualPageURL в dataLayer как и событие VirtualPageview.GTM сможет подобрать это, но вам нужно создать 2 определяемые пользователем переменные virtualPageTitle и virtualPageURL.Триггером будет VirtualPageview.
Надеюсь, это прояснит ситуацию для вас.