跳转到内容
Docs

和 GA4 的对比

适用于Alpha

只列产品团队真正用得上的能力。「部分」表示能力存在但形态更窄,具体差别写在备注里。

GA4 能力 OpenRUM 备注
自动 page_view ✅ SPA 路由切换单独归为 navigation 类型
自动点击采集 ✅ ui.click,严格 schema,不采文本内容
自动滚动 / 文件下载 / 出站点击 / 站内搜索 / 视频 ❌ 需要自己发自定义事件
自定义事件 ✅ captureEvent()
事件参数 ✅ attributes,≤ 20 个,可作为 property:<key> 维度查询
数值型参数 ✅ measurements,≤ 20 个,聚合出总和、估算总和、平均、最值、p50 与 p90
关键事件 / 转化 ❌ 无法把某个事件标记为转化;漏斗最后一步是最接近的替代
漏斗探索 ✅ 2–5 步,会话级,开放式漏斗
路径探索 ⚠️ 部分 只能从会话开头锚定,不支持从终点倒推
同期群 / 留存 ⚠️ 部分 只有周度,只按匿名访客 ID
细分与受众 ❌ 每次查询一个维度,没有可保存的细分
用户属性 ❌ 有上下文标签,但不是行为维度
User-ID 报告 ⚠️ 部分 setUser() 会存进事件,但所有行为指标数的都是匿名 ID
UTM / 广告归因 ❌ 查询串在归一化阶段就被剥掉了,source 只有 Referrer 域名
渠道分组 ❌ 除 Referrer 域名外没有 direct / organic / paid 的分类
实时报告 ⚠️ 部分 会报数据新鲜度,通常 2 分钟内,但没有专门的实时视图
电商报告 ⚠️ 部分 收入和客单价可以通过 measurements 得到,但没有商品级 schema
DebugView ⚠️ 部分 事件样本接口能看某个事件名最近的原始事件
数据导出 ✅ ClickHouse 是你自己的,直接查
数据留存控制 ✅ 按项目分别设置原始和聚合留存,物理过期
不用 Cookie、免同意横幅 ✅ 匿名 ID、不采原始输入、自部署

measurement 聚合覆盖了什么、没覆盖什么

Section titled “measurement 聚合覆盖了什么、没覆盖什么”

每个 measurement key 都会算出总和、按采样率还原的估算总和、平均值、最小值、最大值, 以及 p50 和 p90。任意一个 key 还可以按当前选中的维度拆分,包括 property:<key>—— 「收入按支付方式拆分」就是这么来的。

两个限制值得知道。这个聚合只收自定义事件(其他事件类型本来就不带 measurements), 而且它从迁移执行的那一刻才开始积累:物化视图无法回填历史,所以升级之前入库的事件 没有 measurement 聚合,以后也不会有。

setUser() 会把 user_id 写到之后的每条事件上,也确实存下来了。但 uniqueUsers、 留存同期群、漏斗身份,用的全都是匿名访客 ID。同一个人用手机和笔记本访问, 在所有行为报告里都是两个用户——哪怕你的应用清楚知道那是同一个账号。

URL 的查询串在归一化阶段、也就是事件入库之前就被移除了,所以 utm_source 之类根本到不了数据库。 source 只有 Referrer 域名,没有别的。这是一条有意划下的隐私边界,不是疏漏—— 但确实意味着付费投放的归因分析在这里目前没有对应能力。

Release Alpha · commit local