VAST examples / SIMID
A SIMID InteractiveCreativeFile with no type
VAST 4.11 error2 warningsSIMID-1.0-simid-type-required
The scenario
A brand shipped a SIMID interactive unit for CTV, built as an HTML document the player loads into a secure interactive iframe alongside the base video. The player decides how to handle the interactive file based on its declared MIME type.
The broken tag
<?xml version="1.0" encoding="UTF-8"?>
<!-- Fixture: SIMID InteractiveCreativeFile missing type="text/html"
Expected rule: SIMID-1.0-simid-type-required (Error) -->
<VAST version="4.1">
<Ad id="1">
<InLine>
<AdSystem>Test AdServer</AdSystem>
<AdServingId>simid-type-test-01</AdServingId>
<AdTitle>SIMID Type Test</AdTitle>
<Impression><![CDATA[https://track.example.com/imp]]></Impression>
<Creatives>
<Creative id="1">
<UniversalAdId idRegistry="ad-id.org">simid-type-01</UniversalAdId>
<Linear>
<Duration>00:00:30</Duration>
<MediaFiles>
<MediaFile delivery="progressive" type="video/mp4" width="1920" height="1080">
<![CDATA[https://cdn.example.com/ad.mp4]]>
</MediaFile>
<!-- type attribute is missing (should be type="text/html") -->
<InteractiveCreativeFile apiFramework="SIMID">
<![CDATA[https://creative.example.com/simid.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:
SIMID-1.0-simid-type-requiredIAB SIMID 1.0 §5line 21<InteractiveCreativeFile apiFramework="SIMID"> must have type="text/html" per SIMID §5
The same tag also surfaces these secondary findings — real tags rarely fail in isolation:
VAST-4.1-interactive-creative-typeIAB VAST 4.1 §3.9.3line 14<InteractiveCreativeFile> should have a type attribute identifying the MIME type
VAST-2.0-linear-tracking-quartilesIAB VAST 4.1 §3.14.2line 14<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 16<MediaFiles> has no <Mezzanine> — ad-stitching servers may reject this tag in CTV/SSAI contexts
Why it breaks
The <InteractiveCreativeFile apiFramework="SIMID"> element provides a URL but no type attribute. SIMID (and the VAST interactive-creative rules) require the type so the player knows the resource is, for example, text/html and can load it correctly. Without a declared type the player cannot safely decide how to initialize the interactive layer, and strict implementations reject it.
What it costs
The interactive experience fails to initialize on compliant players, so the campaign loses the engagement layer it paid a premium for while the base video still plays — masking the failure in delivery dashboards. On stricter players the whole interactive creative may be skipped, dropping the unit to a plain video everywhere SIMID was the point.
The fix
Declare type="text/html" (or the correct MIME type) on the InteractiveCreativeFile alongside apiFramework="SIMID", and keep a standard MediaFile present as the universal fallback.
<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 SIMID interactive resource served over HTTP — SIMID-1.0-simid-url-https
- A SIMID creative with no fallback <MediaFile> — VAST-2.0-linear-mediafiles
- An <InteractiveCreativeFile> with no apiFramework — VAST-4.0-interactive-creative-no-api
- A SIMID variableDuration with an invalid value — SIMID-1.0-simid-variable-duration-value