国际TG名单最常见的清洗事故,不是漏删几个空格,而是把无法判断的号码“修”成了另一个国家的完整号码。正确的管道应允许一部分记录停在例外区,不能为了TXT看起来整齐而改写事实。
起点:原始列永不覆盖
为每一行保留phone_raw、source_file、source_row和imported_at。去掉显示格式后得到的号码写入新列。这样当结果异常时,能回到来源,而不是面对一列无法复原的数字。
第一站不是加号,而是国家证据
优先使用表单明确国家、订单国家或已验证的来源批次。界面语言、IP、姓名和营销人员猜测都不应自动决定国家码。没有可靠证据的本地写法进入country_unknown。
规范化车间只做可解释转换
| 输入现象 | 动作 | 审计列 |
|---|---|---|
| 空格、括号、连字符 | 移除显示符号 | format_cleanup |
| 00国际前缀 | 在国家规则明确时转为+ | prefix_conversion |
| 国内长途0 | 按对应国家规则处理 | trunk_rule |
| 位数不明 | 隔离,不补位 | length_exception |
去重站要识别三种重复
完全相同的规范号码可以合并;同号不同来源要保留来源关系;同一CRM联系人出现多个号码则不能擅自合并。把duplicate_type写清楚,比只留下“唯一号码数”更能解释损耗。
TXT闸门只接收通过行
爱普筛上传文件为TXT,一行一个号码。导出前生成input_row_id与标准号码两列的内部对照,但TXT只放号码;姓名、群组、钱包、订单和许可状态留在企业系统。
TG任务决定后续字段
TG筛开通只需要手机号并返回是否开通;TG筛活跃可返回TG UserID、用户名、离线时间、活跃天数、First Name、Last Name、VIP与冻结观察。不要在清洗阶段承诺后续一定能获得所有字段。
Excel回来后先做损耗对账
按原始行、格式淘汰、重复合并、上传数、返回数和未知数建立守恒表。如果数字对不上,先查row_id与批次版本,不把差额自动算成“未开通”。
例外队列是产品,不是垃圾桶
给country_unknown、too_short、too_long、extension_present和conflicting_prefix分别配置处理人。能补充来源证据的回到管道,不能确认的保留原值并退出本轮。
最后才谈名单分层
格式合格只是可执行条件,不代表账号开通、近期活跃或允许联系。将规范化、TG观察和营销许可作为独立层,国际名单才不会在每次导出后变得更“干净”却更不可信。
