关于 IAB 技术实验室
关于 IAB 技术实验室
IAB 技术实验室是一家非营利性的研究与开发联盟,负责制定并帮助企业实施全球行业技术标准与解决方案。Tech Lab 的目标是减少数字广告与营销供应链中的摩擦,同时推动行业的安全增长。IAB Tech Lab 牵头制定技术标准,创建并维护代码库以帮助快速、低成本地实施 IAB 标准,并建立测试平台,供企业评估其技术解决方案与 IAB 标准的兼容性。在过去 18 年里,这些标准一直是实现互操作性与盈利增长的基础。有关 IAB 技术实验室的更多信息,请访问 www.iabtechlab.com。
2.6 版本规范的重要贡献者
Stanislav Belov(Google,软件工程师);Allen Dove(Magnite,CTO);Steven Katz(Yahoo!,高级首席架构师);Curt Larson(Sharethrough,首席产品官);Dr. Neal Richter(Amazon Advertising,科学总监);Jud Spencer(The Trade Desk,首席软件工程师);Ian Trider(Basis Technologies,RTB 平台运营副总裁);Rob Hazan(Index Exchange,高级产品管理总监);James Wilhite(Publica,产品副总裁);Jean-Luc Wasmer(Triton Digital,合作伙伴运营副总裁);Sam Mansour(Oracle,资深产品经理);Scott Kay(Xandr,工程经理);Emma Fenlon(Yahoo!,交易所质量高级经理);Liam Whiteside(Global,广告技术主管);Don Marti(Raptive,生态系统创新副总裁);Aron Schatz(Double Verify,产品管理总监);Jake Jolly(Google,产品经理);Amit Shetty(Pixalate,产品副总裁);Tim Harvey(Knitting Media,创始人);Jason Shao(Place Exchange,CTO);Chris Coupland(Basis Technologies,平台运营经理);Simon Trasler(Magnite,资深副总裁);Patrick McCann(Raptive,研究资深副总裁);David Dabbs(Epsilon,平台架构总监)。
IAB Tech Lab 负责人
Hillary Slattery,IAB Tech Lab 产品高级总监
许可
本规范依据 Creative Commons Attribution 3.0 许可发布。要查看该许可的副本,请访问 creativecommons.org/licenses/by/3.0/ 或 http://creativecommons.org/licenses/by/3.0/,或致函:Creative Commons, 171 Second Street, Suite 300, San Francisco, CA 94105, USA。
免责声明
此处提供或由您使用的标准、规范、测量指南以及任何其他材料或服务(统称“产品和服务”)均按“原样”和“可用性”提供,IAB Technology Laboratory, Inc.(“Tech Lab”)不对其作出任何保证,并在此声明不提供任何明示、暗示或法定保证,包括但不限于适销性、特定用途适用性、可用性、无错误或不中断运行的保证,以及任何因交易过程、履行过程或交易习惯而产生的保证。在适用法律不允许 Tech Lab 免责声明的范围内,任何暗示保证的范围和期限均以该法律允许的最低限度为准。产品和服务不构成商业或法律建议。Tech Lab 不保证向您提供或由您使用的产品和服务将使您及/或您的产品或服务符合任何适用法律、法规或自律框架,您需自行负责遵守相关规定,包括但不限于数据保护法,例如《个人信息保护与电子文档法》(加拿大)、《数据保护指令》(欧盟)、《电子隐私指令》(欧盟)、《通用数据保护条例》(欧盟)以及《电子隐私条例》(欧盟)(一旦生效)。
目录
快速开始
1. 引言
2. OpenRTB 基础
3. 出价请求规范
4. 出价响应规范
5. 枚举列表规范
6. 出价请求/响应示例
7. 实施说明
附录 A. 其他信息
附录 B. 规范变更日志
附录 C. 基于 Cookie 的 ID 同步
快速开始
本规范详细解释了一个 RTB(实时竞价)接口。并非所有对象都是“必填”,且每个对象都可能包含若干可选参数。本规范中,“必填”属性指的是如果缺失将从技术上破坏协议的属性。这意味着如果所有必填属性都包含在内,两个实施方在技术上可以进行一个最低可行的交易,反之则不行。然而,这并不意味着仅包含必填属性就能满足实施方的业务需求。例如,仅包含必填属性的请求不会提供任何关于竞价对象的上下文信息,例如是网站还是应用,或具体是哪一个网站/应用。虽然从技术上交易是可能的,但在实践中,市场参与者很可能认为这不令人满意。
部分可选属性被标注为“推荐”。在本规范中,“推荐”意味着该属性的包含是常见做法,因此很可能被多数实施方所期望。尽管它们并不是最低可行交易所必需,市场规范通常会包含此类属性;如果没有这些属性,实施方可能不愿进行交易。“推荐”的标注是基于对这些市场规范的认知,不应被理解为 IAB Tech Lab 建议实施方传播任何特定属性。实施方应根据与业务伙伴的讨论并遵守适用法律,决定哪些属性将会提供。
| 示例类型 | 属性 | 类型 | 描述 |
| 必填属性示例。 为方便起见,分组在表格顶部 | id | string; 必填 | ... |
imp | object array; 必填 | ... | |
| 推荐属性示例。 在必填属性之后分组 | site | object; 推荐 | ... |
app | object; 推荐 | ... | 有默认值与无默认值的可选属性示例。 属性默认被视为可选,除非明确标注为必填或推荐。 | test | integer; 默认 0 | ... |
at | integer; 默认 2 | ... | |
tmax | integer; | ... | |
wseat | string array | ... |
关于如何呈现必填、推荐与可选属性的示例。
重要提示: 由于推荐属性并非必填,因此可能并非所有供给来源都提供。建议参与 OpenRTB 交易的各方制定集成检查清单,以识别供给方在出价请求中支持哪些属性,以及需求方在广告决策中需要哪些属性。
1. 引言
1.1 - 使命 / 概述
OpenRTB 的使命是通过为广告买方与卖方之间的通信提供开放的行业标准,推动实时竞价(RTB)市场的增长。这些标准包含多个方面,但不限于实时竞价协议本身、信息分类、离线配置同步等。
本文档规定了源自此前 OpenRTB 在“屏蔽列表项目”和“OpenRTB Mobile 项目”上的协作的实时竞价接口标准。这些协议标准旨在简化供应商(例如交易所、与出版商合作的网络以及卖方平台)与该库存的竞争买方(例如竞价方、需求方平台或与广告主合作的网络)之间的连接。
OpenRTB 的总体目标一直是创建买卖双方之间沟通的通用语言。其意图并非规范每个企业的具体运作方式,而是让各方之间的集成更容易,从而在生态系统中各企业能够在更深层次进行创新。
1.2 - OpenRTB 历史
OpenRTB 于 2010 年 11 月作为一个试点项目启动,参与方为三家需求方平台(DataXu、MediaMath 和 Turn)与三家卖方平台(Admeld、PubMatic 和 The Rubicon Project)。首要目标是标准化各方之间用于交换屏蔽列表的通信。OpenRTB 屏蔽列表规范的 1.0 版本于 2010 年 12 月发布。
在行业的积极反馈之后,Nexage 向 OpenRTB 项目提出创建一个 OpenRTB API 规范的建议,聚焦于实时的出价请求/响应协议,并特别支持移动广告。移动子委员会由代表买方的公司(DataXu、Fiksu 和 [X+1])与代表卖方的公司(Nexage、Pubmatic、Smaato 和 Jumptap)组成。该项目促成了 OpenRTB Mobile 1.0 规范,并于 2011 年 2 月发布。
在移动规范发布之后,形成了视频子委员会,视频广告交易平台(BrightRoll 和 Adap.tv)与 DataXu、ContextWeb 合作以纳入对视频的支持。目标是将展示、视频与移动支持合并到一份文档中。该努力促成了统一标准 OpenRTB 2.0,并于 2011 年 6 月发布。
由于行业的广泛采用,OpenRTB 于 2012 年 1 月被采纳为 IAB Tech Lab 标准,同时发布了 2.1 版本。
1.3 - 版本历史
2.6 —— 引入用于 CTV 交易的广告分段(Ad Pods)、结构化的 User-Agent 对象以及其他小幅增强。
2.5 —— 支持 Header Bidding、计费与失败通知、Flex Ads、Payment ID、tactic ID、展示指标、Out-stream 视频等多个增强。
2.4 —— 支持音频广告单元,并包含 v2.x 历史上最大的一组轻至中度增强。
2.3 —— 支持原生广告单元及多项小幅增强。
2.2 —— 为私有市场直接交易、视频、移动和监管信号提供新的增强。
2.1 —— 为 IQG 合规进行修订,小幅增强与更正。
2.0 —— 将展示、移动和视频标准合并为统一规范。
1.0 —— OpenRTB Mobile 初始发布。
1.2 —— 发布者偏好 API(提案)。
1.1 —— 为包含实时交换创意属性进行小幅编辑。
1.0 —— OpenRTB 屏蔽列表规范初始发布。
1.4 - 资源
规范的更新通过 IAB Tech Lab 的 Programmatic Supply Chain Working Group 推进。联系 techlab@iabtechlab.com 加入工作组并参与 Slack 讨论。
1.5 - 术语
以下术语在本文档中以 OpenRTB 接口及本规范的语境使用:
| 术语 | 定义 |
|---|---|
RTB | 实时竞价,针对单次展示进行实时竞价(例如在用户等待期间)。 |
Exchange | 每个展示向竞价方发起拍卖的服务。 |
Bidder | 在实时拍卖中竞争以获取展示的实体。 |
Seat | 希望获得展示并使用竞价方代表其行动的广告实体(例如广告主、代理);竞价方的客户,通常是广告预算所有者。 |
Publisher | 运营一个或多个网站的实体。 |
Site | 广告支持的内容(包括网页与应用,除非另有说明)。 |
Deal | 发布者与席位之间在特定条款下购买展示的预先安排的协议。 |
2. OpenRTB 基础
下图展示了交易所与其竞价方之间的 OpenRTB 交互。广告请求源自发布者的网站或应用。对于每个入站广告请求,出价请求会广播给竞价方,响应会根据当下拍卖规则进行评估,并选出获胜者。通过赢标通知将获胜竞价方告知拍卖胜出。广告标记(markup)可以预先包含在出价中,或在赢标通知响应中返回。还提供了单独的计费通知,以适应交易所实施的不同政策(例如按设备投放、可视性计费等),这些超出了 OpenRTB 规范的范围。赢标通知用于告知竞价方的定价算法一次成功,而计费通知则表示应该实际记账。还可以提供失败通知,告知竞价方其出价未获胜的原因。
用于赢标、计费和失败通知的 URL,以及广告标记本身,都可以包含若干标准宏,以便交易所向竞价方传达关键信息(例如清算价)。

图 2:参考模型——请求序列。
本规范聚焦于出价请求与响应以及赢标、计费和失败通知的实时交互。相关规范包括:
- AdCOM:广告通用对象模型(Advertising Common Object Model),是一份配套规范,定义了预计将被多个 IAB Tech Lab 规范使用的通用对象与枚举列表。自 OpenRTB 2.6 起,OpenRTB 2.6 使用的所有枚举列表均保存在 AdCOM,以便更快速地迭代。
- OpenRTB Ad Management API:一份配套规范,便于竞价方与交易所之间进行创意审核。
其他交互(例如屏蔽列表同步、流量控制等)将在其他配套文档中阐述。
2.1 - 传输
交易所与竞价方之间的基础协议为 HTTP。具体而言,出价请求必须使用 HTTP POST,以适应比 HTTP GET 更大的载荷并便于使用二进制表示。赢标通知可由交易所自行决定使用 POST 或 GET。
返回内容的调用(例如任何出价响应、在赢标通知中返回标记)应返回 HTTP 状态码 200。对有效请求返回无内容的调用(例如空的出价响应,这是表示无出价的一种方式;不返回标记的赢标通知)应返回 HTTP 204。无效调用(例如包含格式错误或损坏载荷的出价请求)应返回 HTTP 400,且无内容。
最佳实践:提升连接性能最简单且最有效的方法之一是启用 HTTP 持久连接(Keep-Alive)。它通过减少连接管理开销以及接口两端的 CPU 使用率,对整体性能产生显著影响。
2.2 - 安全
从技术上讲,HTTPS 并非实现 OpenRTB 的必需条件。然而,HTTPS 越来越成为常规做法。强烈建议交易所与竞价方仅使用 HTTPS。
2.3 - 数据格式
JSON(JavaScript Object Notation)是建议用于出价请求与出价响应数据载荷的格式。选择 JSON 是因为它兼具可读性与紧凑性。数据载荷在第 3 节与第 4 节中描述。
可选地,交易所也可以提供二进制表示(例如压缩 JSON、ProtoBuf、Avro 等),这些在传输时间与带宽方面可能更高效。IAB Tech Lab 可能会为这些或其他格式提供参考实现。当可用时,强烈建议使用这些参考实现,以减少因交易所而异的变体。
出价请求通过 Content-Type HTTP 头以 MIME 类型指定表示方式。标准 JSON 表示的 MIME 类型为 “application/json”,如下所示。出价响应的格式必须与出价请求一致。
Content-Type: application/json
如果使用替代的二进制表示,交易所或 SSP 应正确指定 Content-Type。例如:“Content-Type: avro/binary” 或 “Content-Type: application/x-protobuf”。如果缺少 content-type,竞价方应假定类型为 application/json,除非交易所另行选择了不同的默认值。
按照约定,属性的缺失具有正式含义。大多数情况下(除非另有说明),这表示该值未知。
2.4 - 数据编码
压缩交易所与竞价方之间传输的数据非常有益。压缩可以显著减少传输的数据大小,从而为交易所与竞价方节省网络带宽。为了充分实现这些节省,压缩应同时在交易所发送的出价请求与竞价方返回的出价响应上启用。
可使用标准的 HTTP/1.1 机制在出价响应上启用压缩。大多数 Web 服务器已经支持对响应内容进行 gzip 压缩,因此这是理想选择。为了表明交易所希望响应被压缩,应设置标准的 HTTP/1.1 Accept-Encoding 头。编码值应为 “gzip”。
accept-encoding: gzip
此头表示交易所能够接受竞价方使用 gzip 编码返回响应内容。如果竞价方服务器支持并正确配置,它将自动返回使用 gzip 编码的内容。这会通过标准的 HTTP/1.1 Content-Encoding 头进行标示。
content-encoding: gzip
要在出价请求上启用压缩,首先必须由交易所与竞价方达成一致并支持该能力。这与使用自定义数据格式类似,因为交易所在发送出价请求前必须知晓格式与编码。如果竞价方支持,交易所应通过设置 HTTP/1.1 Content-Encoding 头来表明正在发送使用 gzip 压缩的出价请求。编码值应为 "gzip"。
content-enconding: gzip
如果未设置该头,则假定请求内容未编码。在 HTTP/1.1 中,Content-Encoding 头通常仅用于响应内容。然而,通过将该头也用于请求内容,我们可以在不考虑所用数据格式的情况下指示请求被压缩。由于即使使用二进制数据格式也能受益于压缩,这一点非常有用。
2.5 - OpenRTB 版本 HTTP 头
应在出价请求的 HTTP 头中传递 OpenRTB 的版本,使用自定义头参数。这将使竞价方在尝试解析请求之前识别消息的版本。
此外,建议(但可选)竞价方在响应的 HTTP 头中放置一个格式相同的消息,标明竞价方所实现的协议版本。该消息可能与请求头中的版本号不同。
x-openrtb-version: 2.6
该版本应指定为 <major>.<minor>(例如 2.6)。
2.6 - 版本化行为
自 OpenRTB 2.6-202211 起,OpenRTB 的版本号仅在出现破坏性变更时才递增。换言之,当需要区分版本时,应将 OpenRTB 2.7 视为与 OpenRTB 2.6 不同的版本。例如,需求来源在解析来自供给来源的出价请求时可能会参考版本头。参见 OpenRTB Principles。
当前版本的 OpenRTB 规范在存在非破坏性改进(例如新字段、对象或枚举列表中的新值)需要发布时,通常每月更新一次。勘误(例如对描述的澄清或更正,而不实质影响规范本身)也会在月度更新中处理。参见 Errata。
每次月度发布都会创建发布分支,其历史可在 GitHub 上查看。仓库的 master 分支始终反映最新发布,而持续开发工作发生在 'develop' 分支上。
此版本策略与 OpenRTB 2.x 历史做法有所不同。在 2.6 之前的 OpenRTB 版本中,主版本号表示破坏性变更,次版本号表示非破坏性变更。
这意味着:
- 竞价方与交易所必须优雅地容忍接收新的或意外的字段与枚举值,将其视为未知或忽略。
- 竞价方与交易所应自由地传输新的字段或枚举值。
例如,如果在未来的 OpenRTB 2.6 版本中引入了新的字段或对象,交易所在选择支持该字段后,应立即开始将其传输给竞价方。竞价方可根据自身情况开始消费该字段(如果与其相关)。双方无需明确协商“升级”到最新发布版本,而应在新字段可用时讨论彼此感兴趣的具体字段。
OpenRTB 2.6 的新次版本可能会引入额外的可选处理方式。例如,burl 字段是在 OpenRTB 2.5 中引入的。使用 burl(而不是在 adm 字段的标记中包含像素)对于特定的交易所与竞价方集成来说是一次破坏性变更,但这是双方决定切换展示计数方法的结果,而非 OpenRTB 2.5 本身造成。合作伙伴在对其集成进行破坏性变更前应讨论此类情况。
2.7 - 隐私
在不限制免责声明范围的前提下,OpenRTB 规范确实包含若干功能,用于支持实施方传达与消费者隐私相关的信息,包括但不限于:
- “请勿追踪”(Do Not Track)头的状态(第 3.2.18 节)
- 站点/应用隐私政策的存在(第 3.2.13 与第 3.2.14 节)
- 出价请求发送方认为适用的法规或法律(第 3.2.3 节)
- 用户的同意与选择退出信息字符串(Global Privacy Platform、US Privacy String 与 Transparency and Consent Framework 同意字符串)(第 3.2.3 与第 3.2.20 节)
如免责声明所述,每个实施方均有责任确保其实现符合任何适用法律、法规或自律框架。
2.8 - 与 Brand Safety Certified 的关系
OpenRTB 与此处提供的 Brand Safety Certified 完全兼容:https://www.tagtoday.net/brand-safety。
2.9 - 定制与扩展
OpenRTB 规范允许针对交易所的特定定制与扩展。任何对象都可以包含扩展。为使扩展字段在各平台保持一致,建议始终命名为 ext。
为了更好地支持常见且众所周知的扩展,IAB Tech Lab 现已在 GitHub 仓库托管这些扩展:https://github.com/InteractiveAdvertisingBureau/openrtb/tree/master/extensions
3. 出价请求规范
当交易所或其他供给来源向竞价方发送出价请求时,RTB 交易即被发起。出价请求由顶层的出价请求对象、至少一个展示(Impression)对象以及可选的其他提供展示上下文的对象构成。
3.1 - 对象模型
以下为出价请求的对象模型。顶层对象(即 JSON 中未命名的最外层对象)在模型中表示为 BidRequest。其直接下属中,只有 Imp 在技术上是必需的,因为它是描述所售展示的基础,并且至少需要 Banner(可能允许多种格式)、Video、Audio 与 Native 中的一个以定义展示类型(即发布者愿意接受的一个或多个类型;尽管一次出价将针对其中指定的恰好一个)。一个展示可以选择性地受私有市场(PMP)的约束。

图 3:出价请求对象模型。
BidRequest 的其他下属对象提供各种信息,帮助竞价方进行定向与定价决策。
未在上述模型图中展示的是扩展对象。该对象结构未定义,可添加到任何其他对象上,用于传达特定交易所对标准的扩展。使用这些对象的交易所需负责将其扩展公布给竞价方。
以下表格汇总了出价请求模型中的对象,并作为后续小节的详细定义索引。
| 对象 | 章节 | 描述 |
|---|---|---|
BidRequest | 3.2.1 | 顶层对象。 |
Source | 3.2.2 | 关于拍卖后或上游决策的请求来源细节(例如 Header Bidding)。 |
Regs | 3.2.3 | 适用于本次出价请求中所有展示的监管条件。 |
Imp | 3.2.4 | 描述特定展示的容器;每个请求至少 1 个。 |
Metric | 3.2.5 | 关于一个展示的可量化(通常是历史)数据点。 |
Banner | 3.2.6 | 关于 Banner 展示(包含 Banner 中视频)或视频伴随广告的细节。 |
Video | 3.2.7 | 关于视频展示的细节。 |
Audio | 3.2.8 | 音频展示的容器。 |
Native | 3.2.9 | 符合动态原生广告 API 的原生展示容器。 |
Format | 3.2.10 | Banner 的允许尺寸。 |
Pmp | 3.2.11 | 适用于该展示的私有市场(PMP)交易集合。 |
Deal | 3.2.12 | 卖方与买方之间与该展示相关的交易条款。 |
Site | 3.2.13 | 发起展示的站点详情。 |
App | 3.2.14 | 发起展示的应用详情。 |
Publisher | 3.2.15 | 控制并分发站点或应用内容的实体。 |
Content | 3.2.16 | 关于发布内容本身的细节,广告将在其中展示。 |
Producer | 3.2.17 | 内容的制作方;不一定是发布者(例如联合发布)。 |
Device | 3.2.18 | 展示内容与广告的设备详情。 |
Geo | 3.2.19 | 根据父对象,设备位置或用户常驻地。 |
User | 3.2.20 | 设备的人类用户;广告受众。 |
Data | 3.2.21 | 来自特定数据源的额外用户定向数据集合。 |
Segment | 3.2.22 | 来自特定数据源的关于用户的特定数据点。 |
Network | 3.2.23 | 广告将展示的网络。 |
Channel | 3.2.24 | 广告将展示的频道。 |
SupplyChain | 3.2.25 | 表示参与库存付款直接流程的实体的起止链路。 |
SupplyChainNode | 3.2.26 | 定义参与出价请求供应链的实体身份的节点。 |
EIDs | 3.2.27 | 扩展标识符支持。 |
UIDs | 3.2.28 | 扩展标识符中的用户 ID 支持。 |
UserAgent | 3.2.29 | 结构化的 User-Agent 信息。 |
BrandVersion | 3.2.30 | 浏览器或类似软件组件的名称与版本信息。 |
Qty | 3.2.31 | 在出价请求中传递乘数的方法,表示针对多人展示的广告的总展示数量。 |
DOOH | 3.2.32 | 发起展示的户外数字媒体(DOOH)库存详情。 |
3.2 - 对象规范
3.2.1 - 对象:BidRequest
顶层的出价请求对象包含由交易所唯一分配的出价请求或拍卖 ID。该 id 属性为必填,且至少需要一个展示对象(第 3.2.4 节)。该顶层对象中的其他属性建立适用于所有待售展示的规则与限制。
此外,还有若干下属对象向潜在买家提供详细数据。其中包括 Site、App 与 DOOH 对象,分别描述展示出现的发布媒体类型。这些对象强烈建议使用,但对于给定的出价请求,仅有一个适用,取决于媒体是基于浏览器的网页内容、非浏览器的应用,还是户外数字媒体库存。
| 属性 | 类型 | 描述 |
|---|---|---|
id | string; 必填 | 由交易所分配的出价请求 ID,用于交易所对响应的后续跟踪且在交易所内唯一。交易所可能为不同接收方使用不同的值。 |
imp | object array; 必填 | 表示提供的展示的 Imp 对象(第 3.2.4 节)数组。至少需要 1 个 Imp 对象。 |
site | object; 推荐 | 通过 Site 对象(第 3.2.13 节)提供发布者网站的详情。仅适用于网站,且推荐。 |
app | object; 推荐 | 通过 App 对象(第 3.2.14 节)提供发布者应用(即非浏览器应用)的详情。仅适用于应用,且推荐。 |
dooh | object | 如果广告支持的内容是户外数字媒体屏幕,应包含该对象。包含 DOOH 对象的出价请求不得包含 site 或 app 对象。 |
device | object; 推荐 | 通过 Device 对象(第 3.2.18 节)提供将接收展示的用户设备详情。 |
user | object; 推荐 | 通过 User 对象(第 3.2.20 节)提供设备的人类用户详情,即广告受众。 |
test | integer; 默认 0 | 测试模式指示,拍卖不计费;0 = 线上模式,1 = 测试模式。 |
at | integer; 默认 2 | 拍卖类型:1 = 一阶价格,2 = 二阶价格增强(Second Price Plus)。可使用 ≥500 的值定义特定交易所的拍卖类型。 |
tmax | integer | 交易所允许接收出价的最大时间(毫秒),包含网络延迟,以避免超时。该值会覆盖交易所的任何先验指导。 |
wseat | string array | 允许对该展示出价的买方席位(例如广告主、代理)的白名单。席位 ID 与其指向的买方客户需在竞价方与交易所之间先验协调。在同一请求中,wseat 与 bseat 最多仅应使用一个。两者都省略表示无席位限制。 |
bseat | string array | 禁止对该展示出价的买方席位(例如广告主、代理)的黑名单。席位 ID 与其指向的买方客户需在竞价方与交易所之间先验协调。在同一请求中,wseat 与 bseat 最多仅应使用一个。两者都省略表示无席位限制。 |
allimps | integer; 默认 0 | 标志,指示交易所能否验证所提供的展示是否代表上下文中可用的所有展示(例如网页上的全部广告位、所有视频点位如前/中/后贴片),以支持 road-blocking。0 = 否或未知,1 = 是,所提供的展示代表全部可用展示。 |
cur | string array | 使用 ISO-4217 字母代码的出价请求允许货币数组。仅在交易所接受多种货币时推荐。 |
wlang | string array | 使用 ISO-639-1-alpha-2 的创意允许语言白名单。省略表示无特定限制,但建议买方在可用时考虑 Device 与/或 Content 对象中的 language 属性。wlang 与 wlangb 仅应存在一个。 |
wlangb | string array | 使用 IETF BCP 47 的创意允许语言白名单。省略表示无特定限制,但建议买方在可用时考虑 Device 与/或 Content 对象中的语言属性。wlang 与 wlangb 仅应存在一个。 |
acat | string array | 使用指定分类体系的允许广告主分类。 使用的分类体系由 cattax 字段定义。如果未提供 cattax,则默认采用 IAB 内容分类 1.0。acat 与 bcat 仅应存在一个。 |
bcat | string array | 使用指定分类体系的禁止广告主分类。 使用的分类体系由 cattax 字段定义。如果未提供 cattax,则默认采用 IAB 内容分类 1.0。acat 与 bcat 仅应存在一个。 |
cattax | integer; 默认 1 | bcat 所用的分类体系。取值参见 AdCOM 1.0 列表:Category Taxonomies。 |
badv | string array | 按域名(例如 “ford.com”)的广告主黑名单。 |
bapp | string array | 按应用商店 ID 的应用黑名单。有关 CTV 应用商店期望字符串的更多细节,参见 OTT/CTV Store Assigned App Identification Guidelines。对于 Google Play 商店中的移动应用,应使用 bundle 或 package 名称(例如 com.foo.mygame)。对于 Apple App Store 中的应用,应使用数值 ID。 |
source | object | 提供关于库存来源与最终决策实体的数据的 Source 对象(第 3.2.2 节)。 |
regs | object | 指定该请求受任何行业、法律或政府法规约束的 Regs 对象(第 3.2.3 节)。 |
ext | object | 针对 OpenRTB 的交易所特定扩展占位。 |
3.2.2 - 对象:Source
此对象描述出价请求的上游来源实体的性质与行为。该对象的主要目的是在交易所本身不控制最终决策时,定义拍卖后或上游决策。常见示例为 Header Bidding,但也适用于上游服务器实体,例如其他 RTB 交易所、聚合平台,或在决策中将直接投放与第三方需求结合的广告服务器。
| 属性 | 类型 | 描述 |
|---|---|---|
fd | integer; 推荐 | 负责最终展示售卖决策的实体:0 = 交易所,1 = 上游来源。 |
tid | string; 推荐 | 交易 ID,必须在本次出价请求的所有参与方(例如可能包含多个交易所)之间一致。 |
pchain | string; 推荐 | Payment ID 链字符串,包含 TAG payment ID Protocol v1.0 中描述的嵌入式语法。 |
schain | object; 推荐 | 此对象同时表示供应链中的链路以及供应链是否完整的指示符。详情见 SupplyChain 对象(第 3.2.25 节)。 |
ext | object | 针对 OpenRTB 的交易所特定扩展占位。 |
3.2.3 - 对象:Regs
此对象包含发送方认为适用于该请求的任何法律、政府或行业法规。关于支持 Coppa、GDPR 等标志的更多细节,参见第 7.5 节。
| 属性 | 类型 | 描述 |
|---|---|---|
coppa | integer | 标志,指示该请求是否受美国联邦贸易委员会(FTC)制定的 COPPA 法规约束:0 = 否,1 = 是。更多信息参见第 7.5 节。 |
gdpr | integer | 标志,指示该请求是否受 GDPR 法规约束:0 = 否,1 = 是;省略表示未知。更多信息参见第 7.5 节。 |
us_privacy | string | 传达关于美国隐私法规下的消费者隐私信号。参见 US Privacy String 规范。更多信息参见第 7.5 节。 |
gpp | string | 包含 Global Privacy Platform 的同意字符串。详见 Global Privacy Platform 规范。 |
gpp_sid | integer array | 同意字符串中应适用于本次交易的章节数组。通常只包含一个值,但在一些边界情况中可能适用多个。GPP 第 3(Header)与第 4(Signal Integrity)节无需包含。详见 GPP Section Information。 |
ext | object | 针对 OpenRTB 的交易所特定扩展占位。 |
3.2.4 - 对象:Imp
此对象描述正在拍卖的广告位或展示。单个出价请求可以包含多个 Imp 对象,这一用例可能是支持售卖某页面上所有广告位的交易所。每个 Imp 对象都具有必填的 ID,以便出价可以分别引用它们。
在 Imp 对象下属中出现 Banner(第 3.2.6 节)、Video(第 3.2.7 节)与/或 Native(第 3.2.9 节)对象,表示所提供展示的类型。发布者可选择其中一种类型(典型情况),也可按其判断混合这些类型。然而,针对该展示的任何给定出价必须符合所提供的某一种类型。
| 属性 | 类型 | 描述 |
|---|---|---|
id | string; 必填 | 本次出价请求中该展示的唯一标识(通常从 1 开始递增)。 |
metric | object array | Metric 对象(第 3.2.5 节)数组。 |
banner | object | Banner 对象(第 3.2.6 节);若该展示作为 Banner 广告机会提供,则必填。 |
video | object | Video 对象(第 3.2.7 节);若该展示作为视频广告机会提供,则必填。 |
audio | object | Audio 对象(第 3.2.8 节);若该展示作为音频广告机会提供,则必填。 |
native | object | Native 对象(第 3.2.9 节);若该展示作为原生广告机会提供,则必填。 |
pmp | object | 包含适用于该展示的任何私有市场交易的 Pmp 对象(第 3.2.11 节)。 |
displaymanager | string | 负责渲染广告的广告聚合伙伴、SDK 技术或播放器名称(通常用于视频或移动),某些广告服务器会按伙伴定制广告代码。 推荐用于视频与/或应用。 |
displaymanagerver | string | 负责渲染广告的广告聚合伙伴、SDK 技术或播放器版本(通常用于视频或移动),某些广告服务器会按伙伴定制广告代码。 推荐用于视频与/或应用。 |
instl | integer; 默认 0 | 1 = 广告为插屏或全屏,0 = 非插屏。 |
tagid | string | 发起拍卖时使用的特定广告位或广告标签的标识符。可用于问题调试或买方优化。 |
bidfloor | float; 默认 0 | 以 CPM 表达的该展示最低出价。 |
bidfloorcur | string; 默认 "USD" | 使用 ISO-4217 字母代码指定的货币。若交易所允许,该值可能不同于竞价方返回的出价货币。该货币为 Imp 对象中所有底价的默认货币。 |
clickbrowser | integer | 指示在应用中点击创意后打开的浏览器类型:0 = 嵌入式,1 = 原生。注意 iOS 9.x 设备中的 Safari View Controller 在此属性中被视为原生浏览器。 |
secure | integer | 标志,指示该展示是否需要安全的 HTTPS URL 创意资源与标记:0 = 非安全,1 = 安全。若省略,安全状态未知,但可假定支持非安全 HTTP。 |
iframebuster | string array | 支持的 iframe buster 的交易所特定名称数组。 |
rwdd | integer; 默认 0 | 指示用户是否因观看广告获得奖励:0 = 否,1 = 是。典型视频广告实现允许用户免费阅读额外新闻、在游戏中获得额外生命或获得赞助的免广告音乐会话。奖励通常在视频广告完成后发放。 |
ssai | integer; 默认 0 | 指示是否使用服务器端广告插入(例如将广告拼接到音频或视频流中)以及其对资源与跟踪器检索的影响:0 = 状态未知,1 = 全客户端(即非服务器端),2 = 资源服务器端拼接但跟踪像素在客户端触发,3 = 全服务器端。 |
exp | integer | 建议在拍卖与实际展示之间可能经过的秒数。 |
qty | object | 在出价请求中传递乘数的方法,表示针对多人展示的广告的总展示数量。 |
dt | float | 估计项目将被履约的时间戳(例如 DOOH 展示将被展示的时间),Unix 格式(即自纪元以来的毫秒)。 |
refresh | object | 关于广告位自动刷新(第 3.2.33 节)的详细信息。 |
ext | object | 针对 OpenRTB 的交易所特定扩展占位。 |
3.2.5 - 对象:Metric
此对象与展示相关,以指标数组的形式出现。这些指标可为展示提供洞察,辅助决策,例如近期平均可视性、点击率等。每个指标通过其类型标识,报告该指标的值,并可选地标识测量该值的来源或供应商。
| 属性 | 类型 | 描述 |
|---|---|---|
type | string; 必填 | 所呈现指标的类型,使用由交易所整理的字符串名称,应事先公布给竞价方。 |
value | float; 必填 | 表示指标值的数字。概率必须在 0.0 – 1.0 范围内。 |
vendor | string; 推荐 | 值的来源,使用由交易所整理的字符串名称,应事先公布给竞价方。若来源为交易所自身而非第三方,推荐使用 “EXCHANGE”。 |
ext | object | 针对 OpenRTB 的交易所特定扩展占位。 |
3.2.6 - 对象:Banner
此对象表示最通用的展示类型。虽然“Banner”在其他语境中可能具有特定含义,但此处可表示多种形式,包括简单的静态图片、可扩展的广告单元,甚至是 Banner 中视频(更通用且功能更完整的视频广告单元,参见第 3.2.7 节的 Video 对象)。Banner 对象数组也可出现在 Video 中,用于描述 VAST 规范中定义的可选伴随广告。
在 Imp 对象下出现 Banner 表示该展示作为 Banner 类型提供。由发布者自行决定,同一展示也可通过在 Imp 下包含那些类型的对象,同时作为视频、音频与/或原生类型提供。然而,针对该展示的任何出价必须符合所提供的某一种类型。
| 属性 | 类型 | 描述 |
|---|---|---|
format | object array; 推荐 | Format 对象(第 3.2.10 节)数组,表示允许的 Banner 尺寸。若未指定,则强烈建议使用 h 与 w 属性。 |
w | integer | 以与设备无关的像素(DIPS)表示的准确宽度;若未指定 Format 对象,推荐。 |
h | integer | 以与设备无关的像素(DIPS)表示的准确高度;若未指定 Format 对象,推荐。 |
btype | integer array | 被屏蔽的 Banner 广告类型。 取值: 1 = XHTML 文本广告, 2 = XHTML Banner 广告, 3 = JavaScript 广告, 4 = iframe。 |
battr | integer array | 被屏蔽的创意属性。取值参见 AdCOM 1.0 列表:Creative Attributes。 |
pos | integer | 广告位在页面或应用中的位置。取值参见 AdCOM 1.0 列表:Placement Positions。 |
topframe | integer | 指示广告是否在顶层浏览器窗口中渲染:0 = 否,1 = 是。 |
expdir | integer array | 允许的可扩展方向。取值参见 AdCOM 1.0 列表:Expandable Directions。 |
api | integer array | 支持的 API 框架。取值参见 AdCOM 1.0 列表:API Frameworks。 |
id | string | Banner 对象的标识符;当在伴随广告等场景使用时可用于关联。 |
vcm | integer | 视频伴随广告的可见性/冲突管理标志;1 表示伴随广告应与视频播放区域可见冲突管理配合。 |
3.2.7 - 对象:Video
此对象用于传达视频广告机会的详细信息,包括编码格式、时长限制、线路类型以及分段(Pod)竞价相关信号等。除非另有说明,列表型取值参见 AdCOM 1.0。
| 属性 | 类型 | 描述 |
|---|---|---|
mimes | string array; 必填 | 支持的视频 MIME 类型(例如 video/mp4, video/webm)。 |
minduration | integer | 最短持续时间(秒)。 |
maxduration | integer | 最长持续时间(秒)。 |
rqddurs | integer array | 可接受的精确时长集合(秒);如存在则优先于 minduration/maxduration。 |
protocols | integer array; 已移除 | 已在 2.6 中废弃;请改用媒体类型与播放器信号组合表示。 |
protocol | integer; 已移除 | 已在 2.6 中废弃。 |
w | integer | 视频播放器或画布宽度(DIPS)。 |
h | integer | 视频播放器或画布高度(DIPS)。 |
startdelay | integer | 起始延迟(秒);取值参见 AdCOM 列表:Start Delay。 |
placement | integer | 视频投放类型;取值参见 AdCOM 列表:Video Placement Types。 |
playbackend | integer | 播放后端类型;指示服务器端或客户端播放实现。 |
playbackmethod | integer array | 播放方式;为兼容性建议仅使用数组的第一个元素。取值参见 AdCOM 列表:Playback Methods。 |
delivery | integer array | 交付方式(如进度下载或流式)。 |
pos | integer | 广告位位置;参见 AdCOM 列表:Placement Positions。 |
companionad | object array | 可选的 Banner 伴随广告数组(Banner 对象)。 |
companiontype | integer array | 伴随广告类型;参见 AdCOM 列表:Companion Types。 |
api | integer array | 支持的 API 框架;参见 AdCOM 列表:API Frameworks。 |
skip | integer | 是否可跳过:0 = 不可跳过,1 = 可跳过。 |
skipmin | integer | 允许跳过前的最短观看时间(秒)。 |
skipafter | integer | 允许跳过后的最短剩余观看时间(秒)。 |
maxseq | integer | 一次交易中可投放的最大广告数(分段竞价)。 |
poddur | integer | 分段(Pod)总时长(秒)。 |
podid | integer | 分段标识符;用于区分同一内容中的不同分段。 |
podseq | integer | 在分段中的序号(起始为 1)。 |
slotinpod | integer | 分段中的槽位索引或标签。 |
mincpmpersec | float | 每秒允许的最低 CPM(用于等价比较不同时长)。 |
linearity | integer | 线性或非线性;参见 AdCOM 列表:Linearity。 |
boxingallowed | integer | 是否允许 letterboxing:0 = 否,1 = 是。 |
ext | object | 扩展。 |
3.2.8 - 对象:Audio
此对象用于传达音频广告机会的详细信息,包括编码格式、时长限制以及分段(Pod)竞价信号等。除非另有说明,列表型取值参见 AdCOM 1.0。
| 属性 | 类型 | 描述 |
|---|---|---|
mimes | string array; 必填 | 支持的音频 MIME 类型(例如 audio/mpeg, audio/mp4)。 |
minduration | integer | 最短持续时间(秒)。 |
maxduration | integer | 最长持续时间(秒)。 |
rqddurs | integer array | 可接受的精确时长集合(秒)。 |
protocols | integer array; 已移除 | 已在 2.6 中废弃。 |
startdelay | integer | 起始延迟(秒)。 |
placement | integer | 投放类型;参见 AdCOM 列表:Audio Placement Types。 |
playbackmethod | integer array | 播放方式。建议仅使用数组的第一个元素。 |
delivery | integer array | 交付方式。 |
api | integer array | 支持的 API 框架。 |
maxseq | integer | 一次交易中可投放的最大广告数(分段竞价)。 |
poddur | integer | 分段总时长(秒)。 |
podid | integer | 分段标识符。 |
podseq | integer | 分段内序号。 |
slotinpod | integer | 分段中的槽位索引或标签。 |
mincpmpersec | float | 每秒允许的最低 CPM。 |
feed | integer | 音频源类型;参见 AdCOM 列表:Audio Feeds。 |
stitched | integer | 是否为服务器端拼接(SSAI):0 = 否/未知,1 = 是。 |
ext | object | 扩展。 |
3.2.9 - 对象:Native
此对象为原生广告容器,遵循动态原生广告 API。请求可通过 request 字符串携带编码的原生请求,或通过 ver 指示版本等。
| 属性 | 类型 | 描述 |
|---|---|---|
request | string | 编码的原生广告请求字符串(JSON)。 |
ver | string | 动态原生广告 API 版本(例如 "1.0")。 |
api | integer array | 支持的 API 框架。 |
battr | integer array | 被屏蔽的创意属性。 |
ext | object | 扩展。 |
3.2.10 - 对象:Format
用于描述允许的 Banner 尺寸。
| 属性 | 类型 | 描述 |
|---|---|---|
w | integer | 宽度(DIPS)。 |
h | integer | 高度(DIPS)。 |
wratio | integer | 宽度比值(与 hratio 配合形成宽高比)。 |
hratio | integer | 高度比值。 |
wmin | integer | 最小宽度。 |
ext | object | 扩展。 |
3.2.11 - 对象:Pmp
此对象用于指示该展示适用的私有市场(PMP)交易集合。
| 属性 | 类型 | 描述 |
|---|---|---|
private_auction | integer; 默认 0 | 0 = 开放拍卖也可参与,1 = 仅限私有交易。 |
deals | object array | Deal 对象数组。 |
ext | object | 扩展。 |
3.2.12 - 对象:Deal
描述卖方与买方之间针对该展示的预先约定条款。
| 属性 | 类型 | 描述 |
|---|---|---|
id | string; 必填 | 交易标识符。 |
bidfloor | float; 默认 0 | 此交易的最低出价(CPM)。 |
bidfloorcur | string; 默认 "USD" | 货币(ISO-4217)。 |
at | integer | 拍卖类型覆盖。 |
wseat | string array | 允许参与该交易的席位白名单。 |
wadomain | string array | 允许的广告主域名。 |
ext | object | 扩展。 |
3.2.13 - 对象:Site
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 站点 ID。 |
name | string | 站点名称。 |
domain | string | 顶级域名(例如 "example.com")。 |
cat | string array | 站点分类(参见 cattax)。 |
cattax | integer; 默认 1 | 分类体系;参见 AdCOM 列表:Category Taxonomies。 |
sectioncat | string array | 站点分区分类。 |
pagecat | string array | 当前页面分类。 |
page | string | 当前页面 URL。 |
ref | string | 引荐来源 URL。 |
search | string | 搜索词。 |
mobile | integer | 是否为移动优化站点:0 = 否,1 = 是。 |
privacypolicy | integer | 是否存在隐私政策:0 = 否,1 = 是。 |
publisher | object | Publisher 对象。 |
content | object | Content 对象。 |
keywords | string | 逗号分隔的关键词。 |
inventorypartnerdomain | string | 库存合作伙伴域名。 |
ext | object | 扩展。 |
3.2.14 - 对象:App
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 应用 ID。 |
name | string | 应用名称。 |
bundle | string | 包名或 bundle(Android 为包名,如 com.foo.app;iOS 为数值 App Store ID)。与 storeid 的使用在 2.6 中进一步澄清。 |
storeurl | string | 应用商店页面 URL。 |
storeid | string | 应用商店分配的唯一 ID(尤其在 CTV/OTT 环境)。 |
domain | string | 关联域名。 |
cat | string array | 应用分类。 |
cattax | integer; 默认 1 | 分类体系。 |
sectioncat | string array | 应用分区分类。 |
pagecat | string array | 当前界面分类。 |
ver | string | 应用版本。 |
privacypolicy | integer | 是否有隐私政策。 |
paid | integer | 是否为付费应用。 |
publisher | object | Publisher 对象。 |
content | object | Content 对象。 |
keywords | string | 关键词。 |
inventorypartnerdomain | string | 库存合作伙伴域名。 |
ext | object | 扩展。 |
3.2.15 - 对象:Publisher
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 发布者 ID。 |
name | string | 发布者名称。 |
cat | string array | 发布者分类。 |
cattax | integer; 默认 1 | 分类体系。 |
domain | string | 发布者域名。 |
ext | object | 扩展。 |
3.2.16 - 对象:Content
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 内容 ID。 |
episode | integer | 集数。 |
title | string | 标题。 |
series | string | 系列名。 |
season | string | 季度。 |
artist | string | 艺术家。 |
genre | string | 类型/流派。 |
gtax | integer | 使用的类型分类体系。 |
album | string | 专辑。 |
isrc | string | 国际标准录音代码。 |
producer | object | Producer 对象。 |
url | string | 内容 URL。 |
cat | string array | 内容分类。 |
cattax | integer; 默认 1 | 分类体系。 |
prodq | integer | 生产质量;参见 AdCOM 列表:Production Quality。 |
context | integer | 内容上下文;参见 AdCOM 列表:Site Content Context。 |
contentrating | string | 内容分级。 |
userrating | string | 用户评分。 |
qagmediarating | integer | QAG 媒体分级。 |
keywords | string | 关键词。 |
language | string | 语言(ISO-639-1)。 |
langb | string | 语言(IETF BCP 47)。 |
live | integer | 是否为直播。 |
srcrel | integer | 源可靠性。 |
len | integer | 内容时长(秒)。 |
embeddable | integer | 是否可嵌入。 |
data | object array | 额外数据源。 |
network | object | Network 对象。 |
channel | object | Channel 对象。 |
cids | string array | 扩展内容标识符数组。 |
ext | object | 扩展。 |
3.2.17 - 对象:Producer
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 制作方 ID。 |
name | string | 制作方名称。 |
cat | string array | 制作方分类。 |
cattax | integer; 默认 1 | 分类体系。 |
domain | string | 制作方域名。 |
ext | object | 扩展。 |
3.2.18 - 对象:Device
| 属性 | 类型 | 描述 |
|---|---|---|
ua | string | 用户代理字符串(若提供 sua,可选)。 |
sua | object | 结构化 UserAgent 对象(第 3.2.29 节)。 |
geo | object | Geo 对象。 |
dnt | integer | Do Not Track:0 = 未启用,1 = 启用。 |
lmt | integer | 限制广告跟踪(Limit Ad Tracking):0 = 未启用,1 = 启用。 |
ip | string | IPv4 地址。 |
ipv6 | string | IPv6 地址。 |
devicetype | integer | 设备类型;参见 AdCOM 列表:Device Types。 |
make | string | 设备品牌。 |
model | string | 设备型号。 |
os | string | 操作系统。 |
osv | string | 操作系统版本。 |
hwv | string | 硬件版本。 |
h | integer | 设备屏幕高度(DIPS)。 |
w | integer | 设备屏幕宽度(DIPS)。 |
ppi | integer | 像素密度(每英寸像素)。 |
pxratio | float | 物理像素与 DIPS 的比率。 |
js | integer | 是否支持 JavaScript:0 = 否,1 = 是。 |
geofetch | integer | 是否允许客户端检索地理位置:0 = 否,1 = 是。 |
language | string | 设备语言(ISO-639-1)。 |
langb | string | 设备语言(IETF BCP 47)。 |
carrier | string | 运营商名称。 |
mccmnc | string | 移动国家码与网络码(MCC-MNC),例如 "310-410"。 |
connectiontype | integer | 连接类型;参见 AdCOM 列表:Connection Types。 |
ifa | string | 设备广告标识符(IDFA/AAID 等)。 |
roaming | integer | 是否漫游:0 = 否,1 = 是。 |
ext | object | 扩展。 |
3.2.19 - 对象:Geo
| 属性 | 类型 | 描述 |
|---|---|---|
lat | float | 纬度。 |
lon | float | 经度。 |
type | integer | 位置类型;参见 AdCOM 列表:Location Types。 |
accuracy | integer | 位置精度(米)。 |
lastfix | integer | 上次定位与现在的间隔(秒)。 |
ipservice | integer | IP 解析服务;参见 AdCOM 列表:IP Location Services。 |
country | string | 国家(ISO 3166-1 Alpha-3)。 |
region | string | 地区。 |
regionfips104 | string | FIPS 10-4 地区代码。 |
metro | string | Metro 代码。 |
city | string | 城市。 |
zip | string | 邮编。 |
utcoffset | integer | UTC 时区偏移(分钟)。 |
ext | object | 扩展。 |
3.2.20 - 对象:User
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 用户 ID(由交易所或供给来源分配)。 |
buyeruid | string | 买方用户 ID(由竞价方维护的匹配 ID)。 |
eid | object array | 扩展标识符数组(第 3.2.27 节)。 |
data | object array | Data 对象数组(第 3.2.21 节)。 |
keywords | string | 逗号分隔的关键词。 |
consent | string | 同意字符串(例如 TCF/GPP)。 |
ext | object | 扩展。 |
3.2.21 - 对象:Data
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 数据源 ID。 |
name | string | 数据源名称。 |
segment | object array | Segment 对象数组。 |
ext | object | 扩展。 |
3.2.22 - 对象:Segment
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 段 ID。 |
name | string | 段名称。 |
value | string | 段值。 |
ext | object | 扩展。 |
3.2.23 - 对象:Network
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 网络 ID。 |
name | string | 网络名称。 |
domain | string | 网络域名。 |
ext | object | 扩展。 |
3.2.24 - 对象:Channel
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 频道 ID。 |
name | string | 频道名称。 |
domain | string | 频道域名。 |
ext | object | 扩展。 |
3.2.25 - 对象:SupplyChain
| 属性 | 类型 | 描述 |
|---|---|---|
ver | string | 版本(如 "1.0")。 |
complete | integer | 是否完整:0 = 否,1 = 是。 |
nodes | object array | SupplyChainNode 节点数组。 |
ext | object | 扩展。 |
3.2.26 - 对象:SupplyChainNode
| 属性 | 类型 | 描述 |
|---|---|---|
asi | string; 必填 | 售卖方标识(广告系统域名)。 |
sid | string; 必填 | 售卖方账户 ID。 |
hp | integer; 必填 | 是否为直接付款路径中的参与方:1 = 是,0 = 否。 |
rid | string | 请求 ID。 |
name | string | 名称。 |
domain | string | 域名。 |
ext | object | 扩展。 |
3.2.27 - 对象:EID
| 属性 | 类型 | 描述 |
|---|---|---|
source | string | 标识符来源(例如 adserver.org)。 |
uids | object array | UID 对象数组。 |
ext | object | 扩展。 |
3.2.28 - 对象:UID
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 用户标识符值。 |
atype | integer | 标识符类型;参见 AdCOM 列表:User ID Types。 |
ext | object | 扩展。 |
3.2.29 - 对象:UserAgent
结构化的用户代理对象,用于解析浏览器与操作系统信息。
| 属性 | 类型 | 描述 |
|---|---|---|
brand | object | BrandVersion 对象(浏览器品牌与版本)。 |
platform | object | 平台(操作系统)BrandVersion 对象。 |
mobile | integer | 是否为移动设备。 |
architecture | string | CPU 架构。 |
model | string | 设备型号。 |
source | integer | 解析来源或可信度。 |
ext | object | 扩展。 |
3.2.30 - 对象:BrandVersion
| 属性 | 类型 | 描述 |
|---|---|---|
brand | string | 组件名称(如浏览器名称)。 |
version | string array | 版本号各段数组。 |
ext | object | 扩展。 |
3.2.31 - 对象:Qty
| 属性 | 类型 | 描述 |
|---|---|---|
multiplier | integer | 展示乘数(一次展示对应的受众数量)。 |
source | integer | 乘数来源类型。 |
geo | object | 与乘数相关的地理信息。 |
time | integer | 适用时间范围或时段。 |
ext | object | 扩展。 |
3.2.32 - 对象:DOOH
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 屏幕或位点 ID。 |
name | string | 屏幕名称。 |
venue | string | 场所。 |
qty | object | Qty 对象。 |
ext | object | 扩展。 |
3.2.33 - 对象:Refresh
| 属性 | 类型 | 描述 |
|---|---|---|
count | integer | 自动刷新次数或上限。 |
time | integer | 刷新时间间隔(秒)。 |
settings | object | RefSettings 对象。 |
ext | object | 扩展。 |
3.2.34 - 对象:RefSettings
| 属性 | 类型 | 描述 |
|---|---|---|
allow | integer | 是否允许刷新:0 = 否,1 = 是。 |
min | integer | 最小刷新间隔(秒)。 |
max | integer | 最大刷新间隔(秒)。 |
ext | object | 扩展。 |
3.2.35 - 对象:DurFloors
为分段或时长差异的竞价传递时长分层底价。
| 属性 | 类型 | 描述 |
|---|---|---|
dur | integer | 时长(秒)。 |
floor | float | 对应该时长的底价(CPM)。 |
cur | string | 货币。 |
ext | object | 扩展。 |
4. 出价响应规范
4.1 - 对象模型
出价响应以 BidResponse 顶层对象为根,包含一个或多个 SeatBid,每个 SeatBid 中包含多个 Bid。响应可包含赢标、计费与失败通知的 URL,以及在赢标通知或出价中返回的广告标记(详见第 4.3 节)。
4.2 - 对象规范
4.2.1 - 对象:BidResponse
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 对应请求的 ID。 |
seatbid | object array | SeatBid 数组。 |
bidid | string | 响应或内部跟踪 ID。 |
cur | string | 货币。 |
customdata | string | 自定义数据字符串(通常用于竞价方在用户端存储信息)。 |
nbr | integer | 无出价原因代码;参见 AdCOM 列表:No-Bid Reason Codes。 |
ext | object | 扩展。 |
4.2.2 - 对象:SeatBid
| 属性 | 类型 | 描述 |
|---|---|---|
bid | object array; 必填 | Bid 对象数组。 |
seat | string | 席位 ID。 |
group | integer | 是否对同一席位内的 Bid 进行组合。 |
ext | object | 扩展。 |
4.2.3 - 对象:Bid
| 属性 | 类型 | 描述 |
|---|---|---|
id | string | 出价 ID。 |
impid | string | 对应展示的 ID。 |
price | float | 出价价格(CPM)。 |
nurl | string | 赢标通知 URL。 |
burl | string | 计费通知 URL。 |
lurl | string | 失败通知 URL。 |
adm | string | 广告标记(例如 HTML、VAST 或原生 JSON)。 |
adid | string | 广告 ID。 |
adomain | string array | 广告主域名数组。 |
iurl | string | 创意预览或图片 URL。 |
cid | string | 活动 ID。 |
crid | string | 创意 ID。 |
cat | string array | 创意分类(参见 cattax)。 |
cattax | integer; 默认 1 | 分类体系。 |
attr | integer array | 创意属性。 |
api | integer; 已废弃 | 在 2.6 中废弃,改用 apis。 |
apis | integer array | 使用的 API 框架。 |
language | string | 创意语言(ISO-639-1)。 |
wratio | integer | 宽度比值。 |
hratio | integer | 高度比值。 |
w | integer | 宽度。 |
h | integer | 高度。 |
mtype | integer | 标记类型(例如 1 = HTML/JS,2 = VAST)。 |
dealid | string | 关联的私有交易 ID。 |
tactic | string | 策略 ID。 |
dur | integer | 广告时长(秒)。 |
ext | object | 扩展。 |
4.3 - 广告投放选项
- 在赢标通知响应返回标记(
nurl路径) - 在出价中返回标记(
adm字段)
两种方式各有权衡:在赢标通知返回标记可减少不必要的渲染,但延迟更高;在出价中返回标记可降低延迟但需处理失败场景。实现方应根据业务与技术条件选择合适方式。
4.4 - 替换宏
支持在 URL 与标记中替换的标准宏,包括清算价、胜负原因等。示例宏:${AUCTION_PRICE}, ${AUCTION_ID}, ${AUCTION_MIN_TO_WIN} 等。实现应正确进行 URL 编码并在适当的时间(赢标/计费)触发。
6. 出价请求/响应示例
6.1 - GitHub 仓库
示例集合请参见官方仓库:https://github.com/openrtb/OpenRTB/。
6.2 - 出价请求
参见原文档中的示例 1–6,包括简单 Banner、可扩展创意、移动端、视频、含直接交易的 PMP 与原生广告请求。示例以 JSON 提供,参数含义与第 3 节对象定义一致。
6.3 - 出价响应
6.3.4 - 示例 4 – 直接返回原生标记
以下是一个在响应中内联返回原生广告的示例。adm 字段包含一个编码后的原生广告请求字符串,符合动态原生广告 API,且版本与请求所用版本一致。或者,也可以省略 adm,并在赢标通知(nurl)响应中返回原生广告标记。
{
"id": "123",
"seatbid": [
{
"bid": [
{
"id": "12345",
"impid": "2",
"price": 3.00,
"nurl": "http://example.com/winnoticeurl",
"adm": "{\"native\":{\"ver\":\"1.0\",\"link\":{ ... },\"imptrackers\":[ ... ],\"assets\":[ ... ]}}"
}
]
}
]
}7. 实施说明
请参见实现指南链接:
- 7.1 无出价信号
- 7.2 展示过期
- 7.3 PMP 与直接交易
- 7.4 可跳过性
- 7.5 合规资源
- 7.6 视频与音频的分段(Pod)竞价
- 7.7 网络与频道示例案例
- 7.8 计费事件与跟踪广告的计数
- 7.9 户外数字媒体(DOOH)
- 7.10 更新的视频信号
- 7.11 底价使用指南
附录 A. 其他信息
知识共享 / 署名许可(Creative Commons / Attribution License)
IAB(互动广告局)
IAB 质量保障指南(QAG)
JavaScript 对象表示(JSON)
MMA(移动营销协会)
OpenRTB 项目(Github)
Apache Avro
Protocol Buffers(Protobuf)
Google Metro 代码
联合国贸易与运输地点代码(UN/LOCODE)
附录 B. 规范变更日志
本附录索引了 2.x 版本之间的规范变更。仅包含对规范实体的实质性更改,不含常规的排版、编排或无技术影响的内容。
请参阅 GitHub Releases 页面以了解 ORTB2.6-202303 及之后的发布说明:
https://github.com/InteractiveAdvertisingBureau/openrtb2.x/releases
版本 2.6-202210(2.6 基线)到 2.6-202211:
| 章节 | 描述 |
|---|---|
3.1 | 对象模型更新,图示增加 DOOH 与 Qty 对象 |
3.2.3 | 对象:Regs 新增字段 gpp 与 gpp_sid 支持 Global Privacy Platform 同意字符串 |
3.2.13, 3.2.14 | 对象:Site, App 新增 inventorypartnerdomain(此前位于 ext) |
3.2.31 | 对象:Qty 新对象,描述 DOOH 中乘数来源 |
3.2.32 | 对象:DOOH 新对象,支持户外数字媒体的程序化购买 |
7.9 | 实施说明新增 DOOH 的实践与示例 |
版本 2.5 到 2.6:
| 章节 | 描述 |
|---|---|
3.2.1, 3.2.16, 4.2.3, 3.2.18 | 新增语言字段以支持 IETF BCP 47(例如区分繁体与简体中文等) |
3.2.3 | 对象:Regs 新增 gdpr(此前位于 ext) |
3.2.20 | 对象:User 新增 consent(此前位于 ext) |
5 | 删除枚举列表章节,统一指向 AdCOM 1.0 / OpenRTB 3.0 列表 |
3.2.1, 3.2.13, 3.2.14, 3.2.15, 3.2.16, 3.2.17, 4.2.3 | 使用 cattax 指定所有分类体系引用 |
3.2.7, 3.2.8 | 对象:Video, Audio 新增 rqddurs |
3.2.7, 3.2.8 | 对象:Video, Audio 新增分段竞价字段 maxseq, poddur, podid, podseq, mincpmpersec, slotinpod |
4.4, 4.4.1 | 替换宏新增 AUCTION_MIN_TO_WIN |
4.2.3 | 对象:Bid 新增 apis |
3.2.4 | 对象:Imp 新增 rwdd |
3.2.1, 3.2.14, 4.2.3 | 澄清 storeid 与 bundle 的使用范围 |
3.2.4 | 对象:Imp 新增 ssai |
3.2.18 | 对象:Device 澄清 mccmnc 与 roaming |
3.2.23, 3.2.24 | 新增对象:Network, Channel, SupplyChain, SupplyChainNode, EIDs 与 UIDs* |
4.2.3 | 对象:Bid 新增 mtype |
3.2.6, 3.2.7, 3.2.16 | 移除此前已废弃属性:Banner 的 wmax, hmax, wmin, hmin;Video 的 protocol;Content 的 videoquality |
7.6 | 视频与音频的分段(Pod)竞价实现指南 |
7.7 | Network 与 Channel 对象示例 |
3.2.7, 3.2.8, 3.2.18, 3.2.20, 4.2.3 | 废弃属性:Video 的 sequence,Audio 的 sequence;Device 的 didsha1, didmd5, dpidsha1, dpidmd5, macsha1, macmd5;User 的 yob, gender;Bid 的 api |
7.8 | 新增“计费事件与跟踪广告的计数” |
3.2.29, 3.2.30 | 新增对象:UserAgent 与 BrandVersion |
版本 2.4 到 2.5:
| 章节 | 描述 |
|---|---|
2.4 | 新增“数据编码”章节 |
3.1 | 出价请求对象模型更新,加入 Source 与 Metric |
3.2.1 | 对象:BidRequest 新增属性 bseat, wlang, source |
3.2.2 | 对象:Source 新增 Payment ID pchain |
3.2.4 | 对象:Imp 新增 Metric 对象 |
3.2.5 | 对象:Metric 新增 |
3.2.6 | 对象:Banner 新增 vcm |
3.2.7 | 对象:Video 新增 placement 与 playbackend;为 playbackmethod 的数组使用做了“仅用首元素”的指导 |
3.2.10 | 对象:Format 新增 wratio, hratio, wmin |
3.2.4 | 对象:Imp 新增 ssai |
3.2.13 | 对象:Device 新增 mccmnc;澄清 carrier 不应使用 "WIFI" |
4.2.3 | 对象:Bid 新增 burl, lurl, tactic, language, wratio, hratio |
4.4 | 替换宏新增 ${AUCTION_MBR} 与 ${AUCTION_LOSS};新增“测试/审计时未知值使用 AUDIT”最佳实践 |
5.6 | 列表:API 框架新增项 6 |
5.9 | 列表:视频投放类型新增 |
5.10 | 列表:播放方式新增项 5–6 |
5.11 | 列表:播放终止方式新增 |
5.24 | 列表:无出价原因代码新增项 9–10 |
5.25 | 列表:失败原因代码新增 |
附录 C. 基于 Cookie 的 ID 同步
Cookie 同步(也称用户同步、用户匹配、Cookie 匹配)是使一方能够了解另一方用户 ID 的过程,因此是基于 Cookie 的 Web 环境下 ID 可用性的基础。由于 Cookie 具有域名隔离特性,同步过程对于一方了解另一方的 ID 是必要的。
Cookie 同步可在生态系统中任意需要彼此传递用户 ID 的两方之间建立。经典的场景是 DSP 与交易所/SSP 之间,以及 DSP 与 DMP 之间。
在 Cookie 同步过程中,一方会存储其用户 ID 与另一方用户 ID 的关系映射表,例如知道 A 方的 cookieID123 与 B 方的 cookieID789 是同一用户。
当同步像素加载时,该方会读取其 Cookie(或设置一个新的 Cookie)以获取其用户 ID,然后发起 302 重定向到另一方提供的 URL,以传递该用户 ID。当另一方的 URL 在浏览器加载时,他们即可读取自己的 Cookie(或设置一个新的),从而建立两个用户 ID 之间的关系,并将其存储(例如在服务端数据存储中,或在可行的情况下直接使用 Cookie 在客户端存储)。
在 DSP 与交易所/SSP 之间的场景中,通常由交易所持有匹配表,但两种方式都可行。当交易所持有匹配表时,它会在生成发给 DSP 的出价请求时使用该表。交易所在浏览器向其发起请求时读取其 Cookie,查找其用户 ID,并找到 DSP 的用户 ID。随后交易所在出价请求的 buyeruid 字段中填入该 DSP 用户 ID。
Cookie 同步的具体实现细节会因集成不同而有所差异,应由双方讨论确定。以下部分以高层次说明 Cookie 同步通常如何运作。
Cookie 同步示例(由交易所托管)
在此示例中,匹配表由交易所持有。
DSP 向交易所提供其同步 URL。例如:
https://ads.dsp.com/sync?exchange=29
交易所向 DSP 提供其同步 URL,并指出 DSP 的用户 ID 应放置的位置。例如:
https://platform.exchange.com/match?dsp=12&dsp_user_id=<USER ID HERE>
DSP 安排其同步 URL 重定向到交易所的同步 URL,并将 DSP 用户 ID 填入适当位置。
随后交易所在用户浏览器中触发 DSP 的同步像素,比如在交易所投放广告或其他机会时。DSP 读取其用户 ID Cookie。假设用户 ID 为 6b9a9765-697e-4c44-b393-dbb00ae7ac6b。DSP 服务器发起 302 重定向到:
https://platform.exchange.com/match?dsp=12&dsp_user_id=6b9a9765-697e-4c44-b393-dbb00ae7ac6b
这样,由于交易所有机会检查其 Cookie,交易所即可建立其 Cookie ID 与 DSP 的对应关系。在发往 DSP 的出价请求中,当存在相应的交易所 Cookie ID 时,便可在 buyeruid 字段中包含该 DSP 的用户 ID。DSP 随后可用于人群定向、频次控制、测量等。
DSP 也可在其拥有的机会中直接触发交易所的同步像素,例如用于人群与转化的 DSP 像素/标签。
Cookie 同步示例(由 DSP 托管)
在此示例中,匹配表由 DSP 持有。
交易所向 DSP 提供其同步 URL。例如:
https://platform.exchange.com/match?dsp=12
DSP 向交易所提供其同步 URL,并指出交易所的用户 ID 应放置的位置:
https://ads.dsp.com/sync?exchange=29&exchange_id=<USER ID HERE>
交易所安排其同步 URL 重定向到 DSP 的同步 URL,并在适当位置填入交易所的用户 ID。DSP 找到机会在浏览器中投放交易所的同步像素,启动同步。交易所也可以在其拥有的机会中直接在浏览器触发 DSP 的同步像素。假设交易所的用户 ID 为 0cc175b9c0f1b6a831c399e269772661。当交易所的同步像素加载时,交易所读取其 Cookie,并发起 302 重定向到:
https://ads.dsp.com/sync?exchange=29&exchange_id=0cc175b9c0f1b6a831c399e269772661
此时 DSP 的同步像素已在浏览器中加载,DSP 可以读取其 Cookie,并存储其用户 ID 与交易所用户 ID 的映射。由于 DSP 通常仅在投放广告时才触达用户浏览器,因此建议 DSP 将该映射存储在服务端数据存储中。
当交易所发送出价请求时,它会在用户对象的 id 字段中包含交易所的 Cookie ID。由于 DSP 托管着将交易所 Cookie ID 与 DSP 的对应关系的匹配表,它可以并会执行查找以确定 DSP 的用户 ID。随后 DSP 可用于人群定向、频次控制、测量等。
其他注意事项与最佳实践
由于在某些隐私法规下,用户 ID 可被视为个人数据,实施方应咨询法务并采取适当合规措施。例如:
- 在查询字符串中包含 GDPR、US Privacy、GPP 等参数,符合相关 Tech Lab 规范。
- 根据 GDPR 同意字符串等信息,某方可决定是否触发某个同步像素,取决于其认为是否具有适当的同意。
- 根据 GDPR 同意字符串等信息,某方可将事件视为无操作(no-op)——例如若其同步像素被触发、用户在欧洲且未提供同意信息,则该方可选择立即返回 204 No Content 且不采取任何动作,因为用户同意未知。
为最大化双方之间的匹配率与覆盖面,实施方可遵循以下最佳实践:
- Cookie 的生命周期通常有限,因此匹配表的保留期也应有限(例如 14–60 天)。建议安排同步行为,以确保在过期前刷新仍活跃用户的匹配。
- 需要进行同步的伙伴通常数量众多。比如交易所需要为每位用户触发其合作的每一家 DSP 的同步。因此建议在所有可用机会触发同步像素,例如投放广告时、投放跟踪标签时等。
- 双方尽可能都部署同步像素,可增加给定用户的同步机会次数。
- 同步像素在用户浏览器中触发,会在页面加载时产生开销。为避免阻塞页面加载,建议以非阻塞方式加载同步像素,例如隐藏 IFRAME。此外,建议在某次场景中限制同步伙伴数量为一个适度的数目。
- 例如可以在每次场景同步最多 5 个伙伴,并记录发生的时间。下一次场景再同步接下来的 5 个伙伴,以此类推。一旦对给定用户所有伙伴都轮转同步完成,则一段时间内无需再触发同步像素。记录每次同步的时间戳可帮助在预计匹配表即将过期前再次触发同步。
附录 D. AdCOM 1.0 枚举索引
以下为本规范中引用且由 AdCOM 1.0 托管的枚举列表索引。为确保值的权威性与时效性,请以以下链接中的官方列表为准。
- Creative Attributes(创意属性):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--creative-attributes- - API Frameworks(API 框架):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--api-frameworks- - Placement Positions(广告位位置):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--placement-positions- - Expandable Directions(可扩展方向):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--expandable-directions- - Playback Methods(播放方式):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--playback-methods- - Playback Cessation Modes(播放终止方式):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--playback-cessation-modes- - Delivery Methods(交付方式):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--delivery-methods- - Companion Types(伴随广告类型):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--companion-types- - Start Delay(起始延迟):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--start-delay- - Video Placement Types(视频投放类型):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--video-placement-types- - Linearity(线性/非线性):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--linearity- - Feed Types(音频源类型):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--feed-types- - Category Taxonomies(类别分类法):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list_categorytaxonomies - Production Qualities(制作质量):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--production-qualities- - Content Contexts(内容上下文):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--content-contexts- - Media Ratings(媒体分级):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--media-ratings- - User ID Types(用户 ID 类型):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--user-id-types- - Creative Subtypes – Audio/Video(创意子类型-音频/视频):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--creative-subtypes---audiovideo- - Pod Deduplication Settings(分段去重设置):
https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--pod-deduplication-settings-
提示:为避免枚举值在不同版本间发生变更导致本文档静态副本失效,以上仅提供指向官方列表的直接链接。当需要固定版本的静态副本(例如审计或归档用途)时,建议使用 Tech Lab 发布标签对应的链接。
AdCOM v1.0 枚举值(静态副本)
为便于本地查阅,以下为 AdCOM v1.0 FINAL 中相关枚举的静态副本。推荐以官方链接为准;如遇差异,请以官方版本为权威。
术语对照与中文注释
为保持与官方规范一致,表格中的“Definition”列保留英文原文。以下提供常见术语的中文对照,辅助理解:
- Vendor-specific codes:厂商自定义编码
- User-initiated:用户触发(例如点击、鼠标悬停)
- Autoplay:自动播放
- Rollover:鼠标悬停触发
- Wrapper(VAST/DAAST Wrapper):包装标签(引用其他广告响应)
- Pre-Roll:前贴片
- Mid-Roll:中插(值大于 0 时代表秒数)
- Post-Roll:后贴片
- Overlay:叠加层(非线性)
- Entering Viewport:进入视窗区域
- Floating/Slider Unit:浮层/滑动单元
- Continuous Playback:连续播放(自动播放下一段媒体)
- Prosumer:准专业制作
- Professionally Produced:专业制作
- User Generated (UGC):用户生成内容
- Audience Taxonomy:受众分类法
- Content Taxonomy:内容分类法
- Ad Product Taxonomy:广告产品分类法
常用缩写与简称
- VAST:视频广告服务模板(Video Ad Serving Template)
- DAAST:数字音频广告服务模板(Digital Audio Ad Serving Template)
- VPAID:视频播放器广告接口定义(Video Player-Ad Interface Definition)
- MRAID:移动富媒体广告接口定义(Mobile Rich Media Ad Interface Definitions)
- OMID:开放测量接口定义(Open Measurement Interface Definition)
- SIMID:安全交互式媒体接口定义(Secure Interactive Media Interface Definition)
- ORMMA:开放富媒体移动广告(Open Rich Media Mobile Advertising)
- TAG IQG:TAG 投放质量指南(Inventory Quality Guidelines)
- IFA:广告标识符(Identifier for Advertising)
- GUID:全局唯一标识符(Globally Unique Identifier)
- CHIPS:独立分区状态 Cookie(Cookies Having Independent Partitioned State)
- SCD:敏感类别标识(Sensitive Category Designation)
List: Agent Types
此列表标识用户标识符来源的用户代理类型。
| Value | Definition |
| 1 | An ID which is tied to a specific web browser or device (cookie-based, probabilistic, or other).(与特定浏览器或设备绑定的 ID,可能基于 Cookie、概率等) |
| 2 | In-app impressions, which will typically contain a type of device ID (or rather, the privacy-compliant versions of device IDs).(应用内展示,通常包含设备 ID 的隐私合规变体) |
| 3 | A person-based ID, i.e., that is the same across devices.(基于个人的跨设备 ID) |
| 500+ | Vendor-specific codes.(厂商自定义编码) |
List: API Frameworks
以下为投放支持或创意所需的 API 框架列表。
| Value | Definition |
| 1 | VPAID 1.0(视频播放器广告接口定义) |
| 2 | VPAID 2.0(视频播放器广告接口定义) |
| 3 | MRAID 1.0(移动富媒体广告接口定义) |
| 4 | ORMMA(开放富媒体移动广告) |
| 5 | MRAID 2.0(移动富媒体广告接口定义) |
| 6 | MRAID 3.0(移动富媒体广告接口定义) |
| 7 | OMID 1.0(开放测量接口定义) |
| 8 | SIMID 1.0(交互式媒体接口定义) |
| 9 | SIMID 1.1(交互式媒体接口定义) |
| 500+ | Vendor-specific codes.(厂商自定义编码) |
List: Category Taxonomies
可用于描述内容、受众及创意类别的分类法选项。
| Value | Definition |
| 1 | IAB Tech Lab Content Category Taxonomy 1.0: Deprecated, and recommend NOT be used since it does not have SCD flags.(内容分类法 1.0,已弃用,缺少 SCD(敏感类别标识)) |
| 2 | IAB Tech Lab Content Category Taxonomy 2.0: Deprecated, and recommend NOT be used since it does not have SCD flags.(内容分类法 2.0,已弃用,缺少 SCD(敏感类别标识)) |
| 3 | IAB Tech Lab Ad Product Taxonomy 1.0(广告产品分类法 1.0) |
| 4 | IAB Tech Lab Audience Taxonomy 1.1(受众分类法 1.1) |
| 5 | IAB Tech Lab Content Taxonomy 2.1(内容分类法 2.1) |
| 6 | IAB Tech Lab Content Taxonomy 2.2(内容分类法 2.2) |
| 7 | IAB Tech Lab Content Taxonomy 3.0(内容分类法 3.0) |
| 8 | IAB Tech Lab Ad Product Taxonomy 2.0(广告产品分类法 2.0) |
| 9 | IAB Tech Lab Content Taxonomy 3.1(内容分类法 3.1) |
| 500+ | Vendor-specific codes. |
List: Content Contexts
指示用户使用或消费的内容类型的选项(源于 TAG IQG(TAG 投放质量指南))。
| Value | Definition |
| 1 | Video (i.e., video file or stream such as Internet TV broadcasts)(视频) |
| 2 | Game (i.e., an interactive software game)(游戏) |
| 3 | Music (i.e., audio file or stream such as Internet radio broadcasts)(音乐) |
| 4 | Application (i.e., an interactive software application)(应用) |
| 5 | Text (i.e., primarily textual document such as a web page, eBook, or news article)(文本) |
| 6 | Other (i.e., none of the other categories applies)(其他) |
| 7 | Unknown(未知) |
List: Creative Attributes
用于描述创意或投放限制的标准属性列表。
| Value | Definition |
| 1 | Audio Ad (Autoplay)(音频广告(自动播放)) |
| 2 | Audio Ad (User Initiated)(音频广告(用户触发)) |
| 3 | Expandable (Automatic)(可扩展(自动)) |
| 4 | Expandable (User Initiated - Click)(可扩展(用户触发-点击)) |
| 5 | Expandable (User Initiated - Rollover)(可扩展(用户触发-悬停)) |
| 6 | In-Banner Video Ad (Autoplay)(横幅内视频广告(自动播放)) |
| 7 | In-Banner Video Ad (User Initiated)(横幅内视频广告(用户触发)) |
| 8 | Pop (e.g., Over, Under, or Upon Exit)(弹窗广告(覆盖、底层或退出时)) |
| 9 | Provocative or Suggestive Imagery(挑逗或暗示性图像) |
| 10 | Shaky, Flashing, Flickering, Extreme Animation, Smileys(抖动、闪烁、强动画、表情等) |
| 11 | Surveys(调查问卷) |
| 12 | Text Only(纯文本) |
| 13 | User Interactive (e.g., Embedded Games)(用户互动(嵌入式小游戏等)) |
| 14 | Windows Dialog or Alert Style(窗口对话框或警示样式) |
| 15 | Has Audio On/Off Button(包含音频开/关按钮) |
| 16 | Ad Provides Skip Button (e.g. VPAID-rendered skip button on pre-roll video)(广告提供跳过按钮,如 VPAID 渲染的跳过) |
| 17 | Adobe Flash(Flash) |
| 18 | Responsive; Sizeless; Fluid (i.e., creatives that dynamically resize to environment)(响应式/无固定尺寸/自适应) |
| 500+ | Vendor-specific codes.(厂商自定义编码) |
List: Creative Subtypes - Audio/Video
音频与视频创意子类型。
| Value | Definition |
| 1 | VAST 1.0(视频广告服务模板 1.0) |
| 2 | VAST 2.0(视频广告服务模板 2.0) |
| 3 | VAST 3.0(视频广告服务模板 3.0) |
| 4 | VAST 1.0 Wrapper(VAST 1.0 包装) |
| 5 | VAST 2.0 Wrapper(VAST 2.0 包装) |
| 6 | VAST 3.0 Wrapper(VAST 3.0 包装) |
| 7 | VAST 4.0(视频广告服务模板 4.0) |
| 8 | VAST 4.0 Wrapper(VAST 4.0 包装) |
| 9 | DAAST 1.0(数字音频广告服务模板 1.0) |
| 10 | DAAST 1.0 Wrapper(DAAST 1.0 包装) |
| 11 | VAST 4.1(视频广告服务模板 4.1) |
| 12 | VAST 4.1 Wrapper(VAST 4.1 包装) |
| 13 | VAST 4.2(视频广告服务模板 4.2) |
| 14 | VAST 4.2 Wrapper(VAST 4.2 包装) |
| 15 | VAST 4.3(视频广告服务模板 4.3) |
| 16 | VAST 4.3 Wrapper(VAST 4.3 包装) |
List: Creative Subtypes - Display
展示类创意子类型。
| Value | Definition |
| 1 | Hosted display(托管展示) |
| 2 | Javascript tag(JS 标签) |
| 3 | Secure javascript tag(安全 JS 标签) |
List: Delivery Methods
视频或音频内容的传输方式。
| Value | Definition |
| 1 | Streaming(流式传输) |
| 2 | Progressive(渐进式下载) |
| 3 | Download(下载) |
List: Expandable Directions
可扩展广告的展开方向。
| Value | Definition |
| 1 | Left(向左) |
| 2 | Right(向右) |
| 3 | Up(向上) |
| 4 | Down(向下) |
| 5 | Full Screen(全屏) |
| 6 | Resize/Minimize (make smaller)(调整尺寸/最小化) |
List: ID Match Methods
ID 可与请求匹配的方式(与 OpenRTB 2.x 的 EID mm 搭配)。
| Value | Name | Definition |
| 0 | Unknown | |
| 1 | No Match | No matching has occurred. The associated ID came directly from a 3rd-party cookie or OS-provided resettable device ID for advertising (IFA).(未匹配;来自第三方 Cookie 或操作系统提供的可重置设备广告 ID) |
| 2 | Browser Cookie Sync | Real time cookie sync as described in Appendix: Cookie Based ID Syncing of OpenRTB 2.x(浏览器 Cookie 同步,详见 OpenRTB 2.x 附录) |
| 3 | Authenticated | ID match was based on user authentication such as an email login or hashed PII(基于用户认证的匹配,如邮箱登录或哈希化的 PII) |
| 4 | Observed | ID match was based on a 1st party observation, but without user authentication (e.g. GUID, SharedID, Session IDs, CHIPS or other 1st party cookies contained in localStorage)(基于第一方观察的匹配,无用户认证) |
| 5 | Inference | ID match was inferred from linkage based on non-authenticated features across multiple browsers or devices (e.g. IP address and/or UserAgent)(基于非认证特征的推断匹配,如 IP 或 UA) |
| 500+ | Vendor Specific(厂商自定义) |
List: Linearity Modes
媒体线性(通常为视频)。
| Value | Definition |
| 1 | Linear(线性) |
| 2 | Non-Linear (i.e., Overlay)(非线性(叠加层)) |
List: Media Ratings
基于 TAG IQG(TAG 投放质量指南)v2.1 的内容分级。
| Value | Definition |
| 1 | All Audiences(所有受众) |
| 2 | Everyone Over Age 12(12 岁以上) |
| 3 | Mature Audiences(成人受众) |
List: Placement Positions
广告位的可见性/显著性(源于 TAG IQG(TAG 投放质量指南))。
| Value | Definition |
| 0 | Unknown(未知) |
| 1 | Above The Fold(首屏以上) |
| 2 | Locked (i.e., fixed position)(固定位置) |
| 3 | Below The Fold(首屏以下) |
| 4 | Header(页眉) |
| 5 | Footer(页脚) |
| 6 | Sidebar(侧栏) |
| 7 | Fullscreen(全屏) |
List: Playback Cessation Modes
媒体播放终止的模式。
| Value | Definition |
| 1 | On Video Completion or when Terminated by User(视频播放完成或用户终止) |
| 2 | On Leaving Viewport or when Terminated by User(离开视窗或用户终止) |
| 3 | On Leaving Viewport Continues as a Floating/Slider Unit until Video Completion or when Terminated by User(离开视窗后以浮层/滑动单元继续至完成或用户终止) |
List: Playback Methods
媒体播放方式。
| Value | Definition |
| 1 | Initiates on Page Load with Sound On(页面加载即启动,声音打开) |
| 2 | Initiates on Page Load with Sound Off by Default(页面加载即启动,默认静音) |
| 3 | Initiates on Click with Sound On(点击启动,声音打开) |
| 4 | Initiates on Mouse-Over with Sound On(鼠标悬停启动,声音打开) |
| 5 | Initiates on Entering Viewport with Sound On(进入视窗即启动,声音打开) |
| 6 | Initiates on Entering Viewport with Sound Off by Default(进入视窗即启动,默认静音) |
| 7 | Continuous Playback - Media playback is set to play additional media automatically without user interaction. The media player will keep playing additional media (playlist or generated) for the user until the user actively stops this from happening.(连续播放) |
List: Pod Deduplication Settings
分段去重设置。
| Value | Definition |
| 1 | Deduplicated on adomain |
| 2 | Deduplicated on IAB Tech Lab Content Taxonomy |
| 3 | Deduplicated on creative ID |
| 4 | Deduplicated on mediafile URL |
| 5 | No deduplication |
List: Production Qualities
内容制作质量(IAB 定义)。
| Value | Definition |
| 0 | Unknown |
| 1 | Professionally Produced |
| 2 | Prosumer |
| 3 | User Generated (UGC) |
List: Start Delay Modes
视频或音频的起始延迟选项。
| Value | Definition |
| >0 | Mid-Roll (value indicates start delay in second) |
| 0 | Pre-Roll |
| -1 | Generic Mid-Roll |
| -2 | Generic Post-Roll |
