vastlint

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

  1. Confirm the target player actually supports SIMID. Many CTV environments still do not.
  2. Open the creative URL directly. It should return an HTML document over HTTPS with no redirect loops.
  3. For linear SIMID, make sure <InteractiveCreativeFile> sits next to a playable <MediaFile>.
  4. For nonlinear SIMID, make sure the player has an <IFrameResource type="text/html"> to load.

Linear SIMID: check these first

<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

<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.

Useful next steps