VASTlint
Back to blog
Interactive ads/8 min read

Why SIMID creatives keep failing validation in 2026

With VPAID gone from Google IMA and Ad Manager, interactive ads now ship as SIMID. The catch: most SIMID creatives fail VAST validation on the same handful of issues. Here are the InteractiveCreativeFile, apiFramework, nonlinear iframe, and HTTPS errors that block them, and how to catch every one before launch.

Author

Alex Sekowski

Published

June 18, 2026

Updated

June 18, 2026

Reading time

8 min read

SIMIDVPAIDInteractive adsCTVVAST validator

The interactive ad you shipped no longer renders

VPAID is gone from the places that mattered. Google IMA dropped VPAID rendering, Google Ad Manager finished sunsetting it, and CTV never accepted it in the first place. The replacement is SIMID, the IAB Secure Interactive Media Interface Definition, and in 2026 it is no longer optional: buyers and SSPs increasingly require interactive creatives to be delivered as SIMID inside VAST 4.x or not at all.

Here is the pattern we keep seeing. A creative that worked fine as VPAID gets re-wrapped as SIMID, passes a quick visual smoke test in one player, then fails silently across half the inventory. The creative is fine. The VAST envelope around it is not. SIMID moved the interactivity into a sandboxed, postMessage-driven iframe, and that change shifts where things break: from runtime JavaScript errors to structural problems in the tag that a validator catches in milliseconds.

Where SIMID actually lives in the tag

SIMID is not a media file. For a linear ad, the interactive layer is declared with an InteractiveCreativeFile element inside MediaFiles, carrying apiFramework="SIMID" and a type attribute for the document MIME type, alongside the regular video MediaFile that plays underneath it. For a nonlinear ad, SIMID is referenced through the NonLinear creative as an iframe resource. The player loads that resource in a sandbox and talks to it over a defined postMessage protocol. There is no direct DOM access the way VPAID had, which is the whole point.

That structure is also exactly where validation fails. The video underneath is valid VAST, so superficial checks pass, but the SIMID declaration is malformed, mistyped, or served over the wrong scheme. The ad either falls back to the linear video with no interactivity or gets rejected outright.

The five issues that block most SIMID creatives

  • Missing or wrong apiFramework. The InteractiveCreativeFile must declare apiFramework="SIMID". A blank value, a casing mismatch, or a leftover apiFramework="VPAID" makes the player treat the file as an unknown resource and skip the interactive layer.
  • Missing type on the SIMID resource. The type attribute tells the player what document it is loading. Omit it and many players will not initialise the creative. This is the nonlinear-iframe SIMID type requirement.
  • Nonlinear SIMID delivered without an iframe resource. A nonlinear SIMID creative has to be an iframe resource. Pointing it at a static or HTML resource instead is a structural error that fails validation before the creative ever loads.
  • Non-HTTPS resource URLs. SIMID resources served over http break on every modern player and CTV device. Mixed-content blocking is silent: no error dialog, just a creative that never appears.
  • No video fallback. SIMID layers interactivity on top of a real MediaFile. Ship the InteractiveCreativeFile without a valid video MediaFile underneath and there is nothing to play when interactivity is unavailable, which is most of CTV.
A linear SIMID declaration that validates
xml
<MediaFiles>  <!-- The video that actually plays -->  <MediaFile delivery="progressive" type="video/mp4"             width="1280" height="720">    https://cdn.example.com/ad-720p.mp4  </MediaFile>   <!-- The SIMID interactive layer on top of it -->  <InteractiveCreativeFile apiFramework="SIMID"                           type="text/html">    https://cdn.example.com/simid/creative.html  </InteractiveCreativeFile></MediaFiles>

Why this slips through QA

Manual QA tests one creative in one player on one device. SIMID failures are conditional: a missing type attribute breaks the creative on a CTV player but renders fine in a forgiving desktop SDK, and an http resource is blocked only where the page is served over https. By the time the gap shows up in delivery, the campaign is live and the interactive impressions are quietly falling back to plain video.

Structural validation does not have that blind spot. Every InteractiveCreativeFile, every apiFramework value, every resource scheme, and every nonlinear iframe requirement is a deterministic check. Run it once on the tag and you see all of them at once, with the rule ID and the exact fix, before the creative reaches a player at all.

Get VAST spec updates, platform guides, and release notes in your inbox.

Check your SIMID tag now

Paste your VAST tag into the validator. It flags every SIMID issue, the InteractiveCreativeFile attributes, the apiFramework value, the nonlinear iframe requirement, and any non-HTTPS resource, with a rule ID, severity, and the exact fix.

Validate a VAST tag

Fix it once, keep it fixed

The durable fix is to put the same structural check in front of every interactive creative, not just the ones someone remembers to spot-test. Validate the tag the moment it is trafficked, fail the build when a SIMID rule trips, and the fallback-to-video failure mode disappears. The rules below are the specific SIMID checks vastlint runs, each with examples and fix guidance, plus the broader VAST and IMA context that decides whether your interactive creative renders at all.

Go deeper on vastlint

How SIMID works with VAST 4.x: the InteractiveCreativeFile element, apiFramework="SIMID", the iframe postMessage API, and SIMID versus VPAID.

The rule that catches nonlinear SIMID creatives delivered without the required iframe resource.

Why a missing type attribute on the SIMID iframe resource stops players from initialising the creative.

The fallback rule: a SIMID layer without a valid video MediaFile has nothing to play on CTV.

How IMA handles VAST after VPAID, and the delivery errors to fix before launch.

Which VAST version supports SIMID, what changed for CTV, and what to target for new interactive tags.

The full searchable rule catalog, including every SIMID, VAST, and VMAP check with XML examples.

Authoritative references

The IAB Tech Lab SIMID standard: the interface, the postMessage protocol, and how SIMID is referenced from VAST.

The VAST standard that defines InteractiveCreativeFile, apiFramework, and how SIMID is carried inside the tag.

Keep reading

Related stories

All posts