Botim · Mini-program footprint

小程序埋点事件字典

14 个 kMP* 事件的含义、专属字段、日量级与落地位置;以及为什么 kMPH5 必须按 appid + event 拆分才能定位到一个具体埋点。

口径 Fabric core_data_360 · silver.botim_footprint_mp · dt=20260913(T+1,最新完整日) 落地核对 ES logs-footprint-mp-*(近 7 天)· Hive dwp.logs_footprint_mp_b_tracking 整理 2026-09-14
01 · 事件清单

全部 MP 事件(14 个 event_name)

所有事件共享一套公共字段:appidmpSessionIdmpVersionfwVersionlogTime(客户端毫秒时间戳)、baseInfo.{uid(MSISDN), deviceKey, deviceType, clientVersion, region…}。框架事件统一用前缀 /^kMP[A-Za-z0-9]+$/ 识别,新增事件自动纳入。

有数据无数据? 未验证行数 / session 为 2026-09-13 单日 Fabric 实测
event_name含义事件专属关键字段 行数去重 sessionapp 数 ESFabricHive
kMPLifecycle生命周期阶段流水量最大;一个 session 内多阶段连续上报stage = mp_entry / mp_first_screen / mp_first_render / mp_first_interactive / mp_download_start|end|error / mp_update_start|success / mp_local_package_found|not_found / mp_load_package_start|end|error / wv_terminate / on_hide / on_destroy …84,144,7245,986,124156
kMPJSBridgeErrorJSBridge 调用出错bridgeName · errorCode · errorMessage · duration69,583,73432,044,94679
kMPH5小程序自定义业务埋点唯一一个 name 本身不带业务语义的事件 → 见第 02 节event (业务事件名,顶层列) · b_tracking (原始载荷) · wid · exploreid · utm51,333,94028,422,72757
kMPPageView页面浏览mp_uri_path · pageUrl · pageTitle · loading (ms) · duration48,983,79936,196,747162
kMPEntry前台打开fatal 率的分母from (入口来源) · mp_uri_path · pageUrl38,162,30035,510,380157
kMPClose关闭duration (s)31,437,50729,525,648157
kMPBridgeUsageJSBridge API 调用统计快照detail = JSON 数组 [{apiName, callCount, isNativeCall}] · webviewVersion30,082,84028,974,971136
kMPUsage加载耗时 / 使用pk_loading · app_info_loading · pk_unzip_loading · fw_loading (ms,用分位数,勿用 avg)3,795,5392,084,072156
kMPEntryBG后台打开 / 切回from3,778,6973,095,197102
kMPPluginEntry插件打开pluginId · pluginVersion · componentName637,573287,5374
kMPFatal致命错误reason · step · when · detail257,610215,708108
kMPError一般错误无 appid,app 信息在 appInfo JSON 里error · appInfo (JSON 串)5,7621,1880
kMPCVR转化 / 支付成功类埋点与 kMPH5 是两个独立事件ES: mp_detail_obj.event · mp_detail_obj.parameter (tradeId)
Fabric: event 列(约半数为 NULL,拍平有缺口)
1,4791,3714?
kMPPluginFatal插件致命错误reason · step · when2121090

ES · logs-footprint-mp-*

实时,保留约 3–8 天。不含 kMPH5(全集群 30 天 0 命中,可能因 5,000 万行/天的量级未接入)。kMPCVR 的业务事件名嵌套在 mp_detail_obj.event

kibana-k8slogs-sgbot · name.keyword

Fabric · silver.botim_footprint_mp

T+1(最新分区 = 昨天),保留约 208 天,dt 为真分区,单日聚合 5–10 秒。14 个事件全量落地,是本表数字的来源。

core_data_360 · event_name / event / app_id / mp_session_id

Hive · dwp.logs_footprint_mp_b_tracking

承载全部 kMP* 事件与 kMPH5(nameevent 为两个独立顶层列)。kMPH5 目录与 Fabric 逐行一致(Ads 25,489,261 · STATISTICS 10,438,966),两者同一上游;当天分区持续入库,是 kMPH5 唯一的当日来源dt 不是分区键,任何查询都全表扫描(LIMIT 5 也要 ~2 分钟、439 mapper;GROUP BY 约 5 分钟),且同一用户不能并发。

dt · ts · uid · appid · region · devicetype · name · event · wid · exploreid · utm · b_tracking

02 · kMPH5

kMPH5 为什么必须按 appid + event 细分

name=kMPH5 是所有小程序共用的外壳,本身不携带任何业务含义;真正表示"用户做了什么"的是 event 列,而这个字段由各小程序前端自行定义、自由命名,没有全局注册表。同一个字符串在两个小程序里可以指完全不同的动作。

57
个小程序在报 kMPH5
873
个不同的 event 名
1,029
个 (appid, event) 组合 — 比 event 名多 156 个,即重名
65,242
行 event 为空(0.13%),无法按 event 定型

重名实测:同一个 event 名被多少个小程序使用

event使用它的 app 数含义是否相同
STATISTICS21否 — exploresearchv4 是搜索页统计(1,044 万行 / 105 万 session),callratingdialogv2 是通话评分弹窗(78 万),sp.ai 是 AI 会话(33 万),utilitypayment 是水电缴费(29 万)…
ERROR14否 — 各 app 自己的前端错误上报
Quest Card Viewed in Mini program3相近 — 任务卡片在不同宿主小程序内曝光
front_page3否 — 各自首页
International Transfer Flow Started
及 International Transfer 系列 30 余个事件
2相同 — 同一套汇款埋点名出现在 2 个 app 下(remittanceapp 与支付 webview)
Copy Link · Instagram · Messenger · More · Botim2相近 — 分享面板选项
KYC_remittance_entry2相同 — KYC 入口

只按 event="STATISTICS" 聚合,会把 21 个业务毫不相关的小程序混成一个数字;先 appid 限定命名空间,再看 event,才能得到"搜索页的统计"这一个干净指标。Lighthouse 的 server/queries/mp/funnel.ts 正是这样做的:catalog 与查询接口永远先 app_id = …,再 event_name='kMPH5' AND event = @param,且 event 走 SQL 参数绑定。

唯一确定一条 kMPH5 记录

类型键
appid + event → 是哪个埋点
实例键
appid + event + mp_session_id + ts → 哪次启动、哪一刻的那一次触发
Hive 兜底
dwp 表无 session 列 → 用 uid 代替 mp_session_id
载荷兜底
event 为空时看 b_tracking 原始 JSON

为什么实例键必须带 ts:同一个 event 在一个 session 内反复触发是常态——utilitypayment · STATISTICS 平均 12.5 次/session,exploresearchv4 · STATISTICS 9.9 次,appvip · Vip Subscription Plan Selected 10.2 次。没有时间戳,appid+event+session 仍会撞到多行。

kMPH5 主要 (appid, event) 组合 · 2026-09-13

appidevent行数去重 session次 / session
me.botim.voip.endcallpagev2Ads25,489,26124,454,6561.0
me.botim.miniprogram.exploresearchv4STATISTICS10,438,9661,050,2949.9
me.botim.miniprogram.exploresearchv4Search Result Viewed1,116,492675,7271.7
me.botim.miniprogram.exploresearchv4Search Bar Clicked1,071,3041,028,9481.0
me.botim.function.callratingdialogv2STATISTICS784,898751,6851.0
me.botim.function.callratingdialogv2ERROR764,893349,6902.2
me.botim.miniprogram.exploresearchv4ERROR540,389499,3341.1
me.botim.pay.remittanceappremittance_entry_explore430,336406,8511.1
me.botim.event.vipcheckoutVIP Popup Viewed During Call425,694402,3931.1
me.botim.function.appvipApp Viewed380,127328,7221.2
me.botim.pay.remittanceappInternational Transfer Flow Started338,056325,7581.0
me.botim.sp.aiSTATISTICS325,63451,4366.3
developers.ae.utilitypaymentSTATISTICS294,89623,63112.5
me.botim.function.appvipVip Subscription Plan Selected181,28417,83710.2
me.botim.sp.ogoldGold Portfolio page viewed107,01262,2051.7
me.botim.credit.credith5EasyCash Homepage Viewed70,72149,9201.4
me.botim.function.imsharedialogNULL62,87458,5431.1
me.botim.rd.p2pP2P Mini Program Launched56,96356,2241.0
me.botim.pay.kycKYC Flow Entered54,77443,4111.3
三个要留意的坑。event 命名风格不统一:既有 remittance_intl_sendnow 这类 snake_case,也有 "International Transfer 'Pay' button Clicked" 这类带空格、括号、引号的自然语言 — SQL 必须参数化,不能拼串。 ② me.botim.function.imsharedialog 的 kMPH5 全部 event=NULL(6.3 万行/天),只能从 b_tracking 载荷里还原动作。 ③ kMPH5 的当天数据只有 Hive 有:ES 不含它,Fabric 滞后一天;Hive 当天分区近实时入库,延迟约 10–20 分钟(09-14 15:00 UTC 时点当天已有 3,556 万行,最近 15 分钟 21.6 万、最近 60 分钟 149 万,对比日均 53.5 万 / 15 分、214 万 / 小时),但每查全表扫描 2–4 分钟。ts 是客户端时间,MAX(ts) 会被未来时间戳污染(实测 +14 ~ +37 天),判断延迟要数最近 N 分钟内的行数。

要查 kMPH5,去哪里

  • Fabric silver.botim_footprint_mp — 首选。WHERE dt='YYYYMMDD' AND event_name='kMPH5' AND app_id='…',单日聚合 5–10 秒;本地 node _fq.mjs silver "…" 或走 funnel.ts。
  • Hive dwp.logs_footprint_mp_b_trackingname='kMPH5'唯一能查到当天数据的源(当天 dt 持续入库),代价是每次全表扫描 2–4 分钟,一条一条跑。
  • ES — 没有 kMPH5;搜到 kMPCVR 不是同一个东西。

与 kMPCVR 的区别

  • kMPCVR 只有 4 个 app(ogold / appvip / vipcheckout / nationalbonds)、约 1,500 行/天,event 清一色 in_app_pch_suc,是支付成功回调类埋点。
  • kMPH5 是 57 个 app、5,100 万行/天的通用业务埋点通道。
  • 两者的 appid+event 唯一键逻辑相同,但 kMPCVR 在 ES 中 event 嵌套于 mp_detail_obj,在 Fabric 中约半数 event 为 NULL。
数据:Fabric silver.botim_footprint_mp dt=20260913 全表 362,205,716 行;ES 对照窗口 2026-09-07 → 09-14;Hive 抽样 dt=20260913。 代码参照:botim-lighthouse server/queries/mp/funnel.ts(业务步 = kMPH5.event,页面步 = kMPPageView.mp_uri_path,框架步 = event_name)。