VAST, VPAID, and VMAP are the three IAB standards that hold the video ad ecosystem together. If you have ever debugged a black-screen ad break or wondered why your CPMs are lower than you expected, the answer is usually in how your app speaks these standards.
VAST - the ad delivery format
Video Ad Serving Template is the XML response your ad server returns when your player requests an ad. It contains the creative URL, tracking pixels (impression, quartile, click), and optional companion ads. Current version: VAST 4.2.
VAST 4.x added two critical capabilities: ad verification via OMID and universal ad ID, both of which premium DSPs require. If your stack is still on VAST 3.0 or earlier, you are leaving 20%+ of demand on the table.
VPAID - interactive ads
Video Player Ad Interface Definition lets an ad creative run JavaScript inside the player - for interactive overlays, expandable formats, or rich-media surveys. It was once standard for premium ad demand but is in steep decline.
Most CTV environments cannot run VPAID (no JS runtime in SceneGraph, no embedded WebView on Roku). SSAI also cannot stitch VPAID. Many premium publishers have dropped VPAID entirely and rely on VAST 4.2 with OMID for verification.
VMAP - the schedule
Video Multiple Ad Playlist tells your player when ad breaks should occur in a long-form piece of content - at start, at 25% / 50% / 75%, or at specific timestamps. The player calls VAST at each break.
VMAP is essential for ad pod scheduling in episodic content. Without it, you have to hardcode break points in your player, which is brittle. With it, your ad ops team can change the schedule centrally.
How they fit together
A typical mid-roll flow: your player loads a VMAP at session start, sees that breaks should occur at 5:00 and 12:30, requests a VAST at each break, receives a wrapper VAST that redirects to the buying DSP, fetches the final creative, fires impression and quartile pixels, and resumes content.
If you use SSAI, the VMAP and VAST handshakes happen on the server, not the client. Either way, the standards are the same.
Common failure modes
- Black screen during ad break - usually VAST returned a 0-length response or the creative URL 404'd. Add VAST error tracking pixels.
- Ad plays but no money - impression pixel did not fire because your player blocked third-party tracking. Implement OMID for verification.
- VMAP breaks at the wrong time - break offsets specified as percentages of an unknown duration. Pass exact timestamps when you know the runtime.
- DSPs reject your inventory - likely missing VAST 4.x fields (universal ad ID, omidpartner). Upgrade your ad server template.
Recommendations for 2026
- Standardize on VAST 4.2 with OMID. Drop VPAID for new integrations.
- Use VMAP for any content over 5 minutes to schedule multi-pod breaks.
- Pass content metadata (genre, rating, IAB taxonomy) in every VAST request - buyers filter on it.
- Implement VAST error pixel reporting so you can debug ad failures in production.
The bottom line
The IAB standards are not glamorous, but they are the difference between $12 CPMs and $30 CPMs. OTT Engine ships VAST 4.2, VMAP scheduling, and OMID verification by default. Book a demo to audit your current ad request and see what is leaving money on the table.
Frequently Asked Questions
What is the difference between VAST and VPAID?
VAST delivers a linear video ad; VPAID lets the ad run interactive JavaScript inside the player. VPAID is largely deprecated in CTV environments.
Do I need VPAID for my OTT app?
Usually no. Most CTV runtimes cannot execute VPAID and most premium demand has moved to VAST 4.2 with OMID verification.
What is VMAP used for?
VMAP schedules where ad breaks occur in long-form content - pre-roll, mid-rolls at specific timestamps, and post-roll. The player calls VAST at each break.
Why does my ad break show a black screen?
Most commonly the VAST response was empty (no fill), the creative URL returned an error, or the player timed out before the creative loaded. VAST error tracking pixels diagnose which.
What is OMID?
Open Measurement Interface Definition. An IAB standard that lets third-party verification SDKs (IAS, DV, MOAT) measure viewability and fraud inside an OTT ad stream. Required by most premium DSPs in 2026.