GA4的请求是Canceled:原因可能是什么?如何解决

Google Analytics 4 Haran 3小时前 16次浏览 0个评论
文章目录[隐藏]

GA4请求被浏览器标记为 Canceled,一般不是GA4本身的Bug,而是浏览器在发送HTTP请求时“中途终止”了。

最常见的原因和对应解决方案如下:

页面跳转过快(最常见)

原因:用户点击按钮或触发事件后,页面立即跳转,GA4collect请求还没发出去就被浏览器取消。

表现

  • Network面板里看到collect请求状态为Canceled
  • 请求未发送完成,数据丢失

解决方案

使用Beacon发送

GA4有三种发送数据的类型:img、xhrbeacon,其中Beacon是用 navigator.sendBeacon()发送,能尽可能保证在跳转前发送数据。

现在GA4默认是先试用beacon的方式去发送数据,检查请求,如果是POST,那估计是Beacon,如果是GET,那么是img,在GTM中将transport_type设置为beacon

延伸阅读:聊聊Google Analytics 4的数据传输的3种类型

 

延迟跳转(兜底)

页面延迟500ms跳转。

 

使用 event_callback 或 Promise 确认发送

如果你是用gtag方式做事件跟踪,可以使用 event_callback 或 Promise 确认发送,核心思路是:在触发GA4事件后,等事件发送完成再执行跳转或其他动作。如:

<a href="https://www.ichdata.com/tag/gtag" title="查看更多关于gtag的文章" target="_blank">gtag</a>('event', 'purchase', {
  value: 100,
  currency: 'USD',
  event_callback: function() {
    window.location.href = '/thank-you';
  }
});

 

网络或资源加载问题

原因

  • 用户网络慢,浏览器刷新页面导致请求被cancel
  • GA4脚本未加载完成就触发事件

解决方案

  • 确保gtag.js<head>里加载,尽量先初始化再触发事件

 


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址