数据模型与埋点方案
技术落地设计 — 数据表结构、事件定义、UTM规范
数据架构
Phase 1:直接从 Excel/CSV 手动汇总 + 小程序后台看板即可。 Phase 2(日单量 > 200 后):搭建轻量数据管道。
核心数据表
1. 内容曝光表 content_impressions
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| date | date | 日期 | 2026-06-01 |
| platform | varchar(20) | 平台:xiaohongshu / bilibili / wechat | xiaohongshu |
| content_id | varchar(64) | 内容ID(笔记/视频/文章) | note_abc123 |
| content_title | varchar(200) | 内容标题 | 为什么鼎味的猪肉更好吃 |
| content_type | varchar(20) | 类型:note / video / article | note |
| impressions | int | 曝光量 | 5000 |
| reach_uv | int | 触达去重UV | 3200 |
| likes | int | 点赞数 | 150 |
| collects | int | 收藏数 | 80 |
| comments | int | 评论数 | 25 |
| shares | int | 转发数 | 50 |
| read_rate | decimal(5,2) | 完读率/完播率 % | 42.5 |
| spend | decimal(10,2) | 推广花费(元) | 200.00 |
| is_paid | boolean | 是否付费推广 | true |
2. 渠道归因表 channel_attribution
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| user_id | varchar(64) | 用户ID | user_xyz |
| first_touch_channel | varchar(20) | 首次接触渠道 | xiaohongshu |
| first_touch_time | datetime | 首次接触时间 | 2026-06-01 10:30 |
| last_touch_channel | varchar(20) | 末次接触渠道 | miniprogram_direct |
| last_touch_time | datetime | 末次接触时间 | 2026-06-03 18:00 |
| touch_path | text | 完整接触路径 | xhs→search→mp_direct |
| first_order_id | varchar(64) | 首单ID | ord_001 |
3. 用户行为表 user_actions
| 字段 | 类型 | 说明 |
|---|---|---|
| event_id | varchar(64) | 事件唯一ID |
| user_id | varchar(64) | 用户ID |
| event_type | varchar(32) | 事件类型 |
| event_time | datetime | 事件时间 |
| page_url | varchar(500) | 页面路径 |
| utm_source | varchar(50) | UTM来源 |
| utm_medium | varchar(50) | UTM媒介 |
| utm_campaign | varchar(100) | UTM活动 |
| props | jsonb | 扩展属性 |
事件类型枚举:
| event_type | 说明 | 触发时机 |
|---|---|---|
| mp_page_view | 小程序页面浏览 | 每次页面切换 |
| mp_product_view | 商品详情浏览 | 进入商品页 |
| mp_add_cart | 加入购物车 | 点击加购 |
| mp_checkout_start | 开始结算 | 点击去结算 |
| mp_order_create | 下单成功 | 支付完成 |
| mp_coupon_use | 使用优惠券 | 提交订单时 |
| mp_share | 分享 | 点击分享按钮 |
| mp_nps_submit | 提交NPS评分 | NPS弹窗提交 |
4. 用户订单表 user_orders
| 字段 | 类型 | 说明 |
|---|---|---|
| order_id | varchar(64) | 订单ID |
| user_id | varchar(64) | 用户ID |
| order_time | datetime | 下单时间 |
| order_amount | decimal(10,2) | 订单金额(元) |
| discount_amount | decimal(10,2) | 优惠金额 |
| actual_amount | decimal(10,2) | 实付金额 |
| is_first_order | boolean | 是否首单 |
| order_seq | int | 第几单(1=首单) |
| utm_source | varchar(50) | 转化渠道 |
| city | varchar(20) | 城市 |
| district | varchar(20) | 区 |
5. 用户汇总表 user_summary
| 字段 | 类型 | 说明 |
|---|---|---|
| user_id | varchar(64) | 用户ID |
| register_time | datetime | 注册时间 |
| first_order_time | datetime | 首单时间 |
| total_orders | int | 累计订单数 |
| total_gmv | decimal(12,2) | 累计GMV |
| last_order_time | datetime | 末次下单时间 |
| is_member | boolean | 是否会员 |
| member_expire | date | 会员到期日 |
| invite_count | int | 邀请人数 |
| nps_score | int | 最近NPS评分 |
| lifetime_months | int | 生命周期(月) |
| ltv | decimal(12,2) | 用户LTV |
6. 每日汇总表 daily_metrics
| 字段 | 类型 | 说明 |
|---|---|---|
| date | date | 日期 |
| total_impressions | int | 总曝光量 |
| total_reach_uv | int | 总触达UV |
| total_engagement | int | 总互动量 |
| mp_visit_uv | int | 小程序访问UV |
| mp_order_count | int | 小程序下单数 |
| mp_order_uv | int | 下单用户数 |
| new_user_orders | int | 新用户下单数 |
| total_gmv | decimal(12,2) | 总GMV |
| total_spend | decimal(12,2) | 总营销花费 |
| cac | decimal(10,2) | CAC |
| aov | decimal(10,2) | 客单价 |
| member_renew_count | int | 会员续费数 |
| nps_avg | decimal(5,2) | 日均NPS |
UTM 参数规范
所有外部链接必须带 UTM 参数,用于渠道归因:
必填参数:
utm_source = xiaohongshu | bilibili | wechat | referral | direct
utm_medium = social_post | video | koc | ads | qr_code
utm_campaign = launch_june | member_promo | recipe_content | ...
utm_content = note_{note_id} | video_{video_id} | ...
示例链接:
https://mp.鼎味肉市.com/?utm_source=xiaohongshu&utm_medium=koc&utm_campaign=launch_june&utm_content=note_abc123埋点方案(Phase 1 最小可行)
Phase 1 只埋 5 个关键事件,其他数据从订单表 + 平台后台导出:
| 优先级 | 事件 | 目的 | 实施方 |
|---|---|---|---|
| P0 | mp_page_view | 页面访问量 | 小程序SDK |
| P0 | mp_order_create | 下单转化 | 小程序SDK |
| P1 | mp_add_cart | 加购→下单转化率 | 小程序SDK |
| P1 | mp_share | 裂变追踪 | 小程序SDK |
| P2 | mp_nps_submit | NPS评分 | NPS弹窗组件 |