Google跟踪代码管理器在单页应用中重新创建相同的代码

时间:2018-10-28 22:59:21

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

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

enter image description here

似乎正在一遍又一遍地重新创建Google Analytics(分析)标签。我不是GA专家,但根据我的阅读,这对于正确的分析确实很不利。我认为这与一遍又一遍地重新启动用户会话有关?

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);

1 个答案:

答案 0 :(得分:3)

GTM为每次匹配创建一个带有随机名称的跟踪器对象的新实例。尽管我没有任何官方信息,但我认为这样做是为了避免将按范围划分的自定义维度和其他设置自动传播到所有GA标签,无论您是否愿意(例如,您可能希望针对网页浏览量标签发送不同的信息,事件代码)。此外,如果您跟踪到多个GA帐户,这也可以避免跟踪器相互覆盖。

如果要在GA标签之间共享设置,则可以使用settings变量,并直接在标签设置中设置特定于标签的任何内容。

因此,您在调试器中看到的内容仅表示GTM正在按预期工作。对于Tag Assistant,虽然这是一个可能有用的工具,但它会发出很多错误警报,因此请谨慎使用。