会话切割逻辑
1. 日志(请求)类型
浏览日志:网站、小程序及App SDK中,触发浏览请求时收数请求发出的日志,主要用于浏览量计算;
事件日志:网站、小程序及App SDK中,触发事件或自定义事件请求时收数请求发出的日志,主要用于事件数计算;
启动日志:App SDK中,触发App启动请求时收数请求发出的日志(其中包括正常启动、首次启动、deeplink启动),主要用于激活数、启动次数计算;
心跳日志:网站、小程序及App SDK中,用户停留一段时间后自动发送的请求,主要用于各类时长指标计算;
热图日志:网站和小程序SDK中,触发热图请求时收数请求发出的日志;
崩溃日志:App发生崩溃时采集的日志。
分享日志:网站、小程序
2. 开启会话
”会话“可以理解为信息交互的过程,当用户与客户端产生交互开始将开启一个会话,用户持续的交互行为将一直延续会话。
可以开启会话的日志类型:浏览、事件、启动、崩溃、分享。
可以延续会话的日志类型:浏览、事件、启动、崩溃、分享、心跳、热图。
3. 切割会话
某些特定场景时会话将被切割,被切割的会话将被视为当前会话结束,会话切割基于以下几个原则:
- 跨天切割会话
- 强制切割会话
- 访问间隔超过30分钟切割会话
- 来源切换切割会话
可以切割会话的请求:浏览请求、事件请求、启动请求。
3.1 跨天切割会话
当事件经过凌晨0点0分之后,之前的所有未结束的会话将被强制切割,0点0分之后产生的新的请求将被归为第二天的新会话进行处理。
3.2 强制切割会话
各类请求中如果带有SC(SessionControl)字段,如果该字段的值为1,则需要强制切割当前会话。
事件切割:支持通过在站点配置-会话切割规则设置中配置开始事件/结束事件来切割会话;如果开启了事件切割,则当遇到开始事件时会强制开始一个新会话,遇到结束事件时会强制结束当前会话。
3.3 访问间隔超过N分钟切割会话(可在站点配置-会话切割规则设置中进行时间间隔配置)
一个用户两次交互行为的请求时间超过N分钟之后,前后两次交互行为将分别归到两个不同的会话中。
3.4 来源切换切割会话
来源切换分为以下几种情况:
- 秒针广告来源切换
- 自定义广告来源切换(网站)
- 搜索来源切换(网站)
- Deeplink来源切换(App)
- 推广活动来源切换(小程序)
如果用的两次交互行为发生了以上来源的变更,则发生来源变更的请求将切割当前会话并开启一个新的会话。