VASTlint

VAST examples / SIMID

A SIMID creative with no fallback <MediaFile>

VAST 4.12 errors1 warningVAST-2.0-linear-mediafiles

The scenario

An interactive SIMID unit ran across a mix of CTV apps, some of which had not yet implemented SIMID. The campaign's goal was added engagement where supported, with a graceful fall back to a normal video ad everywhere else.

The broken tag

<?xml version="1.0" encoding="UTF-8"?>
<!-- Fixture: SIMID InteractiveCreativeFile without an accompanying video MediaFile
     Expected rule: SIMID-1.0-simid-mediafile-required (Error) -->
<VAST version="4.1">
  <Ad id="1">
    <InLine>
      <AdSystem>Test AdServer</AdSystem>
      <AdServingId>simid-nomedia-test-01</AdServingId>
      <AdTitle>SIMID No MediaFile Test</AdTitle>
      <Impression><![CDATA[https://track.example.com/imp]]></Impression>
      <Creatives>
        <Creative id="1">
          <UniversalAdId idRegistry="ad-id.org">simid-nomedia-01</UniversalAdId>
          <Linear>
            <Duration>00:00:30</Duration>
            <MediaFiles>
              <!-- No video MediaFile — SIMID §3.4 requires a media asset alongside
                   the interactive creative. -->
              <InteractiveCreativeFile apiFramework="SIMID" type="text/html">
                <![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:

errorVAST-2.0-linear-mediafilesIAB VAST 2.0 §2.3.5.2line 14

<MediaFiles> must contain at least one <MediaFile>

The same tag also surfaces these secondary findings — real tags rarely fail in isolation:

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

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

errorSIMID-1.0-simid-mediafile-requiredIAB SIMID 1.0 §3.4line 14

Linear ad with <InteractiveCreativeFile apiFramework="SIMID"> must also include a video/audio <MediaFile> — SIMID requires a media asset

Why it breaks

The Linear carries the SIMID InteractiveCreativeFile but no standard <MediaFile> video. SIMID is explicitly designed as a layer on top of a normal linear video: the interactive file enhances a base MediaFile that must still be present so that players which do not support SIMID can play the plain video. With no MediaFile, there is no fallback path at all.

What it costs

On every player that lacks SIMID support — still a large share of the CTV install base — the ad has nothing to render and the slot goes blank or skips. Instead of degrading gracefully to a normal spot, the campaign loses all delivery on non-supporting devices, sharply cutting reach and wasting the flight's budget on impressions that never serve.

The fix

Always include at least one standard <MediaFile> alongside the SIMID InteractiveCreativeFile. The MediaFile is the universally playable base; SIMID enhances it only where supported.

<Linear>
  <Duration>00:00:30</Duration>
  <MediaFiles>
    <MediaFile delivery="progressive" type="video/mp4" width="1280" height="720">
      <![CDATA[https://cdn.example.com/base.mp4]]></MediaFile>
    <InteractiveCreativeFile type="text/html" apiFramework="SIMID">
      <![CDATA[https://cdn.example.com/simid/unit.html]]></InteractiveCreativeFile>
  </MediaFiles>
</Linear>

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.

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

Related reading