SIMID troubleshooting for VAST ads
Use this guide when the interactive layer never appears, the overlay renders blank, or a SIMID creative works in one player and disappears in another. Most SIMID failures are not exotic. They usually come down to five things: the creative is not HTML, the URL is empty, the URL is HTTP instead of HTTPS, the linear ad is missing a fallback <MediaFile>, or a nonlinear SIMID creative is missing its <IFrameResource>.
Fast triage
- Confirm the target player actually supports SIMID. Many CTV environments still do not.
- Open the creative URL directly. It should return an HTML document over HTTPS with no redirect loops.
- For linear SIMID, make sure
<InteractiveCreativeFile>sits next to a playable<MediaFile>. - For nonlinear SIMID, make sure the player has an
<IFrameResource type="text/html">to load.
Linear SIMID: check these first
- SIMID-1.0-simid-type-required —
<InteractiveCreativeFile>must usetype="text/html". - SIMID-1.0-simid-url-empty — the creative URL cannot be blank or whitespace-only.
- SIMID-1.0-simid-url-https — HTTP URLs are blocked by mixed-content policy.
- SIMID-1.0-simid-variable-duration-value — if
variableDurationis present, the value must betrue. - SIMID-1.0-simid-mediafile-required — a linear SIMID ad still needs a normal video or audio
<MediaFile>.
<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/interactive.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.
Nonlinear SIMID overlays: check the iframe path
- SIMID-1.1-nonlinear-simid-no-iframe — a SIMID
<NonLinear>needs an<IFrameResource>child. - SIMID-1.1-iframe-simid-type-required — the iframe resource should declare
type="text/html". - SIMID-1.1-iframe-simid-url-empty — blank iframe URLs produce a silent no-op overlay.
- SIMID-1.1-iframe-simid-url-https — the iframe URL must be HTTPS.
<NonLinear apiFramework="SIMID" width="480" height="70">
<IFrameResource type="text/html">
<![CDATA[https://cdn.example.com/overlay.html]]>
</IFrameResource>
</NonLinear>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.
When the XML is valid but the ad still fails
- Open the creative URL in a browser and confirm it returns live HTML instead of a 302 loop, a blocked bot challenge, or a file download.
- Test on the target player. SIMID support varies more by runtime than by pure VAST version.
- Keep the fallback video clean even when the interactive layer is the primary experience. Unsupported players should still be able to play the ad.
- Use the validator for XML structure and the player or tester for actual runtime behavior. SIMID transport problems often start after the XML passes.