Поскольку о комбинации этих трех элементов не так много, вот мой вопрос:
Когда пользователь заходит на страницу приложения, только первая страница будет отслеживаться как просмотр страницы, если только вы не активируете теги после триггера изменения истории GTM (автоматически) или не отправите событие просмотра страницы для конкретной страницы (отслеживание вручную).
Часто SPA встраиваются в традиционные страницы приема-передачи, поэтому фрагменты GTM размещаются в теге head, а фрагменты ecom размещаются внутри приложения.
Отсутствие перезагрузки, когда пользователь переходит на следующую страницу в приложении, фрагмент DL в теге заголовка либо перезаписывается, либо может быть дополнен новой информацией.
Это создает два вопроса:
Я был бы очень признателен за ответ на этот вопрос!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Да, вы должны иметь возможность использовать dataLayer.push в приложении. Следует отметить, что вам не обязательно иметь тег GA в триггере GTM при просмотре страницы, вы вполне можете установить событие «SPA-screen-view» и отправить его в dataLayer, чтобы активировать тег GA.
Вам не нужно очищать слой данных после каждого просмотра страницы. Просто следите за переменными, которые вы вводите и фиксируете. Это очень похоже на концепцию состояния в ReactJS.
Пример:
Скажем, на одном просмотре страницы спа вы отправили: {'page-title':'my awesome spa page 1', 'page-url':'/vpv/myapp/page1','event':'SPA-screen-view'}, а на следующей странице вы сделали только {'page-url':'/vpv/myapp/page1','event':'SPA-screen-view'}, но в теге GA вы захватываете и 'page-title', и 'page-url', вторая страница будет иметь 'page-title':'my awesome spa page 1', поскольку она не обновлялась.
Нет проблем с размещением фрагмента GTM за пределами приложения. Вы должны иметь возможность использовать его таким же образом. Если вы не хотите выполнять настраиваемые события на уровне данных, вы также можете использовать триггеры изменения истории в GTM.
Привет, я очень уверен, что мы читаем то же самое и только по этой теме :) Я почти уверен, что вы имеете в виду подключать просмотры страниц, инициированные событиями, отправленными изнутри приложения (в зависимости от того, что это может быть электронная коммерция или простой просмотр экрана) вместо изменений истории отметил извне. Мой вопрос касается объединения двух миров внутри и вне приложения. Технически я знаю, что могу использовать dataLayer.push внутри приложения, но возникнут ли проблемы с GTM, сидящим в заголовке туда и обратно вне приложения, получающего эту информацию?