Tech Stack · Standards & Specs

VAST, VPAID, and OMID in CTV advertising: standards explained

VAST is the XML-based standard that tells a video player where to fetch an ad and how to track it. VPAID was an older JavaScript-based extension that let advertisers run interactive ads — it is effectively deprecated on CTV because TV apps cannot execute JavaScript. OMID is the IAB's measurement standard that enables third-party viewability and impression tracking on CTV without JS. Understanding these three standards is the baseline technical knowledge for anyone buying, trafficking, or measuring CTV ads.

What is VAST?

VAST — Video Ad Serving Template — is an XML specification published by the IAB that standardises communication between an ad server and a video player. When a CTV app requests an ad, it calls the publisher's ad server, which returns a VAST XML response. The player reads the XML to find:

  • The media file URL to fetch and play (MP4 or progressive video)
  • Impression tracking pixels to fire when the ad starts
  • Quartile tracking pixels (25%, 50%, 75%, 100% completion)
  • Error tracking URLs for failed ad loads
  • Duration and skip offset (if applicable)
  • Companion ad specifications (if any)

VAST is the lingua franca of video advertising. Every CTV platform — JioHotstar, SonyLIV, Zee5, Samsung TV Plus — supports VAST. If a creative cannot be delivered as a VAST-compliant video asset with proper tracking pixels, it cannot run on CTV.

VAST versions and CTV relevance

VAST has gone through several versions. The ones that matter for CTV in 2026:

VAST 3.0 — Introduced ad pods (multiple ads in a break), skip mechanics, and error code standardisation. Still widely used. Supported by all India CTV publishers. JioHotstar and SonyLIV traffick most direct IO inventory as VAST 3.0 or 4.x.

VAST 4.0 / 4.1 / 4.2 — The current standard. Key additions relevant to CTV:

  • Universal Ad ID — A persistent creative identifier (Ad-ID or EIDR) that travels with the creative across systems, enabling better frequency capping and creative reporting.
  • Mezzanine file support — Publishers can transcode from a high-quality source rather than requiring pre-transcoded delivery files.
  • OMID integration — VAST 4.x has native hooks for OMID measurement, enabling third-party verification without VPAID.
  • Ad verification — The <Verification> node allows third-party measurement vendors (IAS, DoubleVerify) to receive measurement events directly from the player.

Buyers do not directly write VAST — their DSP generates the VAST tag. But understanding VAST 4.x matters when troubleshooting ad serving errors, explaining why a creative was rejected, or understanding how OMID measurement is wired up.

Why VPAID does not work on CTV

VPAID — Video Player-Ad Interface Definition — was a standard that let advertisers inject JavaScript into the video player at ad time. This enabled interactive features (click-to-expand, data capture forms, custom tracking logic) and was widely used for web display video. It also became a vector for ad fraud and performance problems.

VPAID fundamentally cannot work on CTV for one reason: CTV apps are native applications, not web browsers. A native Android TV or tvOS app does not have a JavaScript runtime that can execute VPAID logic. There is no DOM, no browser sandbox, no JS engine. A VPAID creative sent to a CTV player will either fail silently (no ad serves, the slot is empty) or produce a VAST error.

The industry's response was SIMID (Secure Interactive Media Interface Definition) — a successor that uses a sandboxed iframe approach compatible with native apps. SIMID is gaining adoption in the US market. In India, SIMID is not yet widely supported by JioHotstar, SonyLIV, or Zee5 as of 2026. For practical purposes: if a creative was built with VPAID, it needs to be rebuilt as a standard MP4 video creative before running on India CTV.

The operational implication: buyers trafficking video creatives for a cross-screen campaign (desktop + mobile + CTV) must ensure the CTV line items are assigned VAST-only (no VPAID) creatives. Most modern DSPs — DV360, TTD — handle this automatically by detecting the CTV environment and serving the appropriate creative. But if running custom trafficking or legacy creatives, confirm with the ad ops team that VPAID is not in the CTV creative rotation.

What is OMID?

OMID — Open Measurement Interface Definition — is an IAB Tech Lab standard that enables third-party measurement and verification on mobile apps and CTV without requiring JavaScript tags in the ad creative. It solves a structural problem: on web, a measurement vendor (IAS, DoubleVerify) injects a JS tag alongside the ad creative to measure viewability and IVT. On CTV, there is no JS runtime. OMID creates a native SDK that lives inside the publisher's app and exposes measurement signals to authorised verification partners via a standardised interface.

The OMID architecture has three components:

  • OM SDK (Open Measurement SDK) — Integrated by the publisher into their CTV app. Handles the measurement session and fires signals to verification partners.
  • OMID Service — The communication layer that routes signals from the OM SDK to authorised scripts.
  • Verification Script — A script provided by the verification vendor (IAS or DV) that receives signals from the OM SDK and reports impressions, viewability, and IVT back to the vendor's platform.

OMID for CTV measurement

For CTV, OMID enables what JS tags previously enabled on web: independent, third-party impression counting and viewability measurement. Without OMID, a CTV buyer relies entirely on the publisher or DSP's own impression counts — there is no independent audit. With OMID, IAS or DoubleVerify receive their own measurement signal from inside the app and can report independently.

What OMID measures on CTV:

  • Impression counting — OMID fires an impression event when the ad begins rendering. Independent of the publisher's impression count.
  • Active screen status — OMID can detect if the TV screen is on (the MRC CTV viewability standard requires the TV screen to be on and the ad to be rendering). This is the CTV equivalent of viewability.
  • IVT signals — App bundle, device identifiers, and session integrity signals are available to the verification vendor for IVT analysis.

What OMID cannot measure on CTV: whether a human is actually in the room watching. Physical attention is not measurable by any current standard. OMID confirms the screen is on and the ad rendered — it cannot confirm viewership.

India publisher standards compliance

JioHotstar — Supports VAST 4.x. Has integrated Google's IMA SDK (Interactive Media Ads SDK), which is Google's implementation of VAST handling. OMID support via Google's OM SDK integration in the JioHotstar app. IAS and DoubleVerify verification available for buyers running through DV360.

SonyLIV — Supports VAST 3.0 and 4.x via SpringServe. OM SDK integrated. IAS and DoubleVerify available through Magnite/TTD deal paths. VAST error rates on SonyLIV are low — SpringServe's SSAI layer handles most error recovery before the player sees a broken tag.

Zee5 — VAST 3.0 and 4.x via PubMatic. OM SDK integrated. Third-party verification available through standard programmatic paths. Zee5 has a slightly more heterogeneous device footprint (older Android TV sets) which can produce higher VAST error rates on edge devices.

India CTV publishers are generally VAST-compliant but SIMID support is not yet standard. Interactive CTV formats (pause ads, L-bands with interactive elements) are delivered outside the VAST/SIMID framework — they are custom integrations negotiated directly with the publisher.

Practical implications for buyers

  1. Always deliver MP4 video for CTV — No VPAID, no HTML5 interactive creatives. A 16:9 MP4 at 1920×1080, H.264, 15 or 30 seconds, with a clean VAST tag from the DSP.
  2. Enable third-party verification — If you are buying at scale (₹25L+ campaigns), enable IAS or DoubleVerify via OMID on CTV line items. The incremental cost is modest; the independent impression audit is worth it.
  3. Check VAST error rates post-campaign — DSPs report VAST errors (error code 300–499 range = ad buffering/load failures; 500+ = general errors). Error rates above 5% indicate a creative delivery problem worth investigating.
  4. Universal Ad ID helps frequency capping — If your creatives have an Ad-ID or EIDR registered, DSPs can do more accurate cross-device frequency capping. For India CTV, this matters most for high-frequency categories running across JioHotstar and SonyLIV simultaneously.