diff --git a/docs/验收记录-阶段B.md b/docs/验收记录-阶段B.md new file mode 100644 index 0000000..9700cf2 --- /dev/null +++ b/docs/验收记录-阶段B.md @@ -0,0 +1,38 @@ +# 采集阶段B(业务事件体系)验收台账 + +日期:2026-09-20 · 分支 m1 · SDK 0.2.1 · 服务端归因 v2 +部署:server(tracker-web 重建 + recompute_attribution v2:3465 first_touch + 3655 session_entry)→ admin(index-BXQ9nTvO.js)→ SDK(build_id c9967b6-202609190012,gzip 5781B) + +## 前置:阶段A 48h 观察窗(D02)验收 + +- 近 48h:1913 会话,v2 事件占比 93%(11402/12215) +- 孤立 page_stay 会话 16 个(1.9%→0.84%),逐一分解:10 个含 session_resume(恢复会话天然无 PV——设计内,其中 7 个实证 resume_of 原会话有同 page_id 的 PV,归属链正确);1 个 v2 前序会话有同 page_id PV(归属正确);~5 个乱序/丢批网络层边缘 + 3 个纯 v1 旧缓存(旧机制,随缓存淘汰) +- **结论:无归属漂移证据,D02 机制验收通过**;"孤立无 PV"指标在 v2 恢复语义下存在检测误报(已知局限,口径见阶段A台账) + +## 归因 v2 口径变化(预期内,非 bug) + +recompute 后渠道分布:natural_search 2996 / social 968 / direct 2504 / paid_search 297 / **paid_social 286**(自 paid_search 分离——fbclid 与 fb 家族+付费 medium 流量)/ referral 36 / ai_referral 35。 + +## 线上验证(2026-09-20) + +| 项 | 方法 | 结果 | +|---|---|---| +| 服务端业务契约 | 生产 collect POST contact_click v2 批 | accepted=1,回归数据已清理 | +| 归因重算 | recompute --site + 分布核对 | v2 全量重算成功 | +| SDK 0.2.1 产物 | curl 线上 v1.js(14778B,版本串 0.2.1) | ✅ | +| 业务事件链路 | happy-dom 加载**线上产物**真实执行:产品页 init→点击 wa.me→focusin→原生 submit→wpcf7statuschanged(mail_sent) | product_view(inferred)/contact_click(whatsapp)/form_submit+result(同 submission_id `7b6ac24e` 贯穿)/_ctk_sid 字段值=submission_id(**capture submit 时序实证**);form_start 未触发=isTrusted 守卫正确拒绝合成事件 | +| mailsent 真实闭环 | **待首封真实询盘**(或手动提交 TEST-KEJI 标记询盘一次)验证 form_submit_result 落库与漏斗末级计数 | 待办 | + +## 交付清单(阶段B,7 实现 commit + 2 审查修复) + +3b9d8ec 契约+6事件 → be0b53b 正则锚点闭合 → 52a8a72 归因 v2 → 0ef01b0 漏斗 API → 7b670f2 business.ts → fea19c1 0.2.1 接线 → 8d7fc99 track 权威性回归 → c9967b6 admin(时间线徽章/漏斗卡/付费社交标签 + server 时间线安全字段白名单含 PII 诱饵测试) + +测试基线:server 161→188,sdk 100→122。全任务子代理实现 + 两阶段审查。 + +## 遗留 + +- mailsent 真实询盘闭环(上表待办)——下次真实询盘到达时在漏斗末级/时间线核对,或手动 TEST-KEJI 提交一次 +- admin 视觉验收(漏斗卡/时间线新徽章渲染)——用户刷新后台即视 +- `_canon` 子域归一局限(m.facebook.com 不入 fb 家族)——规则 v3 候选 +- CF7 `wpcf7statuschanged` 依赖 CF7 6.x 行为——网站插件大版本升级时复核(源码核验法见阶段A/B spec) +- 阶段C:服务端确认通道(spec §5 契约已预留:_ctk_sid 字段已随 POST 传输实证)/ sdk_diag / capabilities / 次批事件