本文将介绍导致 VAST 错误代码的原因,以及怎样测试 VAST 视频广告及进行问题排查。VAST 错误可能是由广告请求、广告响应、视频播放器或网址本身的问题所致。
当您的网站投放展示广告时,浏览器会使用 HTML、JavaScript 和 CSS 呈现相应广告。对于视频广告,情况却稍微复杂些。VAST XML 是描述广告的一组数据。视频播放器会接收并读取 VAST XML,以确定播放的是哪个媒体文件。它会向广告服务器发回消息,以报告相应广告是否已被观看以及观看时长。
您还可查看已经过测试的 VAST 代码示例,以便与您自己的播放器进行对比测试。
在测试视频广告时,您可使用 Chrome 开发者工具或任何第三方软件查看网络请求和响应,以获取广告的相关信息。
使用 env=vp
过滤广告资源网请求,以便仅查看发送到 Ad Manager 视频广告服务器的视频广告请求。
在请求中,您会看到以下内容:
iu
参数,即 Ad Manager 广告资源网代码size
参数,即请求的广告尺寸
如果您在广告请求中发现异常,请与视频播放器的开发者讨论解决遇到的任何问题。
视频广告响应应为 VAST XML 文件。现有两种不同类型的 VAST XML 文件:内嵌和重定向。您可根据 XML 中的内容辨别文件类型,因为内嵌 XML 文件(点击此处查看示例)会列出实际的广告素材。而重定向 XML 文件(点击此处查看示例)会包含一个 VAST 广告代码 URI,该 URI 可能会引发另外的重定向或最终引导至内嵌版本的网址。
广告素材和媒体文件
VAST XML 文件中有一个 <Creatives>
元素,其中包含不同的 <MediaFiles>
,以供播放器选择。如果您的播放器无法播放任何可用的媒体文件,就无法向用户播放广告。在这种情况下,请与广告投放人员或广告素材提供方联系。请求播放器可播放的媒体文件。
跟踪事件
在排查问题时,请确保您要跟踪的事件已在 VAST XML 中明确定义。例如,除非用户的播放器使用 XML 中定义的事件向 Ad Manager 发送消息,否则 Ad Manager 无法确定用户是否与广告进行了互动。如果 XML 中未定义“complete”这一跟踪事件,Ad Manager 就无法跟踪用户是否看完了广告。
空的 VAST XML
如果您收到的响应是空的 VAST 代码,则通常表示您的广告服务器中没有可满足相应广告请求的广告素材,或者没有针对此类请求的广告。如果您的播放器收到空的 VAST XML,您便需要仔细检查从播放器发出的广告请求,以确保请求的是正确的键值对、广告单元和广告尺寸。您还可在 Ad Manager 中检查定位条件,以确认您想要投放的订单项与请求相符。
广告素材呈现率
如果您发现代码调用总次数与总展示次数之间的差异超过 25%,原因可能在于广告素材呈现率。具体可能是因为:用户、网站、播放器延迟或崩溃,或用户在播放器还没播放广告或还没请求预获取广告时就离开了页面。
如果是因为播放器尚未预获取广告造成的,这属于正常现象,不需要您采取任何措施。不过,您应调查播放器和网站问题,这样或许可以找到解决办法。
视频错误的严重级别
视频播放器可能会触发某些错误,但仍会播放广告。这些错误被视为“潜在的非严重”错误。其他“严重”错误通常会导致视频播放器停止请求未能成功播放的广告,然后改为请求其他广告或继续播放视频内容。具体的错误处理做法因播放器植入广告的方式而异。
严重错误,系统可能会停止广告请求。 | |
潜在的非严重错误,系统可能会继续播放广告。 |
VAST 错误
100 VAST XML 解析错误出现 VAST 100 错误时可能的原因
如果买方的响应格式有误、买方的响应是因其他原因而无效的 XML 文档,或者重定向 VAST 网址无法成功解析,就可能会发生此严重错误。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保 VAST XML 的格式正确无误,并且包含所有必需的元素和属性。有关详情,请参阅 IAB 发布的 VAST 规范。 |
出现 VAST 101 错误时可能的原因
根据 IAB 标准,如果买方的响应中缺少 XML 的必需元素/属性或者包含无法识别的元素,就可能会导致此严重错误。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保 VAST XML 的格式正确无误,并且包含所有必需的元素和属性。有关详情,请参阅 IAB 发布的 VAST 规范。 |
出现 VAST 102 错误时可能的原因
如果视频播放器不支持出价请求中指定的 VAST 版本,就可能会发生此严重错误。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保在响应中仅发送受支持的 VAST 版本。 |
出现 VAST 200 错误时可能的原因
如果视频播放器不允许或不支持出价请求中请求的广告类型,就可能会发生这种潜在的非严重错误。例如,在播放器仅配置为支持线性广告时却收到了可跳过式广告,或者可跳过前的播放时长超出预期。
建议采取的措施
发布商 | 检查是否存在广告投放管理错误,或提醒买方。 |
买方 | 确保在响应中仅发送了指定的广告类型,且可跳过式线性广告素材严格遵照“可跳过前的播放时长”属性的值。 |
出现 VAST 201 错误时可能的原因
如果买方响应在广告是否为线性广告方面与视频播放器的请求不一致,就可能会发生此潜在的非严重错误。例如,在响应中发送的是非线性广告,而请求中指定的是线性广告。*
建议采取的措施
发布商 | 确保在广告请求中正确指定了是需要线性广告还是非线性广告。 |
买方 | 确保响应仅包含请求中指定的广告类型(线性广告或非线性广告)。 |
* Authorized Buyers 实时出价仅支持线性广告。
出现 202 VAST 错误时可能的原因
如果返回的广告素材的时长与指定的时长不同,就可能会发生此潜在的非严重错误。例如,返回的广告素材的时长为 30 秒,而实际媒体文件的时长却为 60 秒。
建议采取的措施
发布商 | 确保在 Ad Manager 中正确设置了广告素材时长。 |
买方 | 确保响应遵循相应请求中指定的时长上限。 |
出现 VAST 203 错误时可能的原因
如果买方返回的媒体文件与发送出价请求的设备不兼容,就可能会发生此潜在的非严重错误。如果向移动设备返回了高比特率广告素材,通常会引发此错误。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保您的响应中包含的是与各种技术和设备都兼容的媒体文件,包括在比特率方面的兼容性。 |
出现 VAST 300 错误时可能的原因
此严重错误是一般性的封装容器错误,买方或发布商无法通过采取措施加以解决。
出现 301 VAST 错误时可能的原因
如果 VAST 重定向代码未能在封装容器元素中所指定的超时时限(默认值为 5 秒)内返回任何响应,就可能会导致这种严重错误。这可能包括请求错误(例如 URI 无效、URI 无法访问或 URI 请求超时)、安全问题或与 VAST URI 请求相关的其他异常情况。另外,连接延迟时间较长(例如采用的还是 3G 连接)或买方响应缓慢也可能会导致出现此错误。
建议采取的措施
发布商 | 通过 SDK 提高播放器的超时限制。 |
买方 | 确保 VAST 重定向 URI 可访问,且不存在任何协议问题(例如,托管在 HTTP 上的响应却传送到 HTTPS 网站)。 |
出现 302 VAST 错误时可能的原因
如果已达到视频播放器指定的封装容器限制,就可能会导致这种严重错误。具体可能是因为:收到的封装容器响应过多,但无内置响应;存在菊链式回圈循环(即从一个广告资源网跳转到一个又一个的广告资源网);或者来自视频后备广告的空 VAST 响应过多。
建议采取的措施
发布商 | 通过 SDK 提高播放器的封装容器限制。 |
买方 | 确保所有 VAST 重定向都不会再次重定向到另一广告联盟。如果在系统返回有效的媒体文件之前,视频播放器调用的重定向过多,播放器可能会取消广告请求。 |
出现 303 VAST 错误时可能的原因
如果在一个或多个封装容器过后 VAST 响应中未返回任何广告,就可能会发生此严重错误。这也包括来自视频后备广告的空 VAST 响应。
在第三方广告联盟中,填充率可能会低于 100%。如果是这样,那么出现这种错误就属于正常现象。例如,如果第三方预计能实现 60% 的填充率,则发生此错误的几率预计为 40%。
建议采取的措施
发布商 | 确保错误率与第三方广告资源网的填充率相符。投放视频后备广告可能有助于避免错失展示机会。 |
买方 | 确保出价未与空的 VAST 响应一起返回,并且托管广告素材的广告客户或代理机构未返回空响应。 |
出现 400 VAST 错误时可能的原因
如果视频播放器无法展示线性广告,就可能会发生此严重错误。发生此错误的可能原因包括:媒体文件不是指定格式的有效视频文件;浏览器限制了有声自动播放;或其他未知原因。
建议采取的措施
发布商 | 检查是否存在播放器问题,允许播放器检测自动播放是否受限,或提醒买方。 |
买方 | 确保 VAST 响应能够返回有效的广告素材。 |
出现 401 VAST 错误时可能的原因
如果从媒体文件 URI 中找不到相应文件,就可能会发生此严重错误。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保 VAST 响应中的所有媒体文件 URI 都会返回有效的视频广告素材。 |
出现 402 VAST 错误时可能的原因
如果在获取或播放媒体文件时遇到问题(可能是以下任何问题),就可能会发生这种严重错误:
- IMA SDK 中的
loadVideoTimeout
设得过低。默认值为 8 秒。 - 带宽偏低,或网站的广告植入机制有欠缺,导致媒体文件因存在竞争请求而延迟加载。
- 视频广告在移动环境中会自动播放,而实际上应该是在用户点击后才开始播放(有一些例外情况)。
- 在自动播放环境(例如,播放列表)中展示视频广告,而焦点未在窗口上(选择了另一标签页或窗口处于最小化状态)。*
对于使用 IMA SDK 的播放器,视频后备广告可能会有助于避免展示机会白白流失。
建议采取的措施
发布商 | 通过 SDK 提高播放器的超时限制。 |
买方 | 确保在指定的媒体超时时限内返回 CDN 托管的所有广告素材。 |
*只会在 Chrome 网络浏览器中发生。
出现 403 VAST 错误时可能的原因
如果 VAST 响应为所有可用的媒体文件声明了不受支持的 MIME 类型(例如,在移动设备上声明 Flash,或者在 iOS 设备上声明 WebM),就可能会发生这种严重错误。这可能表明,系统在试图播放错误类型的广告素材。
这类错误在移动设备上更为常见。
建议采取的措施
发布商 | 确保视频播放器所在的设备和平台支持所请求的广告素材格式或技术。例如,在移动应用中不应请求 VPAID 广告素材。 |
买方 | 确保返回的所有广告素材都遵循出价请求中的视频格式。 |
出现 VAST 405 错误时可能的原因
如果返回的广告素材有误,就可能会发生此严重错误。广告素材失败的可能原因包括:MIME 类型和视频文件类型不一致;广告素材 CDN 上的 CORS 配置;或其他与转码相关的原因。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保所有广告素材 MIME 类型和 CDN 配置都准确无误。 |
出现 VAST 406 错误时可能的原因
如果返回的 VAST 响应缺少必需的 Mezzanine 文件,就可能会导致此严重错误。采用服务器端广告植入方案的发布商通常需要 Mezzanine 文件,这类文件是高画质的原始视频文件,用于进行广告融合或生成具有适当画质的视频文件。*
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保在发布商需要时您的响应中包含 mezzanine 文件。 |
* 这是 VAST 4 的一项功能。
出现 407 VAST 错误时可能的原因
如果因 Mezzanine 文件是第一次下载而未投放任何广告,就可能会导致这种严重错误。如果因广告素材已转码而错失了广告插播机会,也可能会导致这种错误。要一直等到广告素材可供插播后,这种错误才会消失。*
建议采取的措施
如果视频正在转码,这就属于正常现象,无需采取任何措施。
* 这是 VAST 4 的一项功能。
出现 408 VAST 错误时可能的原因
如果 VAST 响应中返回的广告遭到拒绝,就可能会发生此严重错误。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保您的 VAST 响应中仅返回已获批准的广告素材,或者确保托管广告素材的所有广告客户或代理机构都知道被拒情况。 |
出现 409 VAST 错误时可能的原因
如果 InteractiveCreativeFile
节点中指定的广告素材未执行,就可能会发生此严重错误。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保您的响应中返回的所有交互式广告素材在被请求展示时都能成功播放。 |
出现 VAST 410 错误时可能的原因
如果 AdVerification
节点中引用的代码未执行,就可能会发生此严重错误。*
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保根据验证服务供应商的规范正确实现了响应中引用的验证代码。 |
* 这是 VAST 4 的一项功能。
出现 VAST 500 错误时可能的原因
如果视频播放器因未知原因而无法展示非线性广告,就可能会发生此严重错误。
建议采取的措施
发布商 | 检查是否存在视频播放器问题,或提醒买方。 |
买方 | 确保 VAST 响应能够返回有效的广告素材。 |
出现 501 VAST 错误时可能的原因
如果因广告素材尺寸与广告素材展示区域的尺寸不一致(广告素材尺寸过大)而无法播放非线性广告,就可能会发生这种严重错误。如果您使用了 CSS 样式来设置视频内容元素的宽度和高度,就可能会发生这种情况。
建议采取的措施
发布商 | 确保所设置的宽度和高度与展示区域一致。如果您使用 CSS 样式设置视频内容元素的宽度和高度,请改用 HTML 属性设置它们。 |
买方 | 提醒发布商。 |
出现 VAST 502 错误时可能的原因
如果买方的响应返回的非线性广告未能成功返回有效的广告素材,就可能会发生此严重错误。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保非线性广告响应中返回了有效的广告素材。 |
出现 VAST 503 错误时可能的原因
如果发布商请求的广告素材尺寸比视频播放器尺寸大或其媒体类型无效,就可能会发生此严重错误。
建议采取的措施
发布商 | 确保视频播放器可以接受所请求的广告素材尺寸和媒体类型。 |
买方 | 提醒发布商。 |
出现 VAST 600 错误时可能的原因
如果发布商由于未知原因而无法展示随播广告,就可能会发生此潜在的非严重错误。
建议采取的措施
发布商 | 检查是否存在广告投放问题,或提醒买方。 |
买方 | 确保 VAST 响应能够返回有效的广告素材。 |
出现 VAST 601 错误时可能的原因
如果随播广告素材尺寸不适合随播广告展示区域,就可能会发生此潜在的非严重错误。
建议采取的措施
发布商 | 确保所请求的随播广告尺寸适合发出请求的广告单元的尺寸。 |
买方 | 提醒发布商。 |
出现 VAST 602 错误时可能的原因
如果发布商无法呈现 VAST 响应中返回的随播广告素材,就可能会导致这种潜在的非严重错误。
建议采取的措施
发布商 | 检查是否存在广告投放问题,或提醒买方。 |
买方 | 确保 VAST 响应能够返回有效的广告素材。 |
出现 VAST 603 错误时可能的原因
如果买方的响应返回的随播广告无法返回有效的广告素材,就可能会发生此潜在的非严重错误。
建议采取的措施
发布商 | 提醒买方。 |
买方 | 确保在随播广告响应中返回了有效的广告素材。 |
出现 VAST 604 错误时可能的原因
如果发布商针对随播广告位请求了不受支持的广告素材类型,就可能会发生此潜在的非严重错误。
建议采取的措施
发布商 | 确保随播广告位支持指定的广告素材类型。 |
买方 | 提醒发布商。 |
出现 900 VAST 错误时可能的原因
如果出现任何 VAST 2 错误,就可能会发生此潜在的非严重错误,即使请求了 VAST 3 或者您的广告联盟默认设为 VAST 3 也是如此。
建议采取的措施
发布商 | 改为开始请求 VAST 3,或者为您的广告联盟启用 VAST 3。* |
买方 | 与发布商合作排查确切问题,或者采用 VAST 3 进行响应。** |
*会报告 900 错误的汇总信息。此类 900 错误要比 900 未定义的 VAST 3 错误常见得多。
**实时出价明细不会为此类 900 错误生成报表,因为这类错误几乎都是非严重警告。
要了解实时出价明细中报告的 900 错误,请参阅 900 未定义的 VAST 3 错误。
出现 900 VAST 错误时可能的原因
此严重错误是由未知的 VAST 3 错误导致的,此类错误可能会导致停止广告请求。
建议采取的措施
发布商 | 提醒买方。* |
买方 | 与发布商合作排查确切问题。** |
* 报表会显示 900 错误的汇总信息。此类 900 错误远不及 900 VAST 2 错误常见。
**在这两类 VAST 900 错误中,实时出价明细仅会报告此类错误。
出现 901 VAST 错误时可能的原因
如果出现 VPAID 错误(可能是以下任一种),就可能会发生此严重错误:
- SSP VPAID 封装容器不执行购买
- SSP VPAID 封装容器超时
- VPAID 广告素材需要不安全模式
- 与 IMA SDK 结合使用的是 Authorized Buyers“IMA 适配器”代码,而系统却返回了 VPAID 广告(应使用“Direct SDK”代码)
建议采取的措施
发布商 | 确保设备和播放器支持所有 VPAID 广告素材请求。您可以使用视频广告素材配置文件来控制哪些广告素材能够投放。 |
买方 | 确保从 IAS/DV/MOAT 返回 HTML5 VPAID 封装容器的所有 VAST 响应均包含 MP4 素材资源,并且封装容器不会中止播放。此外,还要确保您不会在未确定广告客户或买方的情况下对展示机会出价,也不会尝试启动客户端转销。 |
出现 1009 VAST 错误时可能的原因
如果返回的 VAST 响应中未包含视频文件或跟踪事件,系统会报告 VAST 1009 错误。导致这种错误的原因可能是广告单元的发布商设置,也可能是订单或订单项的广告投放管理错误。
建议采取的措施
发布商 | 确保订单或订单项中的开始日期或结束日期正确无误,并且所有目标键值对均有效。此外,请确保定位到正确的广告单元,并且在订单项中配置的尺寸与目标广告单元的尺寸一致。 |
买方 | 提醒发布商。 |
IMA SDK 错误
这些错误不是 VAST 规范的一部分。
1005 网址格式错误出现 1005 IMA SDK 错误时可能的原因
网址编码或解码失败时,可能会出现这种严重错误。
建议采取的措施
发布商 | 确保网址字符串中的所有特殊字符均已正确编码。 |
买方 | 提醒发布商。 |