VAST examples / Deprecated features
VPAID used where SIMID belongs in VAST 4.x
VAST 4.10 errors3 warningsVAST-4.1-vpaid-in-interactive-context
The scenario
An agency reused an interactive web creative built on VPAID inside a VAST 4.1 interactive-creative slot, expecting it to behave like a modern interactive unit across the campaign's mix of web and CTV inventory.
The broken tag
<?xml version="1.0" encoding="UTF-8"?>
<VAST version="4.1">
<Ad id="1">
<InLine>
<AdSystem>Test AdServer</AdSystem>
<AdTitle>Test Ad</AdTitle>
<AdServingId>TEST-SERVING-ID-001</AdServingId>
<Impression><![CDATA[https://example.com/impression]]></Impression>
<Creatives>
<Creative>
<UniversalAdId idRegistry="ad-id.org">TEST-1234</UniversalAdId>
<Linear>
<Duration>00:00:30</Duration>
<MediaFiles>
<MediaFile delivery="progressive" type="video/mp4" width="1920" height="1080">
<![CDATA[https://example.com/video.mp4]]>
</MediaFile>
<!-- Has InteractiveCreativeFile (SIMID) but also VPAID MediaFile -->
<MediaFile delivery="progressive" type="application/javascript" width="640" height="480" apiFramework="VPAID">
<![CDATA[https://example.com/vpaid.js]]>
</MediaFile>
<InteractiveCreativeFile type="text/html" apiFramework="SIMID">
<![CDATA[https://example.com/interactive.html]]>
</InteractiveCreativeFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>What the validator reports
Running this tag through vastlint produces the following. The primary failure for this example:
VAST-4.1-vpaid-in-interactive-contextIAB VAST 4.1 §2.4.3line 19<MediaFile apiFramework="VPAID"> alongside <InteractiveCreativeFile> — VPAID is not supported in CTV and should be removed when SIMID/OMID is present
The same tag also surfaces these secondary findings — real tags rarely fail in isolation:
VAST-4.1-vpaid-apiframeworkIAB VAST 4.1 §2.3.5.1line 19apiFramework="VPAID" is deprecated as of VAST 4.1 — use SIMID or OMID instead
VAST-2.0-linear-tracking-quartilesIAB VAST 4.1 §3.14.2line 12<Linear> has no standard quartile tracking events (start/firstQuartile/midpoint/thirdQuartile/complete) — ad will serve but measurement system receives no signal
VAST-4.1-mezzanine-recommendedIAB VAST 4.1 §3.9.2line 14<MediaFiles> has no <Mezzanine> — ad-stitching servers may reject this tag in CTV/SSAI contexts
Why it breaks
The interactive creative declares apiFramework="VPAID". In VAST 4.x the interactive-creative slot is meant for SIMID, with OMID handling measurement; VPAID was deprecated and is explicitly out of place in a 4.x interactive context. Many 4.x players — and all CTV players — have no VPAID runtime, so a VPAID-flagged interactive file cannot execute there.
What it costs
On 4.x and CTV environments the interactive unit does not run, so the campaign's interactivity is lost wherever VPAID is unsupported, which is an increasing share of inventory. The creative may fall back to base video or fail to render, and the engagement metrics that justified the interactive buy come back empty — all because the unit was flagged for a deprecated framework.
The fix
Replace VPAID with SIMID for interactivity (apiFramework="SIMID", HTTPS resource) and use OMID via <AdVerifications> for measurement. Keep a standard MediaFile as the universal fallback.
<!-- 4.x interactive context expects SIMID, not VPAID -->
<InteractiveCreativeFile type="text/html" apiFramework="SIMID">
<![CDATA[https://cdn.example.com/simid/unit.html]]>
</InteractiveCreativeFile>Check your own version of this tag
Paste the resolved XML to run the same spec check, test a live tag URL, or inspect the wrapper chain hop by hop.
Related examples
- A VPAID creative trafficked to CTV — VAST-4.1-vpaid-apiframework
- Use of the deprecated conditionalAd attribute — VAST-4.0-conditionalad
- An InLine ad with no <Impression> element — VAST-2.0-inline-impression
- An InLine ad missing the <AdSystem> element — VAST-2.0-inline-adsystem