VAST Error Code Troubleshooting Matrix
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|
|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
|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.
|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
|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
|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
|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
|300||Yes||General Wrapper error.||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|
|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).
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
|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.
|400||Yes||General linear error. Video player is unable to display the linear ad.||Is MediaFile a valid video file of the specified format? Does the URL actually return a video asset?
See also possible causes for 401-405
|401||Yes||File not found. Unable to find Linear/MediaFile from URI.|
|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).
|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.
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.
Mismatch between MIME type and video file type.
Unsupported delivery method
|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).|
|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)