We created this guide for our own sanity and thought we’d make it available to anyone else who was suffering the same fate.
We’ll keep this guide updated so feel free to bookmark it (do people do that anymore these days?!) and check back often.
Below is a combined list of video advertising error codes from VAST 3.0 & 4.1, the IMA3 SDK and video players from Brightcove, VideoJS, JWPlayer and more. Included are their possible causes and recommended resolutions.
Error severity levels:
Non-Fatal – An error is triggered but the video ad request is not interrupted and a video ad is successfully served.
Fatal – An error is triggered and the video ad request is stopped, preventing an ad being played. This is either followed by video content playback or a new ad request being triggered (depending on player configuration).
More information can be found in the IAB VAST Specification Guide, Google DFP Help, Brightcove Support or JWPlayer.
100 – 102: VAST XML Document Errors
200 – 203: VAST Creative File Errors
300 – 303: VAST Ad Request Errors
400 – 410: VAST Linear Tag Errors
500 – 503: VAST Non-Linear Tag Errors
600 – 604: VAST Companion Ad Errors
900 – 901: VPAID Errors
Brightcove Player Ad Errors
JWPlayer Ad Errors
1005 – 2048: IMA3 SDK Errors
Freewheel Errors
Sources:
IAB TechLab Wiki
DoubleClick For Publishers
Brightcove Player Events
JWPlayer API Documentation
VAST XML Document Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
100 | Yes | VAST XML parsing error | This can be caused when the buyer’s response is either malformed or an otherwise invalid XML document, or a redirect VAST URL that fails to resolve successfully | Publisher – Alert the buyer Buyer – Verify that the VAST XML is correctly formatted and contains all of the required elements and attributes. Refer to the VAST specification from the IAB |
101 | Yes | VAST schema validation error | This can be caused when the buyer’s response is missing required elements or attributes of the XML or contained unrecognized elements, according to the IAB standard, such as:
|
Publisher – Alert the buyer Buyer -Verify that the VAST XML is correctly formatted and contains all of the required elements and attributes. Refer to the VAST specification from the IAB |
102 | Yes | VAST version of response not supported | This can be caused when a video player does not support the VAST version specified in the bid request, i.e. the bidder did not respect the VAST version(s) listed in the bid request or the exchange is sending wrong VAST version(s) in the bid request | Publisher – Alert the buyer Buyer – Ensure that only supported VAST versions are sent in a response |
VAST Creative File Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
200 | Maybe | Video player expecting different ad type | This can be caused when a video player does not expect or support an ad type requested in a bid request. For example:
|
Publisher – Check for trafficking errors or alert the buyer Buyer – Ensure that only specified ad types are sent in a response, and that skippable linear creatives respect the skip offset attribute |
201 | Maybe | Video player expecting different linearity | This can be caused when the linearity in the buyer’s response does not match the video player’s request. For example:
|
Publisher – Ensure that the correct linearity is specified in the ad request Buyer – Ensure that the response only includes linearity specified in the request |
202 | Maybe | Video player expecting different duration | This can be caused when the creative returned is a different duration than specified. For example, a creative of duration 30 seconds is returned, but the actual MediaFile duration is 60 seconds | Publisher – Ensure that the creative duration is set properly in DFP Buyer – Ensure that the response respects the max duration specified in the request |
203 | Maybe | Video player expecting different size | This can be caused when a buyer’s returned MediaFiles are incompatible with the device from which the bid request is sent. For example:
|
Publisher – Alert the buyer Buyer – Ensure that your response includes MediaFiles that are compatible with different technologies and devices, including bitrates |
VAST Ad Request Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
300 | Yes | General wrapper error | This can be caused when the wrapper limit is reached | This is a general wrapper error and is not actionable, however:
|
301 / 301:20301 | Yes | VAST redirect timeout reached | This can be caused when a VAST redirect tag does not return a response within the timeout (5 seconds is the default) specified in a wrapper element, due to one of the following:
|
Publisher -Increase the timeout limit of your player Buyer -Ensure that the VAST redirect URI is reachable and no protocol issues exist (for example, responses hosted on HTTP and served to an HTTPS site |
302 / 302:20302 | Yes | Wrapper limit reached | This can be caused when the wrapper limit defined by the video player is reached, due to either:
|
Publisher – Increase the wrapper limit of your player via the SDK Buyer -Verify that any VAST redirects are not redirecting again to another network. When too many redirects are called from a video player before a valid MediaFile is returned, the player might abort the ad request |
303 / 303:20303 | Yes | Empty VAST response returned | This can be caused when no ads are returned in a VAST response after one or more wrappers. This also includes empty VAST responses from video fallback.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 | Publisher – Ensure that the error rate is in line with the fill-rate of the third-party network. Video fallback may be helpful to avoid losing impressions Buyer – Ensure that bids are not being returned with an empty VAST response, and that empty responses are not being returned by the advertiser or agency hosting the creative |
VAST Linear Tag Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
400 / 400:20400 | Yes | General linear error | This can be caused when a video player is unable to display the linear ad. It may occur when the MediaFile is not a valid video file of the specified format, or because the browser restricted autoplay with sound, or another unknown reason | Publisher – Check for player issues, enable your player to detect for restricted autoplay, or alert the buyer Buyer – Ensure that the VAST response returns a valid creative |
401 | Yes | MediaFile not found | This can be caused when a file cannot be found from a MediaFile URI | Publisher – Ensure that all MediaFiles in the response return a valid video asset. If not, alert the buyer Buyer -Ensure that the VAST response returns a valid creative |
402 / 402:20402 | No | Timeout of MediaFile URI | This can be caused by a problem fetching or playing the MediaFile, and could be any of the following:
|
Publisher – Increase the timeout limit of your player Buyer – Ensure that any CDN-hosted creatives are returned within the specified media timeout |
403 | Yes | Could not find MediaFile that is supported by this video player, based on the attributes of the MediaFile element | This can be caused by a VAST response that declares unsupported MIME types for all available MediaFiles. For example:
|
Publisher – Ensure that the creative format or technology requested is supported by the video player’s device and platform. For example, VPAID creatives should not be requested from mobile apps Buyer – Ensure that all returned creatives respect the video format in the bid request |
405 | Yes | Problem displaying MediaFile | This can be caused when a faulty creative is returned due to a mismatch between the MIME type and the video file type, a CORS configuration on the creative’s CDN, transcoding-related reason such as an unsupported codec, or unsupported delivery method | Publisher – Alert the buyer Buyer – Ensure that all creative MIME types and CDN configurations are accurate |
406 | No | Missing required mezzanine file | This can be caused a VAST response is returned without a required mezzanine file. Publishers with server-side ad implementations (SSAI) often require mezzanine files, which are raw high-quality video files for ad-stitching, or to generate video files of appropriate quality (VAST 4) | Publisher – Alert the buyer Buyer – Ensure that a mezzanine file is included in your response when required by the publisher |
407 | Yes | Mezzanine file downloaded for the first time | This can be caused when the mezzanine file is downloaded for the first time, so no ad is served. It can also occur when an ad insertion is missed because the creative is being transcoded. It continues to occur until the creative is available for insertion (VAST 4) | No action required |
408 | Yes | Ad rejected in VAST response | This can be caused when the ad returned in the VAST response is rejected | Publisher – Alert the buyer Buyer – Ensure that only approved creatives are returned in your VAST response, or that any advertisers or agencies hosting the creatives are aware of rejections |
409 | Yes | Interactive unit in the InteractiveCreativeFile node was not executed | This can be caused when a creative defined in the InteractiveCreativeFile node does not execute | Publisher – Alert the buyer Buyer – Ensure that any interactive creatives returned in your response successfully play when requested |
410 | Yes | Verification unit in the Verification node was not executed | This can be caused when the code referenced in the AdVerification node does not execute (VAST 4) | Publisher – Alert the buyer Buyer – Ensure that the verification code referenced in the response is correctly implemented according to the verification vendor |
VAST Non-linear Tag Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
500 | Yes | General NonLinearAds error | This can be caused when a video player is unable to display a non-linear ad, for an unknown reason | Publisher – Check for video player issues or alert the buyer Buyer – Ensure that the VAST response returns a valid creative |
501 | Yes | Non-linear ad creative dimensions do not align with creative display area | This can be caused when a non-linear ad is unable to play because the creative dimensions did not align with creative display area (the creative dimension was too large). It may occur if you use CSS styles to set width and height of the video content element | Publisher – Ensure that the set width and height match the display area. If you set the width and height of the video content element with CSS styles, set them with HTML attributes instead Buyer -Alert the publisher |
502 | Yes | Unable to fetch NonLinearAds/NonLinear resource | This can be caused when the buyer’s response returns a non-linear ad that fails to return a valid creative | Publisher – Alert the buyer Buyer -Ensure that valid creatives are returned in the non-linear ad response |
503 / 503:20503 | 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 | Publisher – Ensure that requested creative sizes and media types are acceptable for the video player Buyer -Alert the publisher |
VAST Companion Ad Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
600 | Maybe | General CompanionAds error | This can be caused when a publisher is unable to display a companion ad, for an unknown reason | Publisher – Check for ad serving issues, or alert the buyer Buyer – Ensure that the VAST response returns a valid creative |
601 | Maybe | Companion creative dimensions did not align with companion display area | This can be caused when the companion creative dimensions do not fit within Companion display area (i.e., no available space) | Publisher – Ensure that the requested companion ad size fits within the dimension of the ad unit from which the request is made Buyer – Alert the publisher |
602 | Maybe | Unable to display Required Companion | This can be caused the publisher is unable to render the companion ad creative returned in the VAST response | Publisher – Check for ad serving issues, or alert the buyer Buyer – Ensure that the VAST response returns a valid creative |
603 | Maybe | Unable to fetch CompanionAds/Companion resource | This can be caused when the buyer’s response returns a companion ad that fails to return a valid creative | Publisher – Alert the buyer Buyer – Ensure that valid creatives are returned in the companion ad response |
604 | Maybe | Could not find Companion resource with supported type | This can be caused when a publisher requests an unsupported creative type for the companion ad slot | Publisher – Ensure that specified creative types are supported for the companion ad slot Buyer – Alert the publisher |
VPAID Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
900 / 900:20900 | Yes | Undefined VAST 2 error | This is the result of an unknown VAST 2 error, which likely stopped the ad request | Publisher – Alert the buyer Buyer – Work with the publisher to troubleshoot the exact issue |
901 / 901:20901 | Yes | General VPAID error | This can be caused by any VPAID error, which could be any of the following:
|
Publisher – Ensure that any VPAID creative requests are supported for devices and players. You can use video creative profiles to control which creatives are eligible to serve Buyer – Ensure that any VAST responses that return HTML5 VPAID wrappers from IAS/DV/MOAT include an MP4 asset, and that the wrapper is not aborting playback. Also, ensure that you don’t bid on impressions without a determined advertiser or buyer, or attempt to initiate a client-side resale |
Brightcove Player Ad Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
adtimeout | Yes | IMA3 has timed out | A timeout managed by the plugin has expired and regular video content has begun to play. Ad integrations have a fixed amount of time to inform the plugin of their intent during playback. If the ad integration is blocked by network conditions or an error, this event will fire and regular playback resumes rather than stalling the player indefinitely | |
ima3-hardtimeout | Yes | IMA3 hard timeout reached | A timeout managed by the Brightcove Player has expired and the ad execution has been abandoned with regular video content started. Brightcove has a setting that gives the IMA plugin a fixed amount of time to complete its execution. If it fails to do so the Player will abandon the ad execution irrespective of how far it has reached in its cycle. | If you see a high rate of this error type it’s advisable to adjust the levels accordingly in your Brightcove player settings |
ima3error | Yes | IMA3 SDK failed to load | There was an error loading the IMA3 SDK from Google. If it occurs, no ads will be displayed and regular content will be started. The cause of this could be due to an active ad blocker intercepting the call to load the SDK. Or other network conditions might have caused the IMA3 SDK to not load properly. | If you see a high rate of this error it’s advisable to contact your Brightcove Support rep to investigate further |
JWPlayer Ad Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
900:60001 | Yes | No Ad element in VAST document 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. Some ad providers use empty VAST 3.0 responses to show that they have received the request but do not wish to fill it. |
|
60002 | Yes | The amount of ad impressions your account has generated in the calendar month exceeds the specified limit. | . | Contact your JW Player sales representative for more details or for upgrade options |
60003 | Yes | The viewer has an ad blocker app or extension installed for their browser. | ||
60004 | Yes | Issue with CDN server. Timeout (in milliseconds) when loading a VPAID ad response. 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 the loading of the VPAID ad response. | he timeout is configurable for using the creativeTimeout and requestTimeout configuration options. However, increasing the timeout could potentially negatively affect user experience. |
1002:60005 | Yes | No Ad element in VAST document 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. Some ad providers use empty VAST 3.0 responses to show that they have received the request but do not wish to fill it. |
|
900:60006 | Yes | An ad tag failed to download, but not inside of a wrapper. | ||
900:60007 | Yes | An ad tag failed to play because of an unsupported operating system. | ||
60900 | Yes | Unknown error. | . |
IMA3 SDK Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
1005 / 900:1005 | Yes | The Ad Request Failed | There has been a CORS error when the IMA SDK attempted to request the add / process the VAST document. | Ensure that all ad server URIs, media file URIs and tracking URIs follow CORS best practices (see https://enable-cors.org/). Also ensure that your players are not embedded in non-approved domains. |
1007 | Yes | Media Asset Not Found | Could not find a media file that is supported by this video player, based on the attributes of the MediaFile element.This may indicate that the wrong creative type attempted to play. This error type is more common on mobile | Publisher – Alert the buyer Buyer – Ensure the right media file format is being targeted to the right device type |
1007 / 900:1007 | Yes | Media Asset Not Found | Could not find a media file that is supported by this video player, based on the attributes of the MediaFile element.This may indicate that the wrong creative type attempted to play. This error type is more common on mobile | Publisher – Alert the buyer Buyer – Ensure the right media file format is being targeted to the right device type |
1009 / 900:1009 / 900:21009 | Yes | Empty VAST Response | No ads VAST response after one or more wrappers. This also includes the number of empty VAST responses from fallback. 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 | Check to ensure that the error rate is in line with the fill-rate of the third-party network |
1010 / 900:1010, / 900:21010 | Yes | Unknown Ad Response | The response from the ad server was malformed or indeterminate | |
1011 / 900:1011 | Yes | Unsupported Locale | The locale specified for the SDK is not supported | Check the settings of the IMA SDK to ensure locale is set properly |
1105 / 900:1105 | Yes | Invalid AdX Extension | An invalid AdX extension was found | |
1012 / 900:1012 / 900:21012 | Yes | Request blocked / Network error | There was a problem requesting ads from the server due to an error caused by an invalid or malformed XML file. | Contact your Ad server support team for more help |
1013 / 900:1013 | Yes | Invalid ad tag | The ad tag URL specified was invalid. It needs to be properly encoded | |
1020 / 900:1020 | Yes | Stream initialisation failed | There was an error with stream initialisation during server side ad insertion | |
1021 / 900:1021 / 900:21021 | Yes | Asset fallback no ad replacement | The fallback failed to return an ad | Ensure your line items are properly setup and you have sufficient demand in your fallback sequence |
1101 / 900:1101 | Yes | Invalid Arguments in the Request | Invalid arguments were provided to IMA SDK methods | Please contact the support team of your video player provider |
1205 / 900:1205 | Yes | The browser prevented playback initiated without user interaction | Autoplay videos are not supported in some browsers. This error is thrown when the browser has prevent an attempt to auto play | |
2025 / 900:2025 | Yes | DisplayObject not a child | See Google Support for help –https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdError?hl=en | |
2032 / 900:2032 | Yes | URL access blocked | See Google Support for help –https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdError?hl=en | |
2035 / 900:2035 | Yes | Incorrect path to assets | See Google Support for help –https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdError?hl=en | |
2036 / 900:2036 | Yes | Flash ad failed to load | See Google Support for help –https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdError?hl=en | |
2048 / 900:2048 | Yes | CORS security violation | This is caused when a page or player loaded using HTTPS tries to load a ad resource over HTTP | Check and ensure all creative and redirect URIs are being served over HTTPS |
Freewheel Errors
Code | Fatal | Definition | Likely Cause | Remedial Action |
---|---|---|---|---|
req-failed | Yes | Ad Request Failed | Most likely an ad blocker interferes with the ad request. Could also be a https/http mismatch in a redirect or bad network conditions. | Check for ad blocking and ensure any redirect tags used are secured. Also look for error clustering around mobiles or other devices that use low bandwidth connections. |
_e_3p-comp | Yes | 3rd-party component error | A 3rd party ad creative has failed to load. This could be a video file formatting mismatch or a creative script error (such as a faulty VPAID unit). | Review the Creative in question and ensure its format matches the Placement / Targeting set. |
_e_timeout | Yes | Ad timeout | The time allotted for the ad request to complete has expired. | Let the player increase the timeout time by setting the respective timeout parameter (for example, on iOS video it should be “renderer.video.timeout”). |
_e_security | Yes | Security error | There has been a network security error thrown somewhere along the ad fulfilment chain. | Check and confirm the format of the creative asset, especially its hosting setup to ensure it doesn’t violate any CORS policy. |
_e_io | Yes | Network i/o error | The ad tag used did not return a valid HTTP response | Try out the ad tag in a browser to ensure proper response from the server. Ensure there are no typos or unfilled macros. |
_e_no-ad | Yes | No Ad Returned | A 3rd party ad server did not return an ad for this request.This error is only counted when it can be recognised as a “no ad” situation, such as empty VAST response, or VAST response without valid ads.
In comparison, the VPAID 1.0 protocol allows creatives to throw errors, but didn’t specify a clear way to specify the error reason as “no ad”, so the VPAID ad cannot generate this error but will only generate eunknown error instead. |
Notify the 3rd party platform of this error and its location to begin troubleshooting. |
_e_no-renderer | Yes | No Renderer Selected | Most typically occurring in mobile apps, the device is unable to render the delivered creative file | Ensure a support file format is delivered to the right device. Also check that the right rendering libraries are included in the native code |
_e_parse | Yes | Ad parse error | There was a problem requesting ads from the server due to an error caused by an invalid or malformed XML file. | Contact your Ad server support team for more help |
INVALID_ASSET_CUSTOM_ID | No | Invalid Asset ID | The video asset id cannot be found in Freewheel MRM system | |
ASSET_DURATION_NOT_AVAILABLE | No | Video Asset Duration is Not Available | asset.duration doesn’t appear in adRequest, and doesn’t exist in db. | |
INVALID_ASSET_DURATION | No | Asset Duration Not Valid | asset.duration is invalid (less than 1, string, etc…) | |
NETWORK_NOT_FOUND | Yes | FW Network ID Not Found | he network id set in the AdManager was no valid |