本指南概述了在对视频广告资源出价时可能需要使用的集成要求、配置和相关字段。
Google 支持以单个广告机会或动态视频广告连播形式呈现的插播视频广告、原生视频广告和插页式视频广告。动态广告连播是指按顺序展示的一组视频广告,其中广告连播的时长上限会分为一个或多个时长各异的视频。如需详细了解原生和插页式广告格式,请参阅相关指南。
买方要求
RTB 协议
本指南通常会提及 Protobuf 格式,但除非另有说明,否则该格式与 JSON 格式的字段名称和路径是等效的。
您可以在 Proto 和参考数据页面中找到 OpenRTB proto 和 Google 特定的 OpenRTB 扩展。如需详细了解如何开发出价方,请参阅处理请求和构建响应。
广告素材审核
Google 建议您先提交广告素材以供审批,然后再使用这些广告素材进行出价。您可以使用 Real-time Bidding API 的广告素材资源来启动审核流程。
预定位配置
为了接收视频广告资源,您的 Authorized Buyers 账号应创建包含视频广告资源的预定位配置。
宏
您可以在 BidResponse.seatbid.bid.adm
中指定的视频网址链接或 VAST XML 中指定宏。此外,如果您指定了视频网址,还可以在关联的 VAST XML 文档中放置宏。视频广告素材支持以下宏:
%%CACHEBUSTER%%
%%WINNING_PRICE%%
%%SITE%%
不支持 CLICK_URL_ESC
等点击宏,因为 Authorized Buyers 会将点击跟踪广告代码包含在 VAST 封装容器中。如需详细了解支持的宏,请参阅指定宏。
宣传信息详情
您可以使用 OpenRTB 的 BidRequest.imp.video
字段来确定传入的出价请求是针对插播视频广告资源还是插页式视频广告资源,并查找有关该请求的其他视频特定信息。
此外,对于原生广告资源,您可以使用 BidRequest.imp.native.{request/request_native}.assets.video
获取类似的视频特定信息。
BidRequest.{app/site}.content.producer.domain
-
描述视频内容的网页的网址(已移除参数)。 发布商向 Google 提交此网址。例如:
http://www.publisher.com/watchpagelink
banner.vcm
-
如果设置为
true
,则可以选择随播广告在视频广告播放完毕后在视频广告位中呈现为结束贴片(信息卡)。否则,随播广告不会呈现为结尾画面。 BidRequest.imp.rwdd
-
如果设置为
true
,则表示用户观看视频广告后会获得奖励。典型的奖励可能包括免费阅读一篇额外文章、在游戏中获得一条额外生命,或获得赞助的无广告音乐会话。 BidRequest.imp.video.maxduration
-
出价响应中包含的每个广告允许的最大时长(以秒为单位)。 如果未设置,则没有时长上限。当
BidRequest.imp.video.skip
为true
时,行为可能会有所不同。如需了解详情,请参阅可跳过视频广告的时长上限。 BidRequest.imp.video.maxseq
-
可投放至动态视频广告连播中的广告数量上限。如果设置了
poddur
,但未设置maxseq
或将maxseq
设置为0
,则对可投放至视频广告连播中的广告数量没有限制。Google 仅支持动态 pod。实际展示的视频广告数量可以小于或等于此值,但不能超过此值。
BidRequest.imp.video.minduration
- 出价响应中包含的每个广告的最低时长(以秒为单位)。如果未设置,则没有最短时长。
BidRequest.imp.video.plcmt
-
说明视频将在何处播放。
PLCMT_UNKNOWN
展示位置未知或无法确定。 PLCMT_INSTREAM
在消费者请求的流式视频内容播放前、播放期间或播放后展示的前贴片广告、中贴片广告和后贴片广告。插播视频必须在播放器启动时默认设置为“开启声音”,或者用户明确表示要观看视频内容。虽然播放器周围可能还有其他内容,但视频内容必须是用户访问的重点。它应始终是网页上的主要内容,并且是播放时唯一能够发出声音的可见视频播放器。如果播放器转换为浮动/粘性播放器,后续广告调用应准确传达更新后的播放器尺寸。 PLCMT_ACCOMPANYING_CONTENT
在流式视频内容播放前、播放期间或播放后展示的前贴片广告、中贴片广告和后贴片广告。视频播放器在文字段落或图形内容之前、之间或之后加载和播放,并且仅在进入视口时开始播放。 随播内容应仅在进入视口时开始播放。当用户滚动页面时,它可能会转换为浮动/粘性播放器。 PLCMT_INTERSTITIAL
不含视频内容的视频广告。在播放期间,它必须是页面的主要焦点,占据大部分视口,并且不能滚动出视图。这可以是应用内视频或幻灯片等展示位置。 PLCMT_NO_CONTENT_STANDALONE
在没有流式视频内容的情况下播放的视频广告。这些广告可以投放到幻灯片、原生 Feed、内容中或粘性/浮动等位置。 BidRequest.imp.video.playbackmethod
-
说明如何播放视频广告。
系统会根据可用的最佳衡量方式来确定播放方法是自动播放还是点击播放。
AUTO_PLAY_SOUND_ON
在网页加载时启动,并开启声音。 AUTO_PLAY_SOUND_OFF
在网页加载时启动,但声音处于关闭状态。 CLICK_TO_PLAY
点击时启动,并开启声音。 MOUSE_OVER
在鼠标悬停时启动,并开启声音。 ENTER_SOUND_ON
在进入视口时启动,并开启声音。 ENTER_SOUND_OFF
进入视口时启动,默认静音。 BidRequest.imp.video.skip
- 如果值为
true
,则表示播放器将允许跳过视频,或者允许投放可跳过的广告。否则,表示不允许使用可跳过的广告。 BidRequest.imp.video.startdelay
-
值为 0 表示前贴片广告,-1 表示中贴片广告,-2 表示后贴片广告。
任何其他正值都是从视频开始播放到广告显示的时间(以秒为单位)。
BidRequest.imp.video.durfloors
和BidRequest.imp.audio.durfloors
-
一个
DurFloors
对象数组,用于指明买方可以出价的各种时长的视频或音频广告素材的相应底价。以下是 Google 指定的
durfloors
的示例:{"maxdur": 16, "bidfloor": 5}
表示在$5
时(0, 16)
秒。{"mindur": 16, "maxdur": 31, "bidfloor": 10}
表示$10
时的[16, 31)
秒。{"mindur": 31, "bidfloor": 20}
表示在$20
时[31, inf)
秒。
这些信号并非视频广告素材独有,但对于出价方来说,它们尤其有价值:
BidRequest.device.ifa
- 此字段是一个 36 字符的 UUID,仅在使用 SSL 时设置,且未经过哈希处理。它是
BidRequest.device.dpidm5
的未加密版本。对于 iOS 设备,它包含全大写的广告客户标识符 (IDFA)。对于 Android 设备,它包含全小写字符的 Android 标识符 (ADID)。对于联网电视设备,它包含其唯一标识符(例如 Roku 的 RIDA)。 BidRequest.device.devicetype
- 指定设备类型。
MOBILE
HIGHEND_PHONE 或 TABLET 的过时别名。 PERSONAL_COMPUTER
包括台式机和笔记本电脑。 CONNECTED_TV
包括联网电视(即智能电视)和联网设备(例如 Roku、Apple TV 等)。 HIGHEND_PHONE
包括高端手机设备。 TABLET
包括平板电脑设备。 CONNECTED_DEVICE
包括专用游戏设备。 SET_TOP_BOX
包括机顶盒设备。 OOH_DEVICE
包括户外广告设备,例如数字广告牌。 BidRequest.device.make
- 指定设备的品牌(例如 Nokia 或 Samsung)。
BidRequest.device.model
- 指定设备的确切型号(例如 N70 或 Galaxy,如果可用),否则包含通用型号(例如“iphone”或“ipad”)。
BidRequest.imp.metric
-
当
Metric.type
设置为completion_rate
时,Metric.value
将是 [0.0, 1.0] 范围内的分数, 表示在相应广告位投放的视频广告的历史完成率。默认值-1.0
表示无法提供历史完成率数据。 BidRequest.imp.video.poddur
- 您可以为动态视频广告连播填充广告的时长(以秒为单位)。 此字段是指整个广告插播的时长。如果未设置,则广告位不属于广告连播。
视频出价请求还包含有关广告资源的信息,例如行业、允许的供应商和渠道信息。出价请求中的所有其他现有字段也适用于视频。
视频请求的 AdSlot 消息中的宽度和高度字段对应于视频广告播放器的尺寸。
BidRequest.imp.ext.allowed_vendor_type
- 允许的供应商。如需查看 ID 列表,请参阅技术文档中的 vendors.txt 文件。 例如,309 = DFA 视频单元。
BidRequest.imp.video.mimes
- 一个许可名单,用于描述针对出价请求投放的广告支持的内容 MIME 类型;例如,“video/mp4”。出价响应应注明至少支持其中之一。
BidRequest.imp.video.protocols
-
用于描述发布商针对视频广告请求支持的 VAST 版本。
包含
Protocol
枚举值的数组,包括:VAST_2_0
、VAST_3_0
、VAST_2_0_WRAPPER
、VAST_3_0_WRAPPER
、VAST_4_0
、VAST_4_0_WRAPPER
等。
BidRequest.imp.video.companionad
-
此字段包含一个
Banner
对象数组,用于表示随播广告(如果有)。 BidRequest.site.page
-
视频观看页面的网址或嵌入视频的网页的网址。例如:
http://www.publisher.com/watchpagelink
在响应视频请求时,出价方应在 BidResponse.seatbid.bid.adm
字段中返回 VAST 重定向网址或 VAST XML。出价响应还应包含视频广告的正确声明。以下是适当的视频出价响应的摘录:
id: "n40G42d551UX18627ao8lt" seatbid { bid { id: "17u6BnD62h88r5q7066" impid: "1" price: 0.797848 adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" adomain: "google.com" crid: "test_creative_id_987914" w: 320 h: 480 cattax: GOOGLE_CATEGORIES [com.google.doubleclick.bid] { attribute: 47 attribute: 50 billing_id: 55383762512 skadn { version: "4.0" network: "306el65O" itunesitem: "832461214" sourceapp: "977150768" fidelities { fidelity: VIEW_THROUGH_ADS nonce: "0054e0b9-0b53-4426-99dd-a1eefeb45565" timestamp: "1757329316673" signature: "oE3Ek8347oZV1Yl1J42G2c88BSKr2dqEbiOK2S4ni7NVDh3v128NN0hlzWK5aX96ecV1504E9k288i0t0wGX73P317812WE7" } fidelities { fidelity: STOREKIT_RENDERED_ADS nonce: "0054e0b9-0b53-4426-99dd-a1eefeb45565" timestamp: "1757329316673" signature: "b1GqXA4v889p842512GQ1p3249q5VmPt1335f1H1zdK92fq24j7a7ml419W7u8B7rhhH97s507f2251923oWi89XF1voZv4b" } sourceidentifier: "8396" } app_promotion_type: INSTALLS clickurl: "google.com" } } } [com.google.doubleclick.bid_response] { processing_time_ms: 20 }
视频出价响应中的重要字段如下:
BidResponse.seatbid.bid.ext.attribute
-
可通过相应代码段展示的广告的属性。如需查看 ID 列表,请参阅 buyer-declarable-creative-attributes.txt 文件。我们会检查,确保这些属性中没有一个与发布商在出价请求中禁止的属性相匹配。
例如,如果任一字段包含
30
,则表示广告需要 VPAID 支持才能呈现。 BidResponse.seatbid.bid.adm
-
对于视频广告,这是视频广告的 VAST 重定向网址。例如:
http://ad.doubleclick.net/pfadx/N270.132652.1516607168321/B3442378.3;dcadv=1379578;sz=0x0;ord=79879;dcmt=text/xml
或者,这可能是原始 VAST XML。
出价请求和响应示例
视频格式
买家如何添加视频
下表分别展示了买方可以在广告素材中添加视频的方式,以及可以投放这些广告素材的网站和移动应用展示位置。
Web
视频广告素材 | 插播(全部) | 信息流广告/文章内嵌广告 | Feed 内/文章内嵌原生广告 | 插页式广告 | 横幅内嵌广告 |
---|---|---|---|---|---|
VPAID + VAST |
|
||||
VAST |
|
||||
MRAID + JS |
|
|
|
|
|
自定义 JS |
|
||||
原生广告 + VAST |
|
移动应用
视频广告素材 | 插播(全部) | 信息流广告/文章内嵌广告 | Feed 内/文章内嵌原生广告 | 插页式广告 | 横幅内嵌广告 |
---|---|---|---|---|---|
VPAID + VAST |
|
|
|
|
|
VAST |
|||||
MRAID + JS |
|||||
自定义 JS |
|||||
原生广告 + VAST |
键: | 格式/技术不可用 | 此展示位置接受视频广告素材,但受发布商屏蔽设置的限制 |
视频广告素材不适用于此展示位置 |
---|
OpenRTB 建议的信号
下表列出了 OpenRTB 针对桌面设备和移动网站以及移动应用的所有视频格式推荐的信号。
桌面网站和移动网站
视频格式 | 推荐的信号(仅限与视频相关的信号) | 相关信号(仅限与视频相关的信号) |
---|---|---|
插播广告 (VPAID) |
存在 VIDEO 对象 & |
|
插播广告(非 VPAID) |
存在 VIDEO 对象 & |
|
非插播广告 |
存在 VIDEO 对象
|
|
信息流广告 |
存在 VIDEO 对象 & |
|
文章内嵌广告 |
存在 VIDEO 对象 & |
|
原生 |
NATIVE 对象存在且 |
|
横幅内嵌广告 |
没有视频对象 & |
移动应用
视频格式 | 出价请求详细信息(仅限相关视频的详细信息) | |
---|---|---|
插播 |
存在 VIDEO 对象 & |
|
非插播广告 |
存在 VIDEO 对象
|
|
信息流广告 |
存在 VIDEO 对象 & |
|
文章内嵌广告 |
存在 VIDEO 对象 & |
|
原生 |
NATIVE 对象存在且 |
|
插页式广告 (VAST) |
存在 VIDEO 对象 & |
|
插页式广告(无 VAST) |
存在 VIDEO 对象 & |
已过滤 |
横幅内嵌广告 (MRAID) |
视频对象不存在 & |
|
横幅内嵌广告 (无 MRAID) |
视频对象不存在 & |
发布商如何允许/禁止视频广告
下表说明了发布商可以通过哪些方式允许/禁止在展示位置中展示视频。
发布商选项 | 适用的格式 | 在出价请求中描述为 |
---|---|---|
指定插播视频广告单元 |
插播(全部) |
视频对象存在 & |
选择启用 VPAID |
插播网页 |
视频对象存在且 |
选择启用 IBV |
横幅内嵌广告 插页式广告 |
|
选择启用(说明) |
信息流广告 文章内嵌广告 |
视频对象存在 & |
选择启用非插播广告(说明) |
原生 |
存在原生对象 |
屏蔽视频插页式广告 |
应用插页式 |
VIDEO 对象不存在 |
边缘用例
# | 案例说明 | 评论 | 出价请求 |
---|---|---|---|
1 |
使用 MRAID 实现延迟自定义关闭 |
对于插页式广告,即使买方未使用自定义关闭功能,关闭广告也可以使用 MRAID 向买方发送通知。 应用了 Authorized Buyers 的 X 始终会显示在任何自定义关闭按钮的上方,即使自定义关闭按钮在 5 秒后显示在下方也是如此 |
术语库
插播广告格式和非插播广告格式的相关字段
BidRequest.Video. | |||||
---|---|---|---|---|---|
Placement
|
|
||||
linearity
|
指明展示必须是线性展示、非线性展示等。如果未指定任何值,则假定允许所有展示类型。
|
||||
videoad_start_delay
|
|
出价请求值来源
OpenRTB 对象 |
字段 | Authorized Buyers /广告交易平台 出价 非插播 |
示例值 | 由谁来确定? /此值从何处派生? |
---|---|---|---|---|
对象 | ||||
视频 | mimes | 是 | ["application/javascript", "video/mp4"]", |
|
minduration | 否 | 发布商已配置 | ||
maxduration | 是 | 发布商已配置 | ||
playbackmet hod |
是 | [6] | 通常发布方 已配置 |
|
api (MRAID) | 是 | [1,2] | ||
protocols | 是 | [2,3,5,6,7,8] | ||
线性度 | 是 | [1] | ||
展示位置 | 是 | [1] | ||
播放器宽度 | 是 | 400、400、300 | ||
球员身高 | 是 | 225,300,153 | ||
启动延迟 | 是 | 0 | Google,默认 5 秒 | |
跳过 | 是 | 1 | 发布商/Google - 对于插页式广告 => Google - 对于插播广告 => 发布商 决定是否允许投放可跳过的广告、不可跳过的广告或两者都允许。 激励广告,始终不可跳过; |
|
最低比特率 | 否 | |||
最高比特率 | 否 | |||
pos | 是 | 1 | ||
设备 | ||||
像素比 | 是 | 1 | ||
展示 | ||||
安全 | 是 | 1 | Google 默认值为 true 因为 adtag 始终是 安全的 |