SIMID validation: how to check InteractiveCreativeFile correctly
Short answer
SIMID validation is not just "does the tag contain an <InteractiveCreativeFile>?" You need the right type, the right apiFramework, an HTTPS URL, and a normal <MediaFile> fallback alongside the interactive layer. That is the VAST envelope. vastlint does not GET the HTML, read frame headers, or run createSession. When the XML is clean and the player still fails, use the VAST tester.
Why this happens
Most SIMID failures are migration mistakes from VPAID: teams copy the old application/javascript MIME type, forget the HTML wrapper, leave the URL empty, or remove the standard video media file because they assume the interactive layer controls playback. That is not how SIMID works.
The player still owns media playback. SIMID adds a secure interactive layer around a normal VAST media setup, not a replacement for it.
Copyable fix example
<MediaFiles>
<MediaFile delivery="progressive" type="video/mp4" width="1280" height="720">
<![CDATA[https://cdn.example.com/ad.mp4]]>
</MediaFile>
<InteractiveCreativeFile type="text/html" apiFramework="SIMID">
<![CDATA[https://cdn.example.com/simid-creative.html]]>
</InteractiveCreativeFile>
</MediaFiles>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.
Exact rule pages
- SIMID-1.0-simid-type-required
- SIMID-1.0-simid-url-empty
- SIMID-1.0-simid-url-https
- SIMID-1.0-simid-url-data-html
- SIMID-1.0-simid-apiframework-case
- SIMID-1.0-simid-mediafile-required
- SIMID-1.0-simid-interactive-start
- SIMID-1.0-simid-ssai-no-client
- VPAID-simid-type-mismatch
- VAST-4.0-interactive-creative-no-api
- VAST-4.1-interactive-creative-type
XML first, then the live creative
Use the validator for the SIMID envelope. Use the tester when the tag already passes and the iframe still fails (JS file, X-Frame-Options, missing createSession). Use the inspector when the problem is the wrapper chain.