VAST vs VPAID sounds like a choice of templates. It is a container and one thing the container used to hold. VAST, the Video Ad Serving Template, is the XML: which media to fetch, which tracking URLs to call, how wrappers chain, where a verification node sits. VPAID is a JavaScript API. A VAST document references it by putting apiFramework VPAID on a MediaFile. The player that supports it loads that resource and expects the VPAID interface. IAB's VAST standards hub marks VPAID deprecated and points the interactive job at SIMID. The document format stays.
Deprecation of the executable is not a migration off VAST. SIMID and OMID are still declared inside VAST 4.x. A team that throws out the VAST tag because VPAID is deprecated has thrown out the file, the trackers, and the verification along with the script. vastlint validates the VAST document from 2.0 through 4.4 and can show that a media file is VPAID, that no decodable sibling remains, and that verification is missing. It does not execute the script. A longer reference lives at the VPAID vs VAST doc. This note is the short comparison.
What each one can be wrong about
A valid-looking VAST document can still be the wrong ad: wrong duration, empty tracking URL, wrapper that never resolves. That is a VAST problem, and it exists on tags that never mention VPAID. A VPAID problem is narrower. The document may be well formed and still offer only an executable that CTV and SSAI will not run. Google's IMA docs limit VPAID 2 JavaScript to the HTML5 SDK. Both problems can be true of one response. Fixing the XML schema errors does not remove the executable. Removing the executable does not fill an empty impression URL.
People also say VPAID when they mean any interactive video. The current interactive declaration is SIMID on InteractiveCreativeFile, beside a media file. The current measurement declaration is OMID in AdVerifications. Neither one replaces the VAST element that wraps them.
How to read a tag that mentions both
If the root is VAST and a media file says VPAID, you have a current document carrying a deprecated creative. Keep the document. Replace the creative with a media file, add SIMID only for a real interaction, and add OMID only for a real vendor. If someone offers a VPAID unit with no VAST at all, you do not have an ad response a stitcher can parse. You have a script.
Wrappers are still VAST. The VPAID file is often on the last inline, not on the wrapper QA opened. vastlint's inspector follows that chain. The validator then checks the document you unwrap to. Neither step runs the creative.
Keep the names in their places
- VAST is the response you traffic.
- VPAID is an optional, deprecated media file inside it.
- SIMID is an optional interactive file inside it.
- OMID is an optional verification resource inside it.
- Removing VPAID does not mean removing VAST.
The template and the executable were never competing formats, and only one of them was deprecated.
Validate the document, including any VPAID file it still carries
Run VAST 2.0–4.4 tags against specification-derived rules. Nothing is stored. vastlint does not execute VPAID, open a SIMID session, run OMID, or certify an MRAID SDK.
Sources
VAST standards hub. VPAID is marked deprecated and replaced with SIMID.
SIMID page, updated January 3, 2024. SIMID 1.2 separates the interactive layer from the media asset. Both are delivered by VAST 4.x. OMID is named for measurement and SIMID for interactivity, as the replacement for VPAID.
Only the IMA HTML5 SDK supports VPAID 2 JavaScript creatives.
The longer reference this note compresses.
SIMID, OMID, and the media file, still inside VAST.
The same container question for the interactive replacement.
