如何按 IP 地址检测点击欺诈(无需排除列表)
用评分而非排除列表按 IP 地址检测点击欺诈:Google Ads 每个广告系列最多只能排除 500 个 IP,而欺诈 IP 的轮换速度比您添加的速度更快。

每个广告主发现点击欺诈的经过都一样。花费曲线看起来正常,点击曲线看起来很漂亮,而转化曲线像一条死线。您打开原始日志,按 IP 排序,问题就在那里:同一个地址,四十次点击,零转化,全在一个下午之内。
于是您做了显而易见的事:把那个地址粘贴到 IP 排除列表里。
它短暂地起了作用。然后点击从另一个地址回来了,又一个,再一个,在您的排除列表增加到第三十个条目前后,您开始怀疑自己在玩一场无法获胜的游戏。确实如此。排除列表不是正确工具的弱化版,它就是错误的工具,在看它的替代品之前,值得先弄清楚原因:针对每次点击背后网络的欺诈评分。

广告平台对无效点击实际做了什么
先从大多数广告主以为已经解决的事情说起。
Google 确实会过滤无效流量,而且说得很明白。其无效流量文档把无效流量定义为“不代表对您业务有真实兴趣的流量”,并声明“如果 Google 在结算周期结束前将某次互动识别为无效,您无需为此付费”。我们在 2026-10-13 重新阅读了该页面,它已被改写,因此本节中的引文是其当前的措辞。
这是真实的,也不是没有价值。但请看它保护的是什么:它保护的是账单。在月底之前发现的无效流量“会自动从您的账单和广告系列报告中移除,因此无需退款”。如果 Google 在您被计费之后才发现,“您将收到账单调整形式的抵扣额,金额相当于无效活动的价值”。这一切都没有告诉您,是哪个关键字、展示位置或受众在吸引欺诈。它不会阻止这些流量污染您的分析数据,也不会阻止一个虚假转化进入您的出价模型。
您可以在限定范围内要求 Google 调查它漏掉的流量。Google“将调查限制在过去 60 天内”,而且同一页面警告说“调查无法确认具体的点击被标记为有效还是无效”。Google 给出的理由是,分享这些细节会帮助不良行为者躲避它的防御。这个理由说得通,但仍然让您得不到点击级别的答案。
最接近明细的是无效活动抵扣报告。它“按广告系列和网络细分这些抵扣额”,并列出每笔抵扣背后的点击和互动。它仅适用于搜索和 Performance Max 广告系列,而且只涵盖抵扣额,即在发票开具之后发现的无效活动所产生的抵扣。Google 在计费之前过滤掉的流量不会变成抵扣额,因此不在这份报告里。
Meta 的同类披露更为单薄。其无效点击页面称 Meta“采取多项措施来降低无效点击被滥用的风险”,在检测到或被举报可疑活动时进行人工审核,并且不会就被判定为无效的点击向您收费。这就是全部承诺。
两个平台都在给自己的作业打分,而且是在它们的利益与您的利益相背离的那项指标上。它们的过滤之后剩下的,是您的问题,而您的问题不仅用美元衡量,也体现在策略上。
为什么 IP 排除列表会失败
- 它会用完空间,而且无法指定一个网络。 Google Ads 将 IP 排除的上限设为每个广告系列 500 个、每个账户 500 个,界面中只记载了末位八位组的通配符,而 Performance Max 只接受账户级别的排除。确切的限制、通过 API 使用 CIDR 条目,以及哪些地址值得占一个名额,我们在 Google Ads IP 排除上限指南中有详细说明。
- 它在 Meta 上不存在。 Meta Ads Manager 没有 IP 排除功能。所有第三方 Meta 点击欺诈工具都通过把可疑用户放进自定义受众排除来绕过这一点,这是一种本质上不同、也更粗糙的机制。
这些是机制上的限制。策略上的限制更糟。
地址轮换得比您打字还快
广告欺诈的专业一端不会从固定地址出击。他们按百万计地租用住宅 IP。
2025 年,Google 起诉了 BADBOX 2.0 僵尸网络的运营者,该网络已入侵超过 1,000 万台未经认证的 Android 设备。看看其中一台被感染的设备被用来做什么:创建住宅代理节点、程序化广告欺诈、隐藏广告和点击欺诈。这一切都来自某人客厅里的一个被入侵的电视盒子。HUMAN Security 的 PROXYLIB 研究发现了为其输送资源的供应链:发布在 Google Play 上的 Android 应用,悄悄把用户的手机登记为代理出口节点。
这与我们在为什么您的流量里有这么多住宅代理中写到的是同一套基础设施。对广告主来说,这意味着刚刚让您损失 14 美元的欺诈点击,来自您目标城市里一条真实的家庭宽带,属于一个完全不知道自己的路由器正被出租的真人。没有可封禁的地址。有一千万个,而明天会是另外一千万个。
而且封禁它们会伤到真实客户
这是悄悄造成的损失比欺诈本身更大的部分。
一个公网 IP 地址不再意味着一个人。运营商级 NAT 让成百上千名移动用户共用一个公网地址,而 RFC 6269,即 IETF 对地址共享会破坏什么的评估,早已预言了这一后果:当服务器惩罚某个共享地址时,“一个多次登录失败的用户可能会把其他此前没有尝试过的用户挡在门外”。
把“登录尝试”换成“欺诈点击”,就是您的排除列表。永久排除某个欺诈者碰巧使用的运营商 IP,您就从账户中的每个广告系列里删掉了数量未知的真实移动买家:悄无声息,没有报告,永远如此。这是广告支出版本的误拒问题,我们在检测匿名流量而不封禁真实客户中讨论过。
排除列表没有“可能有问题”这个概念,只有“已封禁”。这是致命的设计缺陷,也是为什么答案不是一个更长的列表。
重新定位:IP 是证据,而不是裁决
不要再问“这个地址在我的黑名单上吗?”,而要问“这次点击来自什么类型的网络,我对它有多信任?”
这个问题有丰富的答案,因为一个 IP 地址携带了大量与其信誉历史毫无关系的背景信息。这些背景对欺诈者来说很难伪造,因为它是他们所借用基础设施的属性,而不是他们所发送请求的属性。
行业已经将这一点正式化了,而这恰恰是大多数 PPC 建议遗漏的部分。
标准已经要求了什么
媒体评级委员会的 IVT 检测与过滤标准把无效流量分为两个层级,而这种划分几乎完全对应于 IP 的解读难度。一般无效流量(GIVT)是通过“应用列表或其他标准化参数检查”发现的,MRC 在其下列出的第一类就是已知的无效数据中心流量。复杂无效流量(SIVT)是更难的层级,需要“高级分析、多点印证/协调、大量人工干预”,无效代理流量就属于此类。我们在 GIVT 与 SIVT:Google 的无效流量类别中逐一介绍了两个层级的每个类别,并与 Google 自己的九类并列,同时说明哪些是 IP 查询能看到的。
TAG 的 Certified Against Fraud 指南把数据中心这一半变成了强制要求:获认证的公司“必须对所有可变现的交易(包括展示、点击、转化等)实施数据中心 IP 威胁过滤”,第 4.8.a 节还补充说,仅使用 TAG 数据中心 IP 列表不算数。对广告主而言,由此可得出两点。如果标准机构把数据中心 IP 过滤视为合规底线,那么没有这样做的广告主就低于底线。而且标准所说的,正是本文所说的:列表处理容易的层级,困难的层级需要分析。
用于检测点击欺诈的 IP 地址信号
下面是从 IP 中应当读取的内容,大致按付费流量的信噪比排序。关于将同样的标记应用到广告点击之外的机器人,以及每一个在哪里会失明,请参阅哪些 IP 信号能识别机器人。
| 信号 | 能抓到什么 | 如何处理 |
|---|---|---|
| 连接类型 / ASN 类型为托管 | 机器人、脚本、抓取工具、运行在云上的点击农场。MRC 的第一类 GIVT。 | 强负面信号。真人不会从 AWS 上购物。 |
| 伪造的爬虫 | 自称 Googlebot/GPTBot 但 IP 在运营方公布范围之外的流量。 | 强负面信号。我们的 API 会根据运营方公布的范围验证 IP(`threat.crawler.verified`);由您的代码将其与请求所声明的 User-Agent 比对。 |
| 扫描器 / 僵尸网络 / 垃圾邮件发送者标记 | 在公共威胁情报源上有活跃滥用记录的基础设施。 | 近期出现时为强负面信号。按 last_seen 加权,而不是仅凭是否上榜。 |
| 公共代理 / Tor / VPN | 刻意隐藏来源。 | 单独来看较弱,因为很多真实买家也使用 VPN。加权处理,绝不要仅据此封禁。 |
| 住宅 / 移动代理 | 昂贵的欺诈:披着真实家庭 ISP 外衣的 BADBOX 类流量。 | 困难层级(SIVT)。单次 IP 查询抓不到:GeoIPHub 会把这些地址评为住宅。请使用点击速率、转化率和专业服务商。 |
| Bogon | 未分配或保留的地址空间,不可能合法地发出点击。 | 强负面信号。来自 bogon 的点击要么是坏的,要么是伪造的。 |
| CGNAT / 共享地址 | 共用一个公网 IP 的移动和共享线路用户。 | 起开脱作用,而不是定罪。在此处为风险设上限,否则您会惩罚真人。 |
请注意最后一行的方向。好的评分模型不只是加分,它也会减分。住宅 ISP 和经验证的爬虫是更宽容的理由,运营商级 NAT 网段的评分会被设上限,缺少这些机制的系统会把您的真实移动受众碾成误报。这一原则在欺诈评分背后的开脱性原因中逐条原因地阐明了,而且在广告中比几乎任何地方都更重要,因为对付费流量来说,误报不是一次被拦截的登录,而是一位您花钱获取、随后又被您扔掉的客户。
一次调用读取全部信息
具体来说,就是在您决定一次点击值多少之前,对触发该点击的 IP 做一次查询。您也可以在免费的 IP 欺诈评分检测工具中手动执行同样的检查。
curl -H "x-api-key: YOUR_API_KEY" \
https://api.geoiphub.com/v1/lookup/45.33.32.156
对付费点击重要的字段分布在响应的四个分组中:
const res = await fetch(`https://api.geoiphub.com/v1/lookup/${clickIp}`, {
headers: { "x-api-key": process.env.GEOIPHUB_API_KEY },
});
const ip = await res.json();
ip.asn.asn_type; // "hosting": the MRC's first GIVT category
ip.asn.connection_type; // "datacenter" | "residential" | "mobile"
ip.detection.is_hosting; // true for cloud and hosting ranges
ip.threat.crawler.verified; // true only inside an operator's published ranges; compare with the User-Agent in your code
ip.threat.is_cgnat; // shared address: a reason for leniency, not suspicion
ip.scoring.fraud_score; // 0 to 100 composite
ip.scoring.recommended_action; // "allow" | "review" | "step_up" | "block"
ip.scoring.detection_methods; // exactly which signals fired: your audit trail
托管点击评分低,Tor 点击评分 100
仅凭评分不会替您折扣数据中心的点击,两次真实查询说明了为什么您仍然需要阅读这些字段。我们在 2026-10-13 查询了这两个地址,并在 2026-10-14 以相同的值重新运行;第一段是 2026-10-14 的响应。结果会随网段变化而变动。第一个是上述请求中的托管 IP:scanme.nmap.org,即 Nmap 运行在加州弗里蒙特 Akamai Connected Cloud 上的公开测试主机。它并没有点击过任何人的广告。它代表任何一台普通的云服务器:
{
"ip": "45.33.32.156",
"asn": {
"asn": 63949,
"org": "AKAMAI-LINODE-AP - Akamai Connected Cloud",
"asn_type": "hosting",
"connection_type": "datacenter"
},
"detection": {
"is_vpn": false,
"is_tor": false,
"is_hosting": true
},
"threat": {
"is_cgnat": false,
"crawler": { "verified": false }
},
"scoring": {
"fraud_score": 10,
"recommended_action": "allow",
"detection_methods": ["datacenter_ip"]
}
}
第二个是汉堡的一个 Tor 出口:
{
"ip": "185.220.101.1",
"asn": {
"asn": 60729,
"org": "TORSERVERS-NET - Stiftung Erneuerbare Freiheit",
"asn_type": "hosting",
"connection_type": "datacenter"
},
"detection": {
"is_tor": true,
"is_hosting": true,
"anonymity_level": "high"
},
"threat": {
"is_spammer": true,
"threat_types": ["spammer", "tor"]
},
"scoring": {
"fraud_score": 100,
"recommended_action": "block",
"detection_methods": ["tor_exit", "datacenter_blocklisted", "rdns_tor", "known_spammer"]
}
}
这台云服务器评分 10、allow,唯一的方法是 datacenter_ip。这是有意为之:通用评分是为各类流量构建的,包括 API 调用和企业出口,在这些场景中仅凭托管地址并不构成欺诈。付费点击则不同,因为买家不会从服务器上点击您的广告,所以对广告流量,请基于 asn.connection_type 或 detection.is_hosting 应用您自己的规则,而不是等着评分给出 block。Tor 出口则不需要额外规则:它评分 100、block,detection_methods 列出了四个相互独立的原因(Tor 出口、被列入黑名单的数据中心网段、Tor 式反向 DNS、已知的垃圾邮件发送者)。
VPN 则介于两者之间。在这次更新之前,本文曾使用 45.83.220.7 作为普通托管的示例。2026-10-13,API 将其识别为 Mullvad 服务器,评分 46、review,方法为 known_vpn_server 和 datacenter_ip。这正是信号表所要求的加权方式:来自 VPN 的点击是需要更仔细查看的理由,而不是封禁的理由,同时也提醒您,在信任旧结果之前要重新运行查询。
正是这个字段,让这件事从黑盒变成了您可以在媒体质量审查中为之辩护的东西。当一次点击被折扣时,您可以准确说明原因:付费点击来自数据中心连接,或是 Tor 出口加上垃圾邮件黑名单。“评分是这么说的”不是任何人应该接受的答案,尤其不应该来自他们自己的欺诈工具。
保护出价信号,而不只是点击
这一部分改变了经济账,也是广告主一贯投入不足的地方。
拦截一次欺诈点击,省下的是这次点击的成本。阻止一次欺诈转化,则让您免于一件贵得多的事:教会您的出价算法去购买更多欺诈。
智能出价和 Meta 的优化都是通过学习哪些信号簇会产生转化,并朝它们加大出价来工作的。把一个虚假转化喂给这个循环,您损失的就不只是一次点击。您等于花钱训练模型去寻找更多与刚刚欺骗了您的流量一模一样的流量。系统会热情地追逐这些流量,并报告出色的结果,因为按它自己的衡量标准,它正在成功。
需要准确说明这里哪些有文档记载、哪些没有:Google 没有发布声明称欺诈转化会毒害自动出价。Google 的智能出价文档确实说过的是,“如果转化跟踪数据不准确,您可能会看到展示量、CPA 或 ROAS 出现波动”,同时也指出智能出价可以对不准确的数据做出反应和调整。上述更强的论断是基于优化工作原理的推理,而不是 Google 的原话,您应当如此看待。不过,这个推理很直接:优化器会最大化被告知要计数的任何东西。
切实可行的控制手段在服务器端,也是 Meta 给您的控制权多于 Google 而不是更少的唯一地方。由于 Conversions API 是服务器到服务器的通道,由您的服务器决定哪些事件会发送给 Meta。在转化发生的时刻(而不是点击的时刻)做一次 IP 查询,当“客户”是数据中心地址时,您就可以完全不发送该事件。Meta 永远不会学会想要更多这类流量。Google 的离线转化导入同理。
给点击评分以保护预算。过滤转化以保护模型。
排除列表仍然有一项小任务
这一切并不意味着您应该清空列表,而是意味着您应该不再把它当作策略。
排除列表恰好适用于一种情形:少数高置信度、稳定、反复出现的违规者,例如竞争对手的办公室网段、固定主机上的抓取工具,或是在烧您自己预算的内部 IP。这只有寥寥几个条目,它们不会轮换,也永远不会接近 500 个。
其他一切(任何会轮换的、任何共享的、任何您没有十足把握的)都属于评分,在那里它们可以被加权、衰减、与其他信号相互印证,并在明天证据变化时被撤销。封禁是永久的、二元的。欺诈两者都不是。
这套方案在生产环境中的运行
我在这条线的两端都有构建,坦率说明这一点是值得的。GeoIPHub 就是上述的 IP 情报层。ClickFortify 是我们基于它构建的点击欺诈产品。它为 Google 和 Meta 上的实时广告点击评分,把真正高置信度的少数违规者同步到 Google Ads 的 IP 排除中,并在可疑转化到达 Meta 的 CAPI 和 Google 的智能出价之前将其过滤。
这套架构就是本文论点的具体化:IP 情报负责评分,而排除列表只用于永久封禁确实是正确响应的那一小部分情形。如果您更愿意自己构建这套逻辑,上面的 API 就是它所调用的同一个 API。
下一次广告系列开始前要做的六项改变
- 记录每次广告点击的 IP。 没有记录的东西无法评分。在落地页访问时记录地址,并与
gclid/fbclid一起保存。 - 评分,不要封禁。 让每次点击的 IP 都经过一次查询,并把评分与会话一起存储,这样您就可以事后按风险区间细分报告。
- 从数据中心底线开始。 托管 ASN 的流量是 MRC 的 GIVT 基线,也是您手上置信度最高、误报最低的信号。这是最便宜的收获。
- 在服务器端过滤转化。 当 IP 风险高时,不要把转化事件发送给 CAPI 和离线导入。这保护了出价模型,而它比点击更有价值。
- 为共享 IP 的风险设上限。 确保 CGNAT 和移动运营商网段被视为共享,而不是恶意。这是防止欺诈防范变成营收阻碍的护栏。
- 保持排除列表简短。 只留给稳定、确定的惯犯,并设置在账户级别,这样它也涵盖 Performance Max。
这次点击已经告诉了您它来自哪里。唯一的问题是,您是否听得足够仔细,听到的不只是一个地址。
常见问题
如何按 IP 地址检测点击欺诈?
不是通过与封禁列表匹配,而是通过给点击来源的网络评分。信号最强的字段包括:连接类型(来自托管/数据中心 ASN 的点击不是真正的买家)、匿名化工具标记(VPN、公共代理、Tor)、带有时效时间戳的威胁情报源证据(僵尸网络、扫描器、垃圾邮件发送者),以及爬虫验证(自称 Googlebot 但 IP 在 Google 公布范围之外的请求无法通过验证;由您的代码将该声明与 API 的 verified 字段比对)。这些都是风险评分的加权输入,您据以行动的是评分,而不是原始 IP。
能按 IP 拦截 Meta Ads 上的点击欺诈吗?
不能。Meta Ads Manager 根本没有 IP 排除功能,这就是为什么所有第三方 Meta 点击欺诈工具的做法都是把可疑用户放进自定义受众排除,而不是封禁某个地址。在 Meta 上,杠杆不在点击,而在 Conversions API:由于 CAPI 是服务器端的,由您的服务器决定哪些转化事件发送给 Meta,所以来自数据中心 IP 的转化可以直接不发送。
Google 不是已经替我过滤无效点击了吗?
Google 会过滤其中一部分,而且对方式说得很明确。Google Ads 帮助中心称,在月底之前检测到的无效流量“会自动从您的账单和广告系列报告中移除,因此无需退款”,而在您被计费之后发现的无效流量,则会以“账单调整形式的抵扣额”返还。这保护的是您的账单,而不是您的广告系列策略。调查仅涵盖过去 60 天,而且 Google 表示调查“无法确认具体的点击被标记为有效还是无效”,所以您无法把欺诈追溯到吸引它的关键字、展示位置或受众。
为什么封禁欺诈 IP 地址是危险的?
因为在现代互联网上,一个公网地址通常由许多互不相关的人共用。RFC 6269 早在多年前就记录了这一后果:当服务器惩罚某个共享地址时,一个滥用的用户可能会把其他什么都没做错的用户一并挡在门外。运营商级 NAT 让成百上千名移动用户共用一个公网 IP,所以针对某个欺诈者的永久排除,可能悄悄地从每个广告系列中删掉您的一部分真实移动受众。
数据中心流量在官方上算作无效流量吗?
已知的无效数据中心流量算,但并非所有数据中心流量都算。媒体评级委员会(MRC)的 IVT 检测与过滤标准将“已知无效的数据中心流量”列为一般无效流量的第一类,同时排除了真实用户的合法虚拟机浏览和路由产物,而且 MRC 要求以过滤来自三大托管实体(Amazon AWS、Google 和 Microsoft)的数据中心流量作为基线。TAG 的 Certified Against Fraud 指南走得更远,要求获认证的公司对所有可变现的交易实施数据中心 IP 威胁过滤。
GeoIPHub API 背后的团队
由 GeoIPHub 团队撰写,即构建 GeoIPHub IP 情报 API 及其扫描器的团队。草稿在 AI 辅助下完成,并由团队编辑;除非标注为示例,API 示例均为针对线上 API 的真实查询。


