Key takeaways
- VAST is the XML schema that tells a player what ad to show and how to track it.
- It supports linear, non-linear, and companion ads with specific tracking events.
- VAST works with both client-side and server-side ad insertion models.
- Malformed VAST tags are a leading cause of ad playback failures.
How VAST works
VAST is an XML document returned by an ad server in response to an ad request. When a player requests an ad, the server returns a VAST tag containing the ad's metadata. The player parses this XML to extract the video URL, duration, and tracking pixels.
The tag defines several key components:
- Creative: The actual video file URL and its format.
- Tracking: URLs for impressions, clicks, and video milestones (start, quartile, complete).
- Companions: Optional banner ads that display alongside the video.
- Error Handling: Instructions for what to do if the ad fails to load.
In a client-side insertion model, the player fetches the VAST tag directly. In server-side insertion, the ad server stitches the ad into the main video stream, but VAST still defines the logic for tracking and creative selection. The player must support the specific VAST version used by the ad server. Most modern players support VAST 3.0 and 4.0. The player fires tracking events at precise moments, such as when the video starts or reaches a quartile milestone. This data flows back to the ad server for reporting and billing. If the VAST tag is malformed, the player may skip the ad or show a fallback message.
Why VAST matters for a streaming business
VAST is the universal language for video advertising. Without it, you would need custom integration code for every ad network, publisher, or ad server. This standardization reduces development time and maintenance costs. It allows you to sell ad inventory to third parties who use standard ad servers. You can also use VAST to serve ads from your own inventory if you build a simple ad server.
For operators, VAST compliance is critical for monetization. If your player does not handle VAST correctly, advertisers will not trust your platform. They rely on the tracking data within VAST to verify that ads were actually shown. Inaccurate tracking leads to lost revenue and damaged relationships. VAST also enables advanced features like dynamic creative optimization, where the ad content changes based on user data. Understanding VAST helps you debug ad issues quickly. Most ad playback problems stem from player-side errors, not the ad server. You need a player that can parse complex VAST tags and handle edge cases like slow loading or missing creatives.
VAST vs VMAP
VAST and VMAP are related but serve different purposes. VAST defines a single ad. VMAP defines a playlist of ads. If you have one ad slot, you use VAST. If you have multiple ad slots in a pre-roll sequence, you use VMAP. VMAP is an XML wrapper that contains multiple VAST tags. It tells the player how many ads to show and in what order. VMAP also specifies the total duration of the ad break. This is useful for keeping the ad break does not exceed a certain length. VAST is simpler and more common for single ad slots. VMAP is more complex but necessary for multi-ad sequences. Most ad servers can output both formats. You should support both in your player to handle all ad scenarios. The table below highlights the key differences.
| Feature | VAST | VMAP |
|---|---|---|
| Purpose | Single ad definition | Ad playlist definition |
| Complexity | Simple | Complex |
| Use Case | One ad slot | Multiple ad slots |
| Structure | XML document | XML wrapper with VASTs |
| Duration Control | Per ad | Total break duration |
Common mistakes with VAST
Operators often encounter issues with VAST implementation. Here are the most common pitfalls:
- Ignoring tracking events: Failing to fire all required tracking pixels leads to inaccurate reporting. Advertisers may see missing impressions or clicks.
- Not handling errors: If a VAST tag fails to load, the player should have a fallback plan. Without it, the video may stall or crash.
- Using outdated VAST versions: Some ad servers still use VAST 2.0. Make sure your player supports the version used by your ad partners.
- Hardcoding ad logic: Do not hardcode ad behavior in the player. Let the VAST tag control the ad experience. This makes it easier to update ads without changing code.
- Neglecting companion ads: If you support companion ads, make sure they display correctly. Misaligned or missing companions can reduce ad effectiveness.
How Flicknexs handles VAST
Flicknexs supports server-side ad insertion, which processes VAST tags at the delivery layer. This means the ad is stitched into the video stream before it reaches the player. The player does not need to fetch or parse VAST tags directly, reducing client-side complexity. Flicknexs includes a self-serve advertiser portal where you can manage ad campaigns and view performance data. The platform handles VAST tracking events automatically, keeping accurate reporting for your ad partners. You can configure ad slots and schedules through the video CMS. This setup allows you to monetize your content without managing ad server infrastructure. For details on setting up ad-supported channels, visit the Launch a FAST channel page.
Done reading about VAST?
Flicknexs ships it as part of a white-label streaming platform: web, mobile and TV apps, billing, ads, DRM and playout, on your own domain.