VASTlint

VAST examples / Non-linear

A <NonLinear> overlay with no resource

VAST 2.01 error0 warningsVAST-2.0-nonlinear-resource

The scenario

A publisher ran a non-linear overlay ad — a banner that appears over the lower third of the video without interrupting playback — as a lighter-weight monetization option on long-form content.

The broken tag

<?xml version="1.0" encoding="UTF-8"?>
<VAST version="2.0">
  <Ad id="1">
    <InLine>
      <AdSystem>Test AdServer</AdSystem>
      <AdTitle>Test Ad</AdTitle>
      <Impression><![CDATA[https://example.com/impression]]></Impression>
      <Creatives>
        <Creative>
          <NonLinearAds>
            <!-- No StaticResource, IFrameResource, or HTMLResource -->
            <NonLinear width="300" height="60">
              <NonLinearClickThrough><![CDATA[https://example.com/click]]></NonLinearClickThrough>
            </NonLinear>
          </NonLinearAds>
        </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-nonlinear-resourceIAB VAST 2.0 §2.3.6.1line 12

<NonLinear> must contain at least one StaticResource, IFrameResource, or HTMLResource

Why it breaks

The <NonLinear> element is present but contains no resource: no StaticResource, IFrameResource, or HTMLResource. A non-linear ad needs exactly such a resource to render the overlay graphic or markup. With none, the player has an overlay placeholder with nothing to put in it.

What it costs

The overlay slot stays empty, so the impression is effectively unfilled while still potentially counting structurally — creating a mismatch between logged opportunities and actual rendered creative. The advertiser pays for an overlay nobody sees, and the publisher's overlay product looks broken to buyers evaluating it.

The fix

Add a resource to the <NonLinear> — typically a StaticResource image with creativeType, or an HTMLResource — sized to the overlay region. Include the required dimensions on the NonLinear as well.

<NonLinear width="480" height="70">
  <StaticResource creativeType="image/png">
    <![CDATA[https://cdn.example.com/overlay-480x70.png]]></StaticResource>
  <NonLinearClickThrough><![CDATA[https://example.com/lp]]></NonLinearClickThrough>
</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.

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