A simplified example of the current VAST 3.0 shape:
<?xml version="1.0" encoding="UTF-8"?>
<VAST version="3.0">
<Ad id="1">
<InLine>
<AdSystem>MEDIARAZZI</AdSystem>
<AdTitle>Example commercial</AdTitle>
<Impression>https://ads.mediarazzi.com/track/KEY/impression</Impression>
<Creatives><Creative><Linear skipoffset="00:00:05">
<Duration>00:00:15</Duration>
<TrackingEvents>
<Tracking event="start">https://ads.mediarazzi.com/track/KEY/start</Tracking>
<Tracking event="complete">https://ads.mediarazzi.com/track/KEY/complete</Tracking>
</TrackingEvents>
<MediaFiles><MediaFile delivery="progressive" type="video/mp4"
width="1920" height="1080">https://cdn.mediarazzi.com/VIDEO_ID/play_1080p.mp4</MediaFile></MediaFiles>
</Linear></Creative></Creatives>
</InLine>
</Ad>
</VAST>
This example is explanatory, not a guarantee of the exact emitted element order, output media rendition or validation against every VAST XSD. The live tag is authoritative.
What a player must do
- Request XML over HTTPS.
- Parse the
<Ad>and<Linear>structures. - Load
<MediaFile>with the expected media type. - Fire tracking URLs on genuine playback events.
- Honor skip/click behavior where supported.
- Resume content appropriately.
Sequenced ads
For Ad Pods, multiple <Ad> elements contain sequence="1", sequence="2", etc. Supporting these is optional for some players even if they support basic VAST.
Reference: IAB VAST specification.