埋点方案设计
问题
如何设计一套规范的埋点方案?
答案
埋点设计流程
事件分类
| 类型 | 说明 | 示例 |
|---|---|---|
| 页面浏览 | 用户进入/离开页面 | page_view、page_leave |
| 点击行为 | 用户点击按钮/链接 | button_click、banner_click |
| 曝光事件 | 元素出现在可视区域 | card_expose、ad_impression |
| 业务事件 | 核心转化节点 | add_to_cart、order_submit、payment_success |
| 异常事件 | 错误/异常 | js_error、api_error |
命名规范
| 规则 | 示例 |
|---|---|
使用 snake_case | page_view,不用 pageView |
对象_动作 格式 | button_click、order_submit |
| 统一前缀 | ecom_add_cart、ecom_checkout |
| 避免缩写 | product 不用 prod |
埋点文档模板
| 字段 | 说明 | 示例 |
|---|---|---|
| 事件名 | 英文唯一标识 | product_detail_view |
| 事件中文名 | 业务描述 | 商品详情页浏览 |
| 触发时机 | 什么时候上报 | 页面加载完成时 |
| 端 | 哪个端上报 | App / H5 / Web |
| 属性列表 | 需要携带的参数 | product_id, category, price |
| 负责人 | 开发 & 数据 | 张三 / 李四 |
埋点文档是数据分析的基石
- 所有埋点必须有文档
- 文档需要产品、开发、数据三方确认
- 用 Notion/Confluence/飞书文档统一管理
常见面试问题
Q1: 埋点漏埋/错埋怎么处理?
答案:
- 预防:上线前做埋点测试(抓包/调试面板验证)
- 发现:数据校验规则(如事件 UV 突降告警)
- 修复:热修复 / 客户端发版,无法补历史数据
- 回溯:如果有全埋点兜底,可以用全埋点数据补充
Q2: 代码埋点和全埋点怎么选?
答案:
- 代码埋点:核心路径(注册、下单、支付),需要精确的业务属性
- 全埋点:浏览、点击等通用行为,自动采集减少工作量
- 通常两者结合使用