运营看板上推送送达率 98%,同期 App 内曝光埋点只覆盖 61% 的设备。厂商推送平台后台的实收数据是 63%,三个数对不上。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,服务端把厂商接口返回的 success 当成送达,那只代表消息被接收,不代表设备收到。安卓厂商通道还会二次过滤,真正到达要以客户端上报为准。统计口径没统一,看板就一直虚高。
「推送到达率统计」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
SELECT vendor, count(*) submitted,
sum(arrived) arrived,
round(100.0*sum(arrived)/count(*),1) rate
FROM push_stat WHERE dt='2026-11-12' GROUP BY vendor;
具体做法是,区分提交成功 厂商接收 客户端到达 三个口径;用客户端曝光埋点回传 按 message_id 去重;看板只展示到达率 提交成功率放次要位置;按厂商拆分统计 找出差异最大的通道。
最后用这个标准收尾,看板到达率和客户端埋点差异缩小到 3 个百分点以内,各厂商拆分数据都能对上。
