我正在开发一个混合应用程序,其中登录页面用php编写,其余应用程序用react编写。我想针对相同的SPA实施Google Analytics(分析)。我在componentWillMount中推送数据层,并通过index.php文件中的php代码添加了我的gtm脚本。
我面临的问题是第一次,每当页面从非反应页面转换为反应页面时,我的GTM层就不会将数据推送到gtm中。如果在React页面中与之一起移动,则一切正常。
我们非常感谢您的帮助。
谢谢
答案 0 :(得分:1)
使用SPA时,您面临的问题很常见。
让我给你举个例子:
您该如何解决?
第一个选项是启用“历史记录”(变量>配置>历史记录)部分中的内置变量:
第二,创建一个触发器(“触发器”>“新建”>“历史记录更改”),该触发器针对所有历史记录更改触发:
在预览模式下,您可以检查历史记录是否更改了您的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。
希望这能为您澄清一切。