diff --git a/docs/superpowers/specs/2026-09-18-collection-phase-b-design.md b/docs/superpowers/specs/2026-09-18-collection-phase-b-design.md index 4ed5a09..b54e749 100644 --- a/docs/superpowers/specs/2026-09-18-collection-phase-b-design.md +++ b/docs/superpowers/specs/2026-09-18-collection-phase-b-design.md @@ -84,7 +84,8 @@ ### 4.2 询盘漏斗卡(数据总览) - 五级:浏览(page_view) → 咨询点击 → 表单开始 → 提交 → 邮件已发(**显示措辞"邮件已发(未验证)"**——客户端声明的诚实边界)。 -- **每级按 distinct session 计数**(Count("session", distinct=True),同会话多次点击算一次到达——不做则漏斗被刷新灌水无意义)。 +- **口径:逐级独立 distinct session 计数**(各级 Count("session", distinct=True)),**非严格嵌套漏斗**——允许跳级真实路径(gpt/14 §5.4"允许直接进入表单");各级数字不嵌套,**UI 不显示级间百分比转化率**(避免嵌套误读),只显示各级计数。 +- **全级过滤 `is_bot=False`**(Event.is_bot 既有标记——爬虫浏览/垃圾提交不灌漏斗)。 - 当日/近 7 天切换;新 API `GET /api/admin/funnel-summary?days=N`(site 权限沿既有)。 - 卡片位置随 dashboard 现有排版(趋势/渠道卡附近),实现时看布局。 @@ -104,7 +105,9 @@ spec 附录写死(阶段C 直接照做,客迹侧零改动): - server 测试:6 新事件校验(枚举/格式)、漏斗 API distinct session 口径、归因 paid_social/utm_medium 分支、规则 v2 重算幂等。 - admin:时间线渲染新事件、漏斗卡数据正确。 - **部署顺序**:server → admin → SDK 0.2.1(SDK 先上会被白名单拒);**整体排在 9/20 观察窗 D02 确认之后**(开发期自然覆盖,非阻塞开发)。 +- **归因重算的预期管理**:D06 重算在部署时一次执行——渠道分布/来源证据中部分"付费搜索"数字移至"付费社交"(Meta 付费流量类目变化),属预期口径调整非 bug,部署汇报中说明。 - 线上全链路:Playwright 点 hesucar WhatsApp 链接/tel/mailto → 事件落库;空表单提交 → form_start+submit+error 落库。 +- **mailsent 真实闭环**(用户已接受):部署后在 hesucar 表单真实提交一次测试询盘(Name 填 "TEST-KEJI" 标记,商家邮箱收一封测试邮件)——一次性验证 form_submit_result 全链路(事件→白名单→落库→漏斗末级计数)。 ## 7. 风险与边界