google-analytics - 有没有一种安全的方法可以将 eventCallback 与 GTM DataLayer 一起使用?

标签 google-analytics google-tag-manager google-datalayer

当有人点击我网站上的“购买”按钮时,我正在尝试使用 dataLayer 和 dataLayer.push 通过 Google Tag Manager 跟踪此事件。

它看起来像这样:

dataLayer.push({
  'event': 'service',
  'category': 'purchase',
  'action': 'product selected',
  'label': product
});


问题是,每次用户单击按钮时,服务都会立即重定向到购物车,因此在某些情况下,事件没有足够的时间触发,并且 Google Analytics 中的数据不完整。

我知道有一个“eventCallback”选项可以与 dataLayer 一起使用,它看起来像这样

dataLayer.push({
  'event': 'service',
  'category': 'purchase',
  'action': 'product selected',
  'label': product,
  'eventCallback': function () {
    //redirect to the shopping cart
  }
});

});


但是这个选项的问题是,它产生了依赖性,并且在某些情况下,用户没有被重定向到购物车,因为 Google 标签管理器的一些问题(这对我们来说是一个大问题)。

是否有更流畅、更有效的方法来处理这个问题,以便我们可以在不中断服务的情况下收集尽可能多的数据(例如,在用户浏览器中启用跟踪保护时)

最佳答案

有一个属性 eventTimeout 可以用来忽略 GTM 并无论如何重定向用户。但是,浏览器也有可能完全阻止 GTM,因此您还需要检查脚本是否已正确加载到您的应用程序中,如果没有,只需调用该回调而不是推送到数据层

关于google-analytics - 有没有一种安全的方法可以将 eventCallback 与 GTM DataLayer 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37299561/

相关文章:

angularjs - 使用 Angulartics、Google 标签管理器和分析以及动态代码

javascript - 如何将动态价格推送到数据层?

google-analytics - Google跟踪代码管理器dataLayer变量未定义

google-analytics - 获取一系列值(每日)而不是给定日期范围的聚合分数

javascript - gtag 实现和 gtm 实现之间有什么区别?

google-analytics - Google跟踪代码管理器“点击监听器”是否未检测到所有点击?

google-analytics - 谷歌分析事件排列

single-page-application - 在单页应用程序中重置数据层变量(谷歌标签管理器)

javascript - 使用谷歌分析跟踪对 div 的点击

ios - 我可以在 IOS 应用程序中为 WebView /浏览器实现谷歌分析吗?