google-analytics - Google 跟踪代码管理器在单页应用程序中重新创建相同的标记

标签 google-analytics single-page-application google-tag-manager progressive-web-apps

在我的 SPA 中导航时,我触发 VirtualPageView 事件,但这就是 Google Analytics debugger 的内容。吐出:

enter image description here

它似乎一遍又一遍地重新创建 Google Analytics 标签。我不是遗传算法专家,但从我读到的内容来看,这对于正确的分析来说确实很糟糕。我认为这与一遍又一遍地重新启动用户 session 有关?

Google Tag Assistant 似乎认为 GTM 本身正在被重新创建:

enter image description here

GTM 预览控制台中的一切似乎都很好:

enter image description here

强调我的担忧:GA 标签/跟踪器似乎被反复重新创建。我对吗?如果是这样,我该如何解决?


作为引用,以下是我在 GTM 中配置的内容:

enter image description here

我的应用程序中处理 GTM 事件的关键函数如下:

const sendEvent = ({event, eventCategory, eventAction, eventLabel}: GtmEvent): void =>
  send({
    event,
    eventCategory,
    eventAction,
    eventLabel,
    nonInteraction: false
  });

const sendVirtualPageView = (data: { url: string, title: string }): void =>
  send({
    event: <'VirtualPageView'>'VirtualPageView',
    virtualPageURL: data.url,
    virtualPageTitle: data.title,
  });


const send = (data: GtmEvent | VirtualPageView): void =>
  window.gtm.push(data);

最佳答案

GTM 为每次点击创建一个具有随机名称的跟踪器对象的新实例。虽然我没有任何官方信息,但我认为这样做是为了避免命中范围内的自定义维度和其他设置自动传播到所有 GA 标签,无论您是否希望它们(即您可能希望为浏览量标签发送不同的信息和事件标签)。如果您跟踪多个 GA 帐户,这还可以避免跟踪器相互覆盖。

如果您希望在 GA 标记之间共享设置,您现在可以使用设置变量,并直接在标记设置中设置特定于标记的任何内容。

因此,您在调试器中看到的内容仅意味着 GTM 正在按预期工作。至于 Tag Assistant,虽然这是一个潜在有用的工具,但它会发出大量错误警报,因此请谨慎使用它。

关于google-analytics - Google 跟踪代码管理器在单页应用程序中重新创建相同的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53036812/

相关文章:

java - 单页应用程序的 Spring Boot 资源处理程序模式

gwt - 如何在 Dart 中实现具有多个 View 的单页应用程序?

google-analytics - 如何使用 dataLayer 发送并发查询以获取产品详细信息和产品列表?

google-analytics - 通用营销事件衡量 Google Tag Manager for Apps

javascript - GTM 内容事件

c# - C# 中的谷歌分析 API

javascript - 修复谷歌分析的跳出率

javascript - Google Analytic - 来自 cookie 的关于成功交易的媒介信息

single-page-application - Next.JS单页应用程序?

javascript - Google 跟踪代码管理器无法处理链接点击