VAST examples / Wrappers
A <Wrapper> with no <Impression>
VAST 2.01 error0 warningsVAST-2.0-wrapper-impression
The scenario
A reseller's wrapper sat between the publisher and the final advertiser ad server. Each hop in a wrapper chain is supposed to log its own impression so every party in the resale path can count the delivery it was responsible for.
The broken tag
<VAST version="2.0">
<Ad id="1">
<Wrapper>
<AdSystem>Test</AdSystem>
<VASTAdTagURI>https://adserver.example.com/wrapper</VASTAdTagURI>
<!-- missing Impression -->
</Wrapper>
</Ad>
</VAST>What the validator reports
Running this tag through vastlint produces the following. The primary failure for this example:
VAST-2.0-wrapper-impressionIAB VAST 2.0 §2.3.4line 3<Wrapper> is missing required <Impression>
Why it breaks
The <Wrapper> redirects correctly via VASTAdTagURI but contains no <Impression>. The spec requires at least one <Impression> on a Wrapper just as on an InLine, because the impression beacon is how this particular hop records that the ad opportunity passed through it. Omitting it removes that hop's tracking entirely.
What it costs
The intermediary counts nothing, so its reporting under-states delivery relative to adjacent hops and the final ad server. That mismatch is a classic source of impression discrepancies in resale chains: partners argue over whose numbers are right when the real cause is a wrapper that simply never logged. Revenue-share and reconciliation between the parties breaks down.
The fix
Add at least one <Impression> to every <Wrapper> so each hop logs its pass-through. Keep wrapper impressions distinct from the InLine's so each party measures its own leg.
<Wrapper>
<AdSystem>Reseller</AdSystem>
<Impression><![CDATA[https://reseller.example.com/imp]]></Impression>
<VASTAdTagURI><![CDATA[https://adserver.example.com/vast]]></VASTAdTagURI>
</Wrapper>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
- A <Wrapper> with no <VASTAdTagURI> — VAST-2.0-wrapper-vastadtaguri
- An InLine ad with no <Impression> element — VAST-2.0-inline-impression
- An InLine ad missing the <AdSystem> element — VAST-2.0-inline-adsystem
- An InLine ad missing the <AdTitle> element — VAST-2.0-inline-adtitle