VAST Error Code Troubleshooting Matrix

From IAB TechLab Wiki
Revision as of 14:46, 28 June 2018 by Adampiskin (talk | contribs)
Jump to: navigation, search

The VAST specs list a number of error codes that can be expected, but do not go into detail about the code. This table lists out the various VAST error codes and their potential root causes based on the experiences of IAB members.

Original contribution by Rubicon Project, and now maintained by the "Video Tools & Best Practices" sub-group.

Error Code Fatal? Definition Possible Causes & Actions
100 Yes XML parsing error. VAST supplied in adm is not a valid XML document.

URL supplied in nurl does not resolve to a valid XML document.

Nurl only: Server did not respond with VAST, or at all when player called the nurl.

Perhaps a CORS issue

Ensure VAST XML is properly formatted per IAB spec

101 Yes VAST schema validation error The VAST validates as XML, but does not validate per the VAST schema (i.e. there are missing mandatory elements or attributes, or combinations of elements/attributes that are not permissible).

Some possible reasons for invalidity:

           InLine and Wrapper both present. 
           AdTagURI missing in Wrapper element. 
           Duration missing. 
           Missing Ad node or MediaFile node. 
           Offset attribute on Progress event is missing or not a valid value.

Ensure VAST XML is properly formatted per IAB spec

102 Yes VAST version of response not supported. Bidder did not respect the VAST version(s) listed in the bid request.

Exchange is sending wrong VAST version(s) in bid request.

VAST does not contain version (this could also be considered a schema validation issue)

200 Maybe Trafficking error. Video player received an ad type that it was not expecting and/or cannot display. Player wanted Skippable Linear, but got back Linear.

Player wanted Linear, but got back Skippable Linear.

For Skippable Linear, skipoffset doesn’t meet publisher expectations.

Bidder did not respect the skippability/skipoffset in the bid request.

Exchange is sending wrong skippability/skipoffset in the bid request.

Potentially any of the reasons in 201-203

Make sure proper ad types are being sent and skippable attributes are being respected

201 Maybe Video player expecting different linearity. Bidder did not respect the linearity in the bid request.

Exchange is sending wrong linearity in the bid request

Ensure linearity requested is being respected

202 Maybe Video player expecting different duration. Bidder did not respect the duration in the bid request.

Exchange is sending wrong duration in the bid request

Ensure duration requested is being respected

203 Maybe Video player expecting different size. No MediaFile is available with dimensions that are matching for the device (i.e. mobile devices that cannot play full HD).

No MediaFile is available with an acceptable bitrate.

Bidder did not respect maxbitrate

Exchange is not sending maxbitrate

High bitrate creatives attempting to serve on mobile devices

Ensure multiple mediafiles options to cover different devices and environments

204 Yes Ad category was required but not provided
300 Yes General Wrapper error. Check that all VAST URIs are reachable and not timing out

Ensure wrapper limit is not reached

301 Yes Timeout of VAST URI provided in Wrapper element, or of VAST URI provided in a subsequent Wrapper element. Includes request errors such as invalid URI, unreachable or request timeout for URI, and security or other exceptions related to requesting a VAST URI. Check that the VAST URI is valid and reachable.

This could be due to poor internet connection or non-optimized page and therefore request times out. Check whether this occurs more on mobile devices (may not be reproducible due to network limits).

Check timeout limit of your player to ensure this isn't being reached

This can be caused by HTTP serving to HTTPS.

302 Yes Wrapper limit reached, as defined by the video player. Too many Wrapper responses have been received with no InLine response. This can be caused by a circular loop of daisy chaining (one network bouncing to another and another).

Too many wrappers

Look into increasing the wrapper limit of your player to accommodate these creatives

303 Yes No ads VAST response after one or more Wrappers. Also includes number of empty VAST responses from fallback. No Ad element in VAST doc (after following wrappers).

When working with third-party networks, the fill-rate can be less than 100%. If so, this is an expected error. For example, if the third-party expects to fill 60% of the time, you should expect 40% errors. You can check to ensure that the error rate is in line with the fill-rate of the third-party network.

Ensure the bids being returned do not have empty VAST

304 Yes InLine response returned ad unit that failed to result in ad display within defined time limit
400 Yes General linear error. Video player is unable to display the linear ad. Check that the MediaFile a valid video file of the specified format in the request

Make sure the URL returns a valid video asset

Check for browser restrictions such as autoplay blocking, auto-mute, etc

See also possible causes for 401-405

401 Yes File not found. Unable to find Linear/MediaFile from URI. Ensure that all MediaFiles in the response return a valid video asset
402 Yes Timeout of MediaFile URI. Issue with CDN server.

Timeout (in milliseconds) when loading a video ad media file. If loading takes longer than this timeout, the ad playback is canceled.

Can be caused by low bandwidth, or poor website implementation with competing requests that delay loading of the media file.

Can occur when a video auto-plays in a mobile environment, since it should be click-to-play (there are some exceptions).

Increase the timeout limit of your player

403 Yes Could not find MediaFile that is supported by this video player, based on the attributes of the MediaFile element. Bidder did not respect mime types in bid request.

Exchange did not send correct mime types.

This may indicate that the wrong creative type attempted to play. For example, a Flash creative attempted to play on a mobile device or WebM on iOS.

This error type is more common on mobile.

Ad is inline but no compatible media file found. Generally, if the player reaches a point where it sees no MediaFiles in the array of mediafiles considered eligible

405 Yes Problem displaying MediaFile. CORS issue for CDN server.

Unsupported Codecs.

Mismatch between MIME type and video file type.

Unsupported delivery method

406 Yes Mezzanine was required but not provided. Ad not served. Ensure that there is a mezzanine file included in the response
407 Yes Mezzanine is in the process of being downloaded for the first time. Download may take several hours. Ad will not be served until mezzanine is downloaded and transcoded. This is an expected error while the video is being transcoded. This error will stop once transcoding is complete and available.
408 Yes Conditional ad rejected
409 Yes Interactive unit in the InteractiveCreativeFile node was not executed. Ensure that any interactive creatives returned in your response successfully play when requested
410 Yes Verification unit in the Verification node was not executed. Check that the verification code is properly implemented in the response
411 Yes Mezzanine was provided as required, but file did not meet required specification. Ad not served.
500 Yes General NonLinearAds error.
501 Yes Unable to display NonLinear Ad because creative dimensions do not align with creative display area (i.e., creative dimension too large).
502 Yes Unable to fetch NonLinearAds/NonLinear resource.
503 Yes Could not find NonLinearresource with supported type. This error can be caused when a creative size is larger than the player size, or not a proper media type.
600 Maybe General CompanionAds error.
601 Maybe Unable to display companion because creative dimensions do not fit within Companion display area (i.e., no available space). Ensure that the companion ad size has dimensions that fit the ad unit from the request
602 Maybe Unable to display Required Companion.
603 Maybe Unable to fetch CompanionAds/Companion resource.
604 Maybe Could not find Companion resource with supported type.
900 Yes Undefined error. CORS issue
901 Yes General VPAID error. This can occur when a Flash VPAID ad attempts to play in a HTML5 player. Certain players may not support VPAID Flash in an HTML5 player. Preventing trafficking of these creatives is recommended.

HTML5 VPAID “wrapper” from IAS/DV/MOAT that is attempting to load an underlying VAST document that does not have an MP4 asset

VPAID that selectively chooses not to play an ad IAS/DV blocking tags?

Is buyer attempting to arbitrage (i.e. bid on the impression without a determined advertiser/buyer, and attempting to initiate auction/resale client side

Player that does not correctly check that the mime type of the VPAID is acceptable (i.e. JWPlayer HTML5 will naively try and load Flash VPAID, even if there are alternative MediaFiles that are raw assets. This occurs, for example, with DCM if the VPAID adaptor type is set to Flash only – Flash VPAID + MP4,FLV,WebM are present, but JWPlayer attempts to execute the VPAID and aborts. HTML5 only or HTML5 + Flash option works fine)