There was an unexpected error authorizing you. Please try again.

Privacy, Data, and Identity for CTV Advertising

Part of the blog post series: CTV Advertising Standards: IAB Tech Lab Standards & Guidance

Executive Summary:

  • The state of identity on Connected TV (CTV) platforms is in flux.
  • Current solutions depend on the Tech Lab’s Identifier for Advertising (IFA) guidelines, but privacy concerns are likely to impact this in the future.
  • The Content and Audience taxonomy and Project Rearc are important relevant efforts at the Tech Lab.
Error CodeFatal?DefinitionPossible Causes
100YesXML 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
101YesVAST schema validation error.The VAST validates as XML, but does not validate per the VAST schema (i.e. there are missing 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
Offset attribute on Progress event is missing or not a valid value
102YesVAST 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)
200MaybeTrafficking 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
201MaybeVideo player expecting different linearity.Bidder did not respect the linearity in the bid request
Exchange is sending wrong linearity in the bid request
202MaybeVideo player expecting different duration.Bidder did not respect the duration in the bid request
Exchange is sending wrong duration in the bid request
203MaybeVideo 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
300YesGeneral Wrapper error.
301YesTimeout 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.
302YesWrapper 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
303YesNo 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.
400YesGeneral 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
401YesFile not found. Unable to find Linear/MediaFile from URI.
402YesTimeout 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).
403YesCould 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
405YesProblem displaying MediaFile.CORS issue for CDN server
500YesGeneral NonLinearAds error.
501YesUnable to display NonLinear Ad because creative dimensions do not align with creative display area (i.e., creative dimension too large).
502YesUnable to fetch NonLinearAds/NonLinear resource.
503YesCould 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.
600MaybeGeneral CompanionAds error.
601MaybeUnable to display companion because creative dimensions do not fit within Companion display area (i.e., no available space).
602MaybeUnable to display Required Companion.
603MaybeUnable to fetch CompanionAds/
Companion resource.
604MaybeCould not find Companion resource with supported type.
900YesUndefined error.CORS issue
901YesGeneral 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)

The details:

The key to good ad experiences is being able to deliver the most relevant and engaging ads to the right people. The challenge of course is that this has to be done with end-user privacy in mind. While the “cookie-apocalypse” has been a major point of discussion in our industry when discussing browser-based environments, the CTV world does not run on cookies and so has not been a focal point of the cookie/privacy discussions — though more recent changes to Apple iOS and tvOS invite questions and concerns.

In the meantime, IAB Tech Lab’s CTV/OTT IFA guidelines (released in December 2018) provide an identity mechanism for CTV platforms and publishers to employ today. The guidelines consist of three components: the structure of the ID, a “limit ad tracking” flag to indicate privacy preference, and an “IFA type” to provide more insight into the IFA being passed. The adoption of these guidelines seems to be picking up in recent months and has helped the industry move from a fragmented state. We are currently discussing improvements to the guidelines (for example removing the platform specific “types”, providing transparency around length of time a session ID might last, etc.) based on learnings in the industry over the last two years. So stay tuned for more here!

That said, privacy-centric addressability is likely the most important driver in ad tech’s direction these days, and everyone should pay attention to the conversations happening in the Project Rearc technical working groups, and in the related business and policy-focused working groups underway through the Partnership for Responsible Addressable Media. The implications of global privacy efforts (GDPR / CCPA), and the use of Transparency Consent Framework (TCF) on CTV platforms is a topic that is not completely resolved and is being discussed in the Project Rearc working groups. There also are near-term implications to the vanishing cookies in relation to “cross-platform device graphs,” which are important to understand and work through. The recent IDFA announcement from Apple with iOS14 might also have an impact on the use of IFAs longer term, but it is still early days on that front, and the industry is working through the mobile implications before we get to the CTV implications. Please join the Programmatic Supply Chain Working Group if you are interested in the IDFA/SKAdNetwork conversation, and the work being done to support registered “ad networks” via OpenRTB.

Finally, in the absence of IFAs or IDs, there are three main areas to consider as a part of the privacy-safe future — content/contextual classification, audience classification by 1st parties, and authenticated consumers. This means that the Content Taxonomy and Audience taxonomy are going to be important for targeting and other aspects of addressability. OpenRTB includes fields (, Ad.cattax, Segment) to pass the content and audience categories. The CTV & Video Working Group is currently working on updating the Content Taxonomy to better support the CTV world. We are including more relevant movie/TV genres and video-related categories, and putting together best practices on the use of the categories and other vectors that the 2.x versions of Content Taxonomy supports. Please join the CTV Working Group if you are interested in contributing to this conversation.

Related assets & new efforts:


This image has an empty alt attribute; its file name is amit-shetty-2-975x1024-150x150.jpg

Amit Shetty
Senior Director, Product
IAB Tech Lab