VAST vs OMID shows up when a measurement requirement gets written down as a format choice. VAST is the ad response. From 4.1 it has an AdVerifications element so the response can name verification resources. Older responses sometimes use an Extension with that type. OMID is not a sibling template. It is the API those resources speak once a player or app has integrated OM SDK. IAB's OM SDK page, updated November 4, 2025, says integrators send signals to OMID and providers place tags that collect them. The current API docs listed there are OMID 1.6.
A VAST document with a perfect verification block is not a viewability result. A player without OM SDK will not produce one, no matter how clean the XML is. An OMID session with no VAST at all is a different integration, common in some app SDKs, and it is not this tool's document. vastlint checks the VAST side: the verification envelope, the vendor, the resource URL, apiFramework omid, and the tracking that explains a script that never ran. It does not run OM SDK and it does not measure the impression.
What people substitute for the API
Quartile trackers in VAST are playhead events. They are not OMID. An impression URL is a beacon. SIMID is the interactive sidecar and does not become measurement by sitting next to the media file. VPAID could emit all of these from inside the creative, which is the bundle OMID was meant to end. Keeping a VPAID unit because it already sends a quartile is a decision to skip the API, not a VAST-versus-OMID compromise.
Vendor choice is inside the verification node. Two providers means two Verification entries, both OMID, both in the same VAST document. vastlint can see a duplicated vendor identifier and an insecure script URL. It cannot see which firm's number you should believe.
The order of work
Traffic a VAST response that includes the verification block your contract requires. Confirm the player on that path integrates OM SDK for the version your provider needs. Then argue about viewability. Reversing the order produces a measured-looking dashboard for a tag that dropped the node in a wrapper, or a beautiful node on a player that never loads it.
Wrappers are the usual drop. The first hop still shows AdVerifications in the trafficker's copy. A later inline omits it and the impression still fires. The OMID script never had a URL to load. That is a VAST defect with a measurement consequence. vastlint is aimed at the defect.
Separate the layers before the meeting
- VAST is the response, including the verification declaration.
- OM SDK is the player integration.
- OMID is the API those two meet on.
- Quartiles, impression pixels, and SIMID are none of the three.
- A valid verification block is not a viewability percentage.
The document can point at a measurement script, and the document is not the measurement.
Check the verification block inside the VAST response
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
OM SDK page, updated November 4, 2025. Measurement providers collect signals through the OMID API. The current API docs listed there are OMID 1.6.
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.
Vendor swaps stay inside the API.
What the XML check covers.
AdVerifications and the limits of a structural check.
The interactive file is a third name, not a third template.
