跳到内容

📜 ads.txt 生成器

一键生成符合 IAB 规范的 ads.txt,内置 Google AdSense / Ad Manager / Amazon / Index Exchange / Rubicon / OpenX / PubMatic 等主流 SSP 预设,支持 DIRECT / RESELLER。

完全免费 无需注册 浏览器内完成 5 种语言 深色模式

🔒 关于隐私

🏷️ 发布商 ID

🌐 网络选择

➕ 自定义行

格式: domain, id, DIRECT|RESELLER, TAG-ID

📄 ads.txt


    

将此文件放在域名根目录。

📚 关于 ads.txt

ads.txt (Authorized Digital Sellers) 是由 IAB Tech Lab 制定的广告欺诈防护标准。它在文本文件中公开列出有权销售广告库存的授权供应商,防止域名欺骗。使用 Google AdSense 或 Ad Manager 时,部署基本上是必需的。

📖 常见的坑

从发布商 ID 和广告网络的勾选出发,生成 domain, publisher-id, DIRECT|RESELLER, TAG-ID 四列格式的 ads.txt。处理全部在浏览器内完成,ID 不会被发送到服务器。这个工具能保证的只有格式——它无法验证 ID 是否正确,也无法验证你与该网络是否真的存在合作。而 ads.txt一份声明「不要购买任何未列于此的卖方的库存」的文件,所以格式再完美,只要 ID 错一个字符,经由该卖方的竞价就会悄无声息地全部停止

情形 会发生什么 怎么处理
放错位置就等于没有 爬虫只读域名根目录下的那一份,即 https://example.com/ads.txt它不会去取 /blog/ads.txt,也不会取 /ads.txt.html常见的失败有三种。其一是 SPA 或静态托管对未知路径返回 200 的 index.html:爬虫收到的是 HTML,里面没有你的广告系统行,于是解读为「全部未授权」。其二是子域名——blog.example.com 的库存对照的是 blog.example.com/ads.txt,根目录的文件不会自动适用。其三是重定向,规范只允许跟随有限的次数。 用浏览器打开确认是不够的。执行 curl -I https://example.com/ads.txt,检查三件事:状态码是 200Content-Typetext/plain没有发生重定向。如果返回的是 text/html,那你看到的是应用的兜底页面,而不是 ads.txt若从子域名投放广告,请在根目录文件中加入 subdomain=blog.example.com 一行,或在该子域名上也放一份实体文件。带不带 www 也算不同主机,两边都要用 curl 确认。
DIRECT 与 RESELLER 写得与实际不符 DIRECT 的含义是「你与该广告系统有直接合同,并由它直接付款给你」。如果你是通过 MCM 或中介伙伴运营 AdSense,正确的行是该伙伴指定的那一条,通常包含 RESELLER 条目。写成 DIRECT 并没有任何好处——买方会拿文件与 sellers.json 交叉核对,与实际不符反而会损害你的可信度。另一个常见错误在域名一列:这里填的是广告系统的规范域名google.com),而不是其后台的 URL(adsense.google.com)。 不要自己拼行,请把每个合作方后台里写明的字符串原样复制过来。主要广告网络都会公开「要加入 ads.txt 的那一行」。发布商 ID 要与收款账户上显示的逐字符核对,Google 的话连 pub- 前缀都要完全一致。第四列的 TAG-ID 是可选的,但能填就填——某些买方侧的筛选会因此加分。最后,让 Google Ad Manager 或 AdSense 在其 ads.txt 状态页面读取成品文件,确认警告消失。格式是否被接受,那里才是最终权威。
重新生成时丢掉了原本存在的行 ads.txt 的修改不会立即生效,也不能立即撤销。爬虫会把抓取结果缓存大约一天,所以新增一个网络当天不会开始投放。危险的是反方向:发布一份漏掉了原有行的文件,经由该卖方的需求会在一天左右停掉。如果你的做法是用生成器从零重做再覆盖,迟早会发生忘记几个月前加入的合作方行而把它删掉的事故。而且光看收入下降是判断不出原因的,往往要很久才会发现。 不要把生成的文件直接上传,一定要与当前线上的文件做差分。curl -s https://example.com/ads.txt > live.txt 取回实物,再用 diff live.txt new.txt 查看「消失的行」是否只是你有意删除的那些。在运维上,可靠的做法是ads.txt 纳入 Git 管理,让所有改动都经过评审。同时,让广告收入的日趋势能按合作方拆分查看,出事时才切分得出原因。把每一行的加入日期用注释(行首 #)留下,后来者才能判断某一行是否可以删除。

ads.txt 是公开文件,这本来就是设计意图。任何人都能取到,所以你和哪些网络合作,对竞争对手也是一览无余的。这无法回避,也没有隐藏机制——把广告技术栈当作机密来运营,与 ads.txt 从根本上不相容。它的适用范围也常被误解,这里说清楚:这份文件只覆盖 Web 广告位。App 库存用的是另一份文件 app-ads.txt,而且存放位置是应用商店信息里填写的开发者网站 URL,不是 App 的域名。视频另有 ads.cert 等机制。最后一点——ads.txt 是为了「不让仿冒库存被买走」的声明,而不是一项能提升收入的设置。放了它并不会让单价上涨,而是不放它买方就会敬而远之

📖 使用方法

  1. 1
    输入发布商 ID
    输入 Google / Amazon 发布商 ID。
  2. 2
    选择网络
    勾选使用的 SSP。
  3. 3
    部署
    放在 https://example.com/ads.txt。

❓ 常见问题

DIRECT 与 RESELLER 区别?
DIRECT 是直接合同,RESELLER 是中介。
TAG-ID 必填吗?
可选,建议填写。
ads.txt 多久生效?
Google 通常 24 小时内,最多 1 周。
🐛 此工具出现问题了吗?

免费、无需注册。仅提供复现步骤也有帮助。报告将直接发送给运营者并用于改进。

※ 为复现问题,浏览器信息 (UA / 屏幕 / 语言 / URL) 将自动发送