埋点事件模型
定义埋点事件应该如何命名、分层和建模,保证数据语义稳定、可分析、可治理。
#type / concept
#status / evergreen
#tech / dev / frontend
[!info] related notes
埋点事件模型
一句话定义
埋点事件模型是在定义“什么叫一个事件、它带什么上下文、如何保持语义稳定”,本质上是前端侧的事件建模规则。
核心内容
- 一个事件通常至少要回答:谁、什么时候、在哪里、做了什么、对什么做、结果如何
- 事件名应该优先表达业务语义,而不是表达 UI 细节
- 常见结构可以理解为
Action + Context + Target + Result - 事件里常见字段包括:
event_name、event_id、timestamp、user_id、anonymous_id、session_id、page、properties、experiment、schema_version
一个稳定的命名原则
- 推荐用“对象 + 动作”,例如
product_click、order_submit、payment_success - 不推荐
btn1_click、red_button_click这类依赖 UI 细节的命名 - 同一业务动作不要并行造多个近义事件,否则后续口径会混乱
事件和指标不是一回事
page_view、product_click、payment_success是事件- PV、点击率、支付成功率、留存率是指标
- 指标依赖事件计算,所以事件模型不稳定,指标口径就会持续漂移
边界与易混淆点
- 事件模型不是埋点字典平台本身,但字典平台通常建立在事件模型之上
- 事件字段不是越多越好,优先保留长期稳定、可解释、可复用的上下文
- 字段改名、改类型、改触发时机都属于模型变化,应该被版本化管理