Google 标签管理器、增强型电子商务跟踪和单页应用程序

Google Tag Manager, Enhanced Ecommerce Tracking and Single Page App

由于没有太多关于这三者组合的信息,我的问题是:

当用户进入应用程序页面时,只有第一页会被跟踪为综合浏览量,除非您在 GTM 的历史记录更改触发器(自动)上触发代码或为特定页面发送综合浏览量事件 (手动跟踪)。

SPA 通常嵌入到传统的往返页面中,因此 GTM 片段位于 head 标签中,而 ecom 片段则放置在应用内。

当用户进入应用中的下一页时缺少重新加载,head 标记中的 DL 代码段要么被覆盖,要么可能附加新信息。

这产生了两个问题:

  1. 从根本上说:我可以将 DL 信息从应用程序内部推送到 GTM 片段中,该片段位于往返页面的 header 中吗?
  2. 我不应该在每次在应用程序内查看新页面后清理 DL 吗?

非常感谢对此的答复!

  1. 是的,您应该可以在应用程序中使用 dataLayer.push。需要注意的是,您不必在网页浏览的 GTM 触发器中使用 GA 标记,您可以很好地设置一个 "SPA-screen-view" 事件并将其推送到数据层以触发 GA 标记。

  2. 您不需要在每次浏览网页后都清除数据层。只需跟踪您正在推送和捕获的变量。它在概念上与 ReactJS 中的状态非常相似

示例:

在您发送的一次 SPA 综合浏览量中说:{'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',因为它没有更新。