使用 ads.txt 和 sellers.json 进行广告情报分析(实用指南)
ads.txt 和 sellers.json 是两个免费、公开托管的小文件,可让你验证谁有权销售发布商的广告库存。以下是在广告研究中使用它们的工作流程。

ads.txt 和 sellers.json 是两个小型、公开托管的文本文件,同时阅读它们可以告诉你谁有权销售发布商的广告库存,以及链中某个卖家 ID 的实际拥有者。对于竞争和供应链研究而言,它们是行业内少数真正可验证的事实数据源之一,而行业内大多数声明(花费、覆盖范围、“优质库存”)都无法核实。以下是如何实际使用它们。
每个文件实际包含的内容#
ads.txt 位于任何发布商根域的 domain.com/ads.txt,是一个纯文本列表,列出被授权销售该发布商库存的每家公司,每行一个关系。典型的一行如下:
google.com, pub-1234567890123456, DIRECT, f08c47fec0942fa0
这包括交易平台或 SSP 域、发布商在该交易平台的账户 ID、关系是 DIRECT(发布商直接与其交易)还是 RESELLER(涉及中间商),以及可选的认证机构 ID。sellers.json 是镜像文件,由交易平台或 SSP 托管在 exchange.com/sellers.json,列出该交易平台合作的每个卖家账户、其名称(有时),以及它们是 PUBLISHER、INTERMEDIARY 还是 BOTH。交叉引用两者,你可以确认特定广告位的声称卖家是否确实拥有授权关系,或者是否有什么不对。
为什么这对竞争和品牌安全研究很重要#
广告主预算与发布商页面之间的广告供应链很少是单跳的。广告在落地前经常流经一个或多个转售库存关系,每个跳点都是虚假陈述、域名欺骗或对谁实际投放广告的简单混淆的机会。ads.txt 和 sellers.json 正是为了审计该链而存在:
- 验证网络的声明。 如果某个原生网络或 DSP 声称直接访问发布商的库存,那么该发布商的 ads.txt 文件会将其列为 DIRECT。如果它们只是作为几跳之后的转售商出现,或者根本没有出现,这在购买前就是有用的信息。
- 发现域名欺骗。 欺诈操作有时会声称代表某个优质发布商的库存,但没有任何授权。将 ads.txt 与实际出价请求域进行核对是发现这种情况的标准免费方法。
- 理解广告为何如此呈现。 当你在追踪广告间谍工具如何捕获原生广告时,ads.txt/sellers.json 配对通常是确认哪个网络实际投放了给定广告位的最快方法,而不是仅凭 widget 的视觉风格猜测。
- 审计你自己的供应路径。 如果你是发布商,你自己的 ads.txt 文件也是检查你是否仍在列表中的已终止合作伙伴(或从未授权过的合作伙伴)的最快方法,或者检查某个集成是否添加了你不期望的行。
实用的五步工作流程#
- 拉取发布商的 ads.txt。 直接在浏览器或使用简单脚本获取
https://[publisher-domain]/ads.txt。纯文本,无需身份验证。 - 找到所调查的交易平台或网络的行。 搜索域(例如
taboola.com、outbrain.com或相关 SSP),并记下发布商账户 ID 以及标记为 DIRECT 还是 RESELLER。 - 拉取该交易平台的 sellers.json。 获取
https://[exchange-domain]/sellers.json,并搜索在步骤 2 中找到的卖家 ID。 - 比较卖家名称和类型。 sellers.json 条目是否与你开始的发布商匹配?它被列为 PUBLISHER(如直接关系所预期)还是 INTERMEDIARY(如转售商链所预期)?
- 如果是 RESELLER 关系,则跟踪链。 RESELLER 行意味着另一个实体位于发布商和交易平台之间。理想情况下,该中间商应在出价请求中携带自己的 SupplyChain 对象(schain)数据,记录每一跳以实现完全可审计性,尽管 schain 数据仅从 ads.txt/sellers.json 文件不可见;需要访问实际出价流或捕获它的工具。
常见发现及其含义#
| 你发现的情况 | 可能的含义 |
|---|---|
| 所调查的网络根本不在发布商的 ads.txt 中 | 要么库存未经授权,要么你正在查看的特定广告位的发布商域错误(在子域和应用程序-网页混合中常见) |
| 仅列为 RESELLER,且深达数层 | 库存通过中间商转售;在大规模购买前值得更多审查 |
| sellers.json 条目标记为 "CONFIDENTIAL" | 交易平台隐藏了卖家名称,这在规范下是允许的,但降低了透明度 |
| 发布商 ID 以 DIRECT 方式出现在多个不同的交易平台域中 | 正常;大多数发布商同时与多个交易平台直接合作 |
这与更广泛的广告网络识别的关系#
ads.txt 和 sellers.json 最强于验证供应方关系,而非识别哪个网络实际投递了你作为买家看到的特定广告。对于后者,通常需要从创意的重定向链、widget 的视觉特征以及涉及的跟踪像素域入手,这正是在如何识别任何广告背后的广告网络中介绍的方法。将 ads.txt 和 sellers.json 视为供应关系的审计线索,而创意/重定向分析则是广告主实际投放内容的审计线索。
工具说明#
这两种文件格式受 IAB Tech Lab 规范管理,如果遇到这些文件未明确涵盖的边缘情况(如多账户设置或 OWNERDOMAIN 字段),原始规范是权威参考。对于手动抽查,浏览器和文本搜索就足够了;偶尔验证不需要付费工具。当需要跨数十个发布商大规模执行或随时间跟踪变化时,这种重复的获取和比较工作就会变得繁琐,这时一个已经索引了跨网络供应链的平台可以节省重复劳动。OpenAdLibrary 的广告情报索引将这种供应路径上下文与实际实时创意和跟踪到的落地页相结合,这样你就不必为每个要检查的广告位手动交叉引用三个独立来源。
为什么这对原生广告比表面上看起来更重要#
原生网络不断转售库存。一个发布商页面上的单个内容推荐 widget 位可能直接通过该网络、通过区域转售商或通过同时代理多个需求来源的 header-bidding wrapper 进行路由。由于原生广告很少携带展示广告所具有的可见品牌标识,并且 widget 本身通常看起来一样,无论背后是哪个网络,ads.txt 和 sellers.json 有时是唯一可靠的方法来确认哪个网络合法持有给定发布商关系,尤其是当发布商网站同时运行来自不同提供商的多个原生 widget 时。这也是为什么 header-bidding 设置(多个交易平台实时竞争同一广告位)受益于同样的验证:每个参与的交易平台都应在发布商的 ads.txt 中有自己的授权行,以及匹配的 sellers.json 条目。
大规模执行与一次性检查#
手动检查一个发布商的文件需要几分钟。跨一个包含 50 个发布商的观察列表定期检查,以发现新增或取消的关系,则是一个不同的问题,而且一旦最初的好奇心消退,这类工作往往会悄悄停止,尽管其价值来自于重复进行。如果你要将此纳入常规研究流程而非一次性检查,那么值得将其与已有的广告供应链监控(针对创意和落地页变化)相结合,这样供应方和创意方的信息会同步更新,而不是逐渐脱节。
关于局限性的说明#
这些文件由发布商和交易平台自行声明。没有强制要求发布商保持 ads.txt 最新,过时或不完整的文件很常见,尤其是在较小的网站上。将缺失或不一致的条目视为进一步调查的提示,而非自动证明欺诈;许多合法的中小型发布商只是最近没有更新文件。ads.txt 和 sellers.json 的价值在于它们使供应链可核查,而非使其万无一失。







