聊聊Google Analytics 4的数据传输的3种类型

Google Analytics 4 Haran 7年前 (2018-01-05) 5826次浏览 0个评论
文章目录[隐藏]

更新时间:2025年1月4号

这节跟大家分享一下Google Analytics 4的数据传输机制。

一般来说,在介绍Google Analyitcs 4的传输机制的时候,通常直接说是通过虚拟一像素(gif)的形式是实现数据的传输的,但是实际上,这个只是其中的一种形式,Google Analytics 4中实际是有3种发送数据的方式的,分别为:

  • Image Beacons (GIF请求)
  • XHR (XMLHttpRequest)
  • Navigator.sendBeacon

Image Beacons

Image Beacons,中文叫GIF请求,这是最基本的传输方法,通过向Google Analytics 4服务器发送一个1×1像素的透明GIF图像来传输数据。每个页面浏览或事件触发都会生成一个包含数据的URL,这个URL指向Google的收集服务器。

可以在浏览器中的Network找到包含collect的请求,发送的类型是GET,注意Type是gif,表示这个就是虚拟像素:

聊聊Google Analytics 4的数据传输的3种类型

 

 

请求的链接就是要传递的信息。

  • 优点: 简单且广泛兼容,几乎所有浏览器都支持GIF图片请求,即使在JavaScript被禁用的情况下也能工作
  • 缺点: 由于每个数据点需要单独的HTTP请求,这可能会影响页面加载速度,特别是在大量数据传输时;另外在离开页面时可能无法发送数据,因为依赖于页面加载状态。

XHR

XHR的全称是 XMLHttpRequest,这是使用浏览器的XMLHttpRequest对象(或现代的Fetch API),GA4可以发送后台的异步请求来传输数据,这种方法允许在不重新加载页面的情况下发送数据,提高了性能。

可以在浏览器中的Network找到包含collect的请求,发送的类型是POST,type是XHR或fetch(注意Type是fetch,可能是Fetch API,也可能是sendBeacon API,区分不了)

  • 优点: 比GIF请求更高效,因为它允许批量发送大量数据,这减少了网络请求的数量,提高了传输效率和用户体验。
  • 缺点: 需要JavaScript支持,因此如果用户禁用了JavaScript,数据将无法传输;另外在在离开页面时可能无法发送数据,因为依赖于JavaScript执行环境。

 

 

Navigator.sendBeacon

这是一种较新的方法,利用了浏览器的navigator.sendBeacon API,可以向服务器异步地发送数据,它允许在用户离开页面时(例如,关闭标签页或导航到另一个页面)发送数据。这确保了即使页用户离开页面,数据也能可靠地发送到服务器。

可以在浏览器中的Network找到包含collect的请求,发送的类型是POST,type是fetch(注意Type是fetch,可能是Fetch API,也可能是sendBeacon API,区分不了)

  • 优点: 特别适用于捕获用户离开页面时的行为(如退出页面事件),因为它不会阻塞页面卸载。它提供了更高的可靠性和数据完整性。
  • 缺点: 较旧的浏览器可能不支持sendBeacon API,因此需要有备用方法。

 

总结

类型
Method
Type
发送数据的大小限制
Image Beacon
GET
gif
16K,MP协议是130KB。
XMLHttpRequest
GET/POST等
fetch
16K,MP协议是130KB。
navigator.sendBeacon
POST
fetch
16K,MP协议是130KB。
XMLHttpRequest和navigator.sendBeacon的发送请求在浏览器开发者工具里不好区分,因为Type都是fetch,可以在GTM里设置参数transport_type,通过transport_type去区分。

 

这几种方式都各有优缺点:

  • 使用image,每个页面或事件都需要发送单独的HTTP请求,确保数据即时发送,但这可能会影响页面加载速度
  • 使用XHR,允许批量发送数据,这减少了网络请求的数量,提高了传输效率和用户体验,但用户离开没发送就会丢失数据
  • 使用sendBeacon,可以向服务器异步地发送数据,确保了即使页用户离开页面,数据也能可靠地发送到服务器,但不支持一些旧浏览器和会占用网络带宽和资源

 

Google Analytics 4使用哪种类型的规则是:首选beacon(如果浏览器支持),其次采用xhrimage 。如果你指定了“beacon”,而用户的浏览器不支持“navigator.sendBeacon”方法,则Google Analytics 4会转而使用xhrimage,具体取决于匹配规模。


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

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

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