session_start是什么?
session_start是GA4中的一个自动收集事件 (Automatically collected event),它标志着一个新会话(Session)的开始。
session_start的生成机制
当用户访问网站,是如下任一情况时:
- 第一次访问
- 用户不活动30分钟后
GA4会自动开启新会话,在发送给Google服务器的第一个请求上自动带有_ss参数,如:
ss就表示session_start,通常session_start产生的时候,会有一个新的会话ID(session_id )和会话数(ga_session_number)。
session_start丢失的原因
CMP设置错误
- 错误:CMP设置错误,有两种情况:一种是配置错误导致第一个请求丢失,一种是部分CMP有Cookie白名单,GA4的Cookie生成受限
- 原因:丢失第一个请求;GA4生成不了Cookie
- 解决方案:正确配置CMP,确保第一个请求能正常跟踪;将GA4的域名添加到CMP的白名单
Measurement Protocol(MP)跟踪,但没有附带必要字段
- 错误:MP请求没有包含session_start事件
- 原因:MP协议在跟踪会话事件时本身就不会自动生成session_start。
- 解决方案:必须通过MP增加发送session_start ,自己维护ga_session_id、ga_session_number,其后所有事件必须附带相同的ga_session_id、ga_session_number,还要注意时间戳顺序
数据导入(导入事件)
- 错误:导入的事件数据里没有包含 session_start事件或ga_session_id、ga_session_number
- 原因:通过GA4里的数据导入功能导入的事件数据缺少session_start,ga_session_id、ga_session_number
- 解决方案:导入的事件里增加session_start ,ga_session_id、ga_session_number,其后所有事件必须附带相同的ga_session_id、ga_session_number,还要注意时间戳顺序
首个事件丢失
- 错误:首个事件发送失败,如请求是Canceled状态
- 原因:页面跳转快;网络不好;大量JS阻塞等,延伸阅读:GA4的请求是Canceled:原因可能是什么?如何解决
- 解决方案:确保首个事件正常发送,跟踪
页面根本没有 page_view(SPA 场景常见)
- 错误:SPA网站没有做虚拟页面跟踪,用户在不活动30分钟后继续访问页面,没有页面加载,没有发送事件,直到页面重新加载才发送
- 原因:没做虚拟页面跟踪
- 解决方案:确保首个事件正常发送,跟踪




