【问题标题】:GTM layer not pushing dataGTM 层不推送数据
【发布时间】:2018-10-04 05:28:58
【问题描述】:

我正在开发一个混合应用程序,其中登录页面是用 php 编写的,其余应用程序是用 react 编写的。我想为相同的 SPA 实施谷歌分析。我在 componentWillMount 中推送数据层,并且我的 gtm 脚本正在通过 index.php 文件中的 php 代码添加。

我第一次面临的问题是,每当页面从非反应页面转换到反应页面时,我的 GTM 层不会将数据推送到 gtm。如果在反应页面中移动,一切正常。

非常感谢任何帮助。

谢谢

【问题讨论】:

  • 请编辑您的问题并包含您的代码。理想情况下是mcve

标签: javascript reactjs google-analytics google-tag-manager


【解决方案1】:

您在使用 SPA 时遇到的问题很常见。

让我举个例子:

  1. 当您从 https://digitalmarketingbloq.com 移动到 https://digitalmarketingbloq.com/2018/08/07/how-to-filter-internal-traffic-in-google-analytics-with-google-tag-manager/ 浏览器与服务器通信。页面正在渲染 并启动 GTM。
  2. 在您的示例中 您的 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作为和事件VirtualPageview推送到dataLayer。 GTM 将能够选择它,但您需要创建 2 个用户定义的变量 virtualPageTitle 和 virtualPageURL。触发器将是 VirtualPageview。

希望这可以为您澄清一些事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-27
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多