Tech Stack · Ad Serving

VAST vs VPAID in CTV: why VPAID doesn't work on connected TV

VAST and VPAID are both IAB video ad standards, but they serve fundamentally different purposes and only one of them works on CTV. VAST is a data format — it tells a video player where to find the ad creative and how to track events. VPAID is an executable interface — it runs JavaScript or Flash code inside the video player to enable interactive features. CTV video players on smart TVs, streaming sticks, and set-top boxes do not run arbitrary JavaScript. VPAID creatives fail silently on CTV, producing ad errors and unfilled breaks. India CTV buyers who traffic VPAID creatives — a common mistake when repurposing desktop video campaigns — will see high VAST error rates and unexplained delivery shortfalls.

What VPAID was designed to do

VPAID (Video Player-Ad Interface Definition) was introduced by the IAB to enable rich interactive video ads — overlays, user-initiated elements, interactive surveys, click-to-expand panels, and custom tracking beyond VAST's basic beacon events. A VPAID unit is a JavaScript (or Flash, in the pre-2015 era) file that executes in the video player's iframe, creating a two-way communication channel between the ad and the player.

VPAID became popular for two reasons: it allowed third-party measurement vendors to run viewability scripts inside video ads without needing VAST 4.x ad verification support; and it allowed creative studios to build interactive video formats that VAST alone could not support. In desktop and mobile browser environments where JavaScript runs natively, VPAID works as designed.

Why VPAID fails on CTV

CTV apps are native applications — Android TV apps, Apple TV apps, Samsung Tizen apps, LG webOS apps. They have their own video player implementations that do not include a JavaScript execution environment for ad code. Unlike a browser, which has a full JS engine and can run VPAID's interactive layer, a native CTV app video player is a media player. It can fetch and play video files; it cannot execute arbitrary third-party JavaScript.

When a CTV video player encounters a VPAID creative:

  • The player receives the VAST XML pointing to a JavaScript file rather than a video file
  • The player cannot execute the JavaScript
  • The player returns a VAST error (typically error 901 or 405 — media file not supported)
  • The ad break goes unfilled or falls back to a default creative if one is set up

This failure is silent from the buyer's perspective — the DSP records an impression attempt, but no ad plays. The VCR for the campaign reports 0% for affected impressions. VAST error rates spike. The buyer sees spend with no delivery.

VAST as the CTV standard

VAST 4.x is the correct standard for CTV. It addresses the original use cases for VPAID through native XML mechanisms:

  • Third-party verification: VAST 4.x includes the AdVerifications node, which carries verification vendor scripts. Publishers supporting VAST 4.x pass these scripts to the player, which executes them in a controlled sandbox — no VPAID required.
  • Interactive elements: CTV interactive overlays are handled through separate companion ad specifications or publisher-native interactive ad formats, not VPAID. IAB's SIMID (Secure Interactive Media Interface Definition) is the emerging successor for secure interactive ads across CTV — but adoption in India is minimal in 2026.
  • Custom tracking: VAST 4.x supports more granular tracking events than earlier versions. Custom tracking requirements that previously required VPAID can usually be met with VAST 4.x event beacons.

What this means for India buyers

For India CTV campaign trafficking, the practical checklist:

  • Never traffic VPAID creatives to CTV line items. In DV360, when setting up a CTV-targeted line item, ensure the creative is a VAST video (MP4 or HLS) not a VPAID JavaScript. If you are repurposing desktop video creatives, check the creative type before trafficking.
  • Separate desktop and CTV line items. A single video line item targeting both desktop and CTV with VPAID creatives will underdeliver on CTV and over-deliver on desktop. Separate creative sets by environment.
  • Check VAST error 405 in campaign reports. Error 405 (media file not supported) in DSP reporting is a strong signal that VPAID creatives are being served to CTV environments.
  • For third-party tracking on CTV: Use DV or IAS CTV measurement SDKs through the publisher (JioHotstar, SonyLIV) rather than attempting to run verification scripts via VPAID.

Related concepts