VAST tracking events / NonLinear
adCollapse VAST tracking event
Short answer: Fires when the creative collapses after expand. 4.0+ name. Introduced in VAST 4.0.
When it fires
The creative returned from the expanded state. Pair with adExpand. Not playerCollapse.
The creative left the expanded state
adCollapse fires when the NonLinear creative returns from adExpand. It is not close, which is dismissal, and it is not minimize, which tucks the overlay away. VAST 4.0 added all three as distinct names. A template that sends every overlay gesture to close throws away the distinction.
The 2.0 and 3.0 name was collapse. Update both sides of the pair when you bump the version: expand and collapse become adExpand and adCollapse together.
Session end while expanded
If the overlay is expanded and the content break ends, the player may emit adCollapse, close, or only overlayViewDuration. You will not get a reliable collapse on every end-of-break. Use overlayViewDuration for time in view. Use adCollapse for the gesture of shrinking. Use close for dismissal. Requiring all three before you count an overlay as finished drops the breaks that ended on their own.
The name is case-sensitive: adCollapse, with that capital C. event="adcollapse" is a different string and does not fire. vastlint treats an unknown event name as a URL nobody calls.
When the column stays empty
adCollapse is absent from VAST 2.0 and from 3.0. A player that only implements those versions will not request it. The version table on this page is the set that includes it.
Each wrapper hop may include its own adCollapse URL. The player requests every one of them when the event happens, so a chain of four hops produces four calls for one playback. An http URL on an https page is dropped by the browser before the ad server sees a miss. The event name can be right and the scheme can still zero the column.
Where it is valid
| 2.0 | 3.0 | 4.0 | 4.1+ |
|---|---|---|---|
| No | No | Yes | Yes |
Legal containers: NonLinear. An event in the wrong container is not a player error. It is a URL nobody calls.
Using it in a tag
Put it in a NonLinear TrackingEvents block. It is not valid on the other creative types, and a player does not fire a tracker in the wrong container.
<NonLinear>
<TrackingEvents>
<Tracking event="adCollapse">
<![CDATA[https://track.example.com/adCollapse]]>
</Tracking>
</TrackingEvents>
</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.
Related vastlint rules
- VAST-4.0-tracking-event-removed: fullscreen/exitFullscreen tracking events were removed in VAST 4.0
- VAST-4.1-tracking-event-value: Tracking event attribute not in the valid set for this VAST version
Related events
- adExpand: Fires when the creative expands. 4.0+ name replacing expand.
- collapse: Removed in VAST 4.0. Use adCollapse on 4.x tags.
- playerCollapse: Fires when the player leaves the expanded surface (4.0+).
Check the XML, then confirm the beacons fire
Validate the event names and containers on the document. Test a live URL when the XML is clean and reporting is still empty.