Ad Technology
VMAP (Video Multiple Ad Playlist)
Reviewed by Shalabh Agarwal · OTT & Streaming
Last updated: 2026-07-01
VMAP (Video Multiple Ad Playlist) is the IAB's XML standard that describes a video's ad schedule: where ad breaks occur (pre-, mid-, and post-roll) and what each contains. It typically references VAST for the ads themselves, letting the publisher control break structure independent of the player.
Enveu take
VMAP is how you control the ad experience — break count, position, and rules — without touching player code. It's the layer that turns individual VAST ads into a coherent, publisher-defined schedule.
AdvertisingAd techStandard
What it is
VMAP (Video Multiple Ad Playlist) is an IAB XML document that specifies a video’s ad breaks — their positions (pre-roll at the start, mid-roll at time offsets or percentages, post-roll at the end), how many ads each break contains, and break-level tracking. Rather than embedding the ads, VMAP references VAST for each break, so the schedule and the creatives are managed separately.
- Describes the full ad-break schedule
- Positions by time offset or percentage
- References VAST for each break
Why it matters
VMAP gives publishers control over ad-break placement and structure at the server, not baked into the player. It defines break timing (start, mid at specific offsets, end), how many ads per break, and break-level tracking — while delegating the ads themselves to VAST. That separation lets teams change ad load and pacing without app updates.
Key points
- IAB XML standard for the ad schedule
- Defines break position, count, and rules
- References VAST for the ads themselves
- Publisher-controlled and player-independent
How it works
1
Define breaks
Set pre/mid/post positions.
2
Reference ads
Point each break to VAST.
3
Deliver
Player reads the VMAP schedule.
4
Track
Fire break-level tracking.
Where you encounter it
Multi-break VOD ad podsServer-defined ad schedulingAVOD / FAST monetizationSSAI stitching
Key variations
Time-based breaks
Mid-rolls at fixed offsets.
Percentage-based
Breaks at a % of duration.
Pre/post only
No mid-roll pods.
Real-world example
Tuning ad load without app updates
A service wanted more mid-rolls on long-form content.
Challenge
- Ad positions were hard-coded
- Changes needed app releases
Action taken
- Moved scheduling to VMAP on the server
- Set mid-roll offsets by content length
Outcome
Ad load and pacing changed centrally with no client update.
Frequently asked questions
What is VMAP?
VMAP (Video Multiple Ad Playlist) is the IAB's XML standard that defines a video's ad schedule — where breaks occur and what each contains — usually referencing VAST for the ads.
How is VMAP different from VAST?
VMAP defines the schedule (break positions and structure); VAST defines each individual ad (media and tracking). VMAP references VAST for the ads in each break.
Why use VMAP instead of hard-coding breaks?
VMAP moves break timing and rules to the server, so publishers can change ad load, positions, and pacing without shipping a new player or app version.
Do I need VMAP if I already use VAST?
Only if you need a schedule. VAST describes one ad; VMAP describes where breaks occur across the content and what each contains. A single pre-roll needs only VAST — pre/mid/post-roll structures need VMAP to define the timeline.
How does VMAP specify where mid-rolls go?
Through AdBreak elements with a timeOffset — an absolute timestamp, a percentage of duration, or 'start'/'end'. Each break then references a VAST response, inline or via an ad tag URI, for the ads to play at that point.
Try it yourself
Build a VMAP ad schedule
Generate VMAP with pre-, mid-, and post-roll breaks (referencing VAST) and preview it in a real IMA player.