VAST examples / OMID / verification
An OMID <JavaScriptResource> with no apiFramework
VAST 4.13 errors2 warningsVAST-4.1-js-resource-apiframework
The scenario
An advertiser added Open Measurement to a CTV creative by inserting a vendor's verification script into <AdVerifications>. The player needs to know that script is an OMID resource so it loads it through the OM SDK in the measurement sandbox rather than ignoring it.
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>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
<AdVerifications>
<Verification vendor="company.com-omid">
<!-- JavaScriptResource missing apiFramework -->
<JavaScriptResource>
<![CDATA[https://verificationvendor.com/omid.js]]>
</JavaScriptResource>
<!-- ExecutableResource missing apiFramework and type -->
<ExecutableResource>
<![CDATA[https://verificationvendor.com/verify]]>
</ExecutableResource>
</Verification>
</AdVerifications>
</InLine>
</Ad>
</VAST>What the validator reports
Running this tag through vastlint produces the following. The primary failure for this example:
VAST-4.1-js-resource-apiframeworkIAB VAST 4.1 §3.17.1line 25<JavaScriptResource> is missing required apiFramework attribute
The same tag also surfaces these secondary findings — real tags rarely fail in isolation:
VAST-4.3-js-resource-browser-optionalIAB VAST 4.3 §3.17.1line 25<JavaScriptResource> should have a browserOptional attribute (required since VAST 4.3)
VAST-4.1-exec-resource-apiframeworkIAB VAST 4.1 §3.17.2line 29<ExecutableResource> is missing required apiFramework attribute
VAST-4.1-exec-resource-typeIAB VAST 4.1 §3.17.2line 29<ExecutableResource> is missing required type attribute
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 <JavaScriptResource> inside <Verification> provides a URL but no apiFramework attribute. VAST 4.1 requires apiFramework on verification resources — set to omid — so the player can identify which measurement framework the resource targets and route it accordingly. Without it (and the related resource attributes), the OM SDK has no signal that this script is an OMID verification resource.
What it costs
The verification script is not recognized as an OMID resource, so the player either skips it or loads it incorrectly, and third-party viewability and IVT measurement do not run. The buyer pays for independent measurement that never executes; reporting comes back empty and make-good clauses tied to measured viewability are jeopardized.
The fix
Set apiFramework="omid" on every verification <JavaScriptResource> (and browserOptional as appropriate), and ensure ExecutableResource entries carry the required apiFramework and type as well.
<Verification vendor="measureco.com-omid">
<JavaScriptResource apiFramework="omid" browserOptional="true">
<![CDATA[https://verify.example.com/omid.js]]>
</JavaScriptResource>
</Verification>VAST XML fragment only. This excerpt belongs inside a complete VAST document, so standalone validation will fail until it is wrapped in a full <VAST>response.
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
- An OMID <Verification> with no vendor attribute — VAST-4.1-verification-vendor
- An OMID <Verification> with no resource to load — VAST-4.1-verification-no-resource
- An InLine ad with no <Impression> element — VAST-2.0-inline-impression
- An InLine ad missing the <AdSystem> element — VAST-2.0-inline-adsystem