我先圈出「我真的會用到」的事件,接著把要留的欄位定成最小集合,能跑就好,不談炫技。
我先圈的 10 個事件
1. member_registered:會員註冊
2. member_profile_updated:會員資料更新(電話、同意狀態…)
3. order_created:建立訂單
4. payment_succeeded / payment_failed:付款成功/失敗
5. order_refunded:退款成立
6. reservation_created:服務/預約成立(美容、醫療等)
7. survey_completed:問卷完成
8. coupon_issued / coupon_redeemed:券發放/券使用
9. notification_sent:推播或簡訊送出
10. app_session_started:App 啟動(活躍判斷)
命名全部用小寫底線(snake_case)。同一件事只取一個名字,避免口徑吵不完。
我今天先定的「欄位最小集合」
• event_name:事件名稱(例:order_created)
• event_time:事件時間(ISO 8601,例:2025-09-15T21:30:00+08:00)
• member_id(可空)
• phone_hash(可空;去識別用)
• email(可空)
• order_id(可空)
• sku_id(可空)
• qty(可空)
• amount(金額;先決定含稅或未稅其一)
• currency(例:TWD)
• channel(App/Web/Store)
• source(POS/Payment/Survey…)
• consent_state(Y/N)
• trace_id(把同一流程串起來)
• version(欄位異動就 +1)
• note(備註,可空)
我自己先打的 CSV 表頭
event_name,event_time,member_id,phone_hash,email,order_id,sku_id,qty,amount,currency,channel,source,consent_state,trace_id,version,note
我手動打了兩筆假資料來測流
member_registered,2025-09-15T09:12:00+08:00,M123456,hash_abc,,,,,,TWD,App,App,N,t_001,v1,首註冊
order_created,2025-09-15T09:15:22+08:00,M123456,hash_abc,,O20250915001,SKU-1001,1,888,TWD,App,POS,Y,t_001,v1,首單
我今天做的三個決定
• 時間一定帶時區(+08:00);之後要轉 UTC 再統一也可以。
• 金額口徑一次定清楚(含稅或未稅只選一個)。
• 個資最小化:能空就空;必要再用 hash。每筆都留 version 與 trace_id 方便回溯。
小結:有了「事件 × 欄位最小集合」,我就能開始把分群與名單規格化,之後看板也能穩定日更。工具先不要卡,標準先走在前面。
明日預告(Day 3):把這份欄位轉成分群條件與名單匯出規格(檔名、欄位、頻率、權限),讓名單可以每天重跑、結果一致。