WhatsApp筛号错误应按发生阶段定位,而不是看到低命中率就重跑。同一异常可能来自原始号码、TXT生成、任务选择、Excel导入或营销队列。没有failure_code的反复执行,只会让错误更难追溯。
阶段一:原始号码已经损坏
科学计数法、末位改写、国家字段缺失和复制时丢失加号,都发生在爱普筛之前。保留phone_raw并检查源文件类型;已经被Excel改掉的数字无法靠格式设置恢复。
阶段二:规范化规则用错国家
| 故障码 | 表现 | 处理 |
|---|---|---|
| COUNTRY_GUESSED | 按语言/投放地区补国家码 | 回到来源证据 |
| TRUNK_DUPLICATED | +国家码后保留国内0 | 按国家规则修复 |
| LEGACY_PREFIX | 旧拨号前缀仍存在 | 使用版本化迁移表 |
| DIGIT_LOSS | 长度正确但原值已改 | 恢复上游原件 |
阶段三:TXT并非一行一号
爱普筛只允许TXT。表头、姓名、逗号分隔整行、空白字符和重复行会污染批次。生成后记录编码、总行数、唯一数、空行、哈希和normalization_version。
阶段四:任务与问题不匹配
| 问题 | 任务 | 常见错选 |
|---|---|---|
| 本次是否返回开通 | WS筛开通 | 为了更多列选全格式 |
| 需要活动观察 | WS筛活跃 | 用开通代替活跃 |
| 需要头像字段 | WS筛头像 | 从头像推断身份 |
| 需要宽字段 | WS全格式 | 没有明确用途仍收集 |
阶段五:Excel导入压平状态
未返回、未知、不可见、处理错误与明确否定必须分开。导入程序将空值自动变成false,会让开通率、画像覆盖和活动统计全部失真。
阶段六:回连键选择错误
手机号不是永恒主键。使用内部contact_id crosswalk,把phone_normalized连接到batch_row。映射手机号出现一对多或多对一时进入冲突队列,不选最新值覆盖。
阶段七:观察没有日期
开通、活动、头像和商业号状态都会变化。每个结果保存task_name、batch_id、checked_at和refresh_after。没有日期的字段不应进入决策。
阶段八:把开通当许可
技术状态不能说明用户期待消息。来源、渠道范围、用途与退出另行检查。购买或抓取名单即使开通率高,也不能直接进入营销。
阶段九:用“防封技巧”掩盖流程问题
随机延迟、换号、换设备或频繁重跑不能修复投诉和违反用户预期。出现风险信号时暂停队列、按来源和文案复盘,并使用官方支持,而不是规避限制。
建立批次阻断规则
回连率低于门槛、国家猜测超限、空值突然变化、映射冲突增加或抑制表缺失时,整个批次不进入发送。失败记录有owner、reason和resolution,不靠人工口头解释。
真正的验收结果
合格批次不是“跑完了”,而是输入可复现、任务正确、状态可解释、映射可回滚、许可已验证且风险异常被阻断。错误越早被明确编码,后续返工越少。
