更新时间:2023年2月28号
什么是会话
官方的定义是
会话将在用户执行以下任一操作时发起:
- 在前台打开应用
- 浏览网页或屏幕,且当前没有任何会话处于活动状态(例如,之前的会话已超时)
默认情况下,会话会在用户处于不活动状态 30 分钟后结束(即超时)。会话无持续时间限制。
其实就分两种情况:
- 第一次访问页面或打开应用的时候会开启会话
- 间隔超过30分钟后回访会开启新会话(这个30分钟的是默认的,可以在调整网站的会话超时设置里调整)
如果将第一种剔除,因为第一次访问肯定会产生会话,那么GA4的会话分割机制就只有一种——间隔超过30分钟后回访,会开启新会话,这种叫做“非活动状态持续30分钟”。
GA4会话的分割机制
GA4的会话分割机制简单很多,就只有一个,离开超过30分钟回来就会开启新会话。
我们来对比一下Universal Analytics、Google Analytics 4 和Adobe Analytics的会话/访问的分割规则:
情形 | 会话/访问分割规则 |
Universal Analytics | 访问超过30分钟开启新会话 从新的广告系列进来,开启新会话 过午夜,开启新会话 |
Google Analytics 4 | 非活动状态持续 30 分钟 |
Adobe Analytics | 非活动状态持续 30 分钟 活动12小时 2500次点击 100秒内100次点击 |
根据的Universal Analytics、Google Analytics 4 的会话分割机制,可以预见Google Analytics 4 的会话会比Universal Analytics的要小,如下是某个站点的对比:
因为如果广告系列来源在会话期间发生变化或某个会话跨越了一天的边界,也就是午夜,Google Analytics 4 不会创建新会话,而 Universal Analytics 会创建新会话。
而GA4的这个“非活动状态持续30分钟”的机制和Adobe Analytics的访问的分割机制之一一样,这个有意思,其实Google Analytics 4 蛮多设计或规则在借鉴Adobe Analytics,如探索、牌令、快捷键等。
接下来,来看不同情形下,Universal Analytics、Google Analytics 4 和Adobe Analytic的会话/访问的计数:
过午夜的时候,GA4是比较特殊的,它会将其视为一次会话,但会为这两天各统计一次,也就是两天连起来看的话,会话是1,两天分开来看,两天都有会话1。
会话数的计算
官方对会话数的定义是:GA4会估算唯一会话 ID 的数量,以此来计算您的网站或应用中发生的会话数。
注意是估算,会话是是一个估算值,所以会有GAP,如:
不同维度的会话数加总有与头部的会话数是不相等的,会有GAP。
会话数是基于去重的session_id,而session_id实际是时间戳,会重复,所以GA4里的会话数是偏低。
会话相关的参数
cookie里有关会话的信息
GA4有关会话的信息会存储在Cookie _ga_<容器ID>里:
后面的三个0是最近才有的,第一个0是60秒倒计时,可能是计算是否感兴趣的会话或计算页面停留时间,后面两个,我还不知道是什么意思。
Cookie有效期默认是两年,但实际是13个月,这个浏览器对第一方Cookie生命周期的限制导致的。
ga_session_id
当GA4的开启新会话的时候,它会有一个ga_session_id,会话内的所有事件都会与ga_session_id绑定,ga_session_id的在请求就是名为sid的参数,这个值是从Cookie _ga_<容器ID>里获取的:
sct是表示session count,
ga_session_id的本质是时间戳,所以它不是唯一的,也就是一个ga_session_id可能被多个用户所使用,所以GA4里的会话数是实际上是偏低的,如果你要获取准确的会话数,建议你是在BigQuery将 user_pseudo_id (这个其实就是Client ID)和 ga_session_id同时使用。
session_start
session_start表示的是发起会话的数量,它会在会话开启的时候最先触发,原则上每个会话都会有一个session_start,但实际上,会个别会话是由多个session_start,也有是0,这种情况不经常发送。
如下图就是一个会话有两个session_start:
一个会话有多个session_start:
这估计是收集机制错误,经过测试发现,在浏览器中的新窗口打开网站,就会产生session_start,所以如果访问是会在新窗口打开页面的,那么就会产生新的session_start。
看是报告或在探索里过滤的时候需要注意,不建议用session_start的数量去计算会话数。
与会话相关的指标
Google Analytics 4 虽然弱化了会话的,但仍然保留有会话相关的指标,目前主要三个:
- 感兴趣的会话数:持续至少 10 秒、发生了至少 1 次转化事件或至少 2 次网页浏览的会话的数量。
- 每位用户的感兴趣会话数:感兴趣的会话数除以用户数所得的结果
- 感兴趣的会话占比:计算方式是用感兴趣会话数除以会话数
感兴趣的会话数
感兴趣的会话有三种情况:
- 持续至少 10 秒的会话 :如果会话的时长超过一定的时间,该会话就成为“感兴趣的会话”,互动时长的默认阈值为 10 秒,可调整,调整的位置在“更多标记设置”——“调整会话超时设置”——“调整感兴趣的会话的计时器”。
- 发生了至少 1 次转化事件的会话:如果会话发生过转化事件,该会话就成为“感兴趣的会话”
- 发生了至少 2 次网页浏览的会话:如果会话内浏览2个页面以上,该会话就成为“感兴趣的会话”
只要满足上述情况之一,就计算为感兴趣的会话数。
每位用户的感兴趣会话数
这个比较简单,就是感兴趣的会话数除以用户数所得的结果。
关于用户数,详细可以看:Google Analytics 4 中识别用户的方式:身份空间。
感兴趣的会话占比
计算方式是:感兴趣的会话占比=感兴趣会话数/会话数,这个指标是跟跳出率最接近的了,1-感兴趣的会话占比就是跳出率,你可以用这个替代跳出率。
跳出率
Google Analytics 4 里的跳出率是不感兴趣的会话百分比。
计算方式是:跳出率=1-感兴趣的会话占比。