Reactjs 可以触发';集装箱装载';两次或强制GTM重新加载?(反应)

Reactjs 可以触发';集装箱装载';两次或强制GTM重新加载?(反应),reactjs,google-tag-manager,react-gtm-module,Reactjs,Google Tag Manager,React Gtm Module,实际上,我正在开发一个大型web应用程序,它最初是用Symfony/Twig构建的,现在正在使用React进行重构。但由于我使用React,我的一些页面在Google Tag Manager(GTM)中没有“视图” 我在React中使用了GTM。但是我在GTM中有很多(数十个)标记和触发器,它们基于3个本机事件“Container-loaded”(GTM.js)、“DOM-Ready”(GTM.DOM)和“Window-loaded”(GTM.load) 第一个解决方案(来自指南)是添加一个新的

实际上,我正在开发一个大型web应用程序,它最初是用Symfony/Twig构建的,现在正在使用React进行重构。但由于我使用React,我的一些页面在Google Tag Manager(GTM)中没有“视图”

我在React中使用了GTM。但是我在GTM中有很多(数十个)标记和触发器,它们基于3个本机事件“Container-loaded”(
GTM.js
)、“DOM-Ready”(
GTM.DOM
)和“Window-loaded”(
GTM.load

第一个解决方案(来自指南)是添加一个新的自定义触发器(基于历史源),并将我们的标记链接到这个新触发器上。但由于我有太多的标签,这不是一个令人满意的解决方案

第二种解决方案是使用数据层手动触发事件。这很好,我可以很容易地触发“DOM就绪”和“窗口加载”事件。但对于“集装箱装载”来说,它并没有像预期的那样工作。我猜GTM不会在每次页面加载时处理此事件超过一次

因此,以下是我的问题:
  • 是否有可能在GTM中“假装重新加载”(这样GTM就像我打开了一个新页面一样)
  • 或者可以多次触发“容器加载”(
    gtm.js
    )吗
“正常”容器加载触发器的屏幕截图:

手动调用的容器加载触发器的屏幕截图(来自React):

否。您可以多次调用
gtm.dom
gtm.load
,但不能调用
gtm.js

如果在SPA中从一页切换到另一页,则可以清空数据层。它应该模拟类似于假重新加载的东西。此外,使用VirtualPageViews跟踪您的网站也是最佳实践