VAST tracking events / Linear
closeLinear VAST tracking event
Short answer: Fires when a linear ad is closed. 4.1+ replacement path for linear close. Introduced in VAST 3.0.
When it fires
The linear creative was closed. VAST 3.0 introduced it. VAST 4.0 briefly preferred acceptInvitationLinear in some tables. VAST 4.1 keeps closeLinear as the linear close name. Do not use NonLinear close on Linear.
The linear close control
closeLinear fires when the viewer closes a linear ad. VAST 3.0 introduced it. The version table in the spec is uneven across 4.0 and 4.1: 4.1 keeps closeLinear as the linear close name. The NonLinear name close is a different event on a different container.
skip is the skip control, which depends on skipoffset. complete is the playhead reaching Duration. A view has one of those endings, or it stalls and has none. Adding the three counts produces a number larger than starts when a player emits more than one of them for the same view, which some players do. Look at the event log for one impression before you add the columns.
Close, skip, and the end of the file
A player with both a skip button and a close button can emit one or both. If your template only listens for closeLinear, skips disappear. If it only listens for skip, closes disappear. complete is neither. It is the playhead. A view that is closed at second 3 has a start, maybe no quartile, a closeLinear, and no complete.
VAST 4.0's tables were inconsistent about whether closeLinear or acceptInvitationLinear was the linear name in that version. 4.1 keeps closeLinear. If you traffic one document at 4.0 and another at 4.1, check the event log on both rather than assuming the 4.0 player matches the 4.1 table. The attribute on the document is the contract vastlint checks. The player in the field is the contract the report uses.
When the column stays empty
closeLinear is absent from VAST 2.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 closeLinear 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 | Yes | No | Yes |
Legal containers: Linear. 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 Linear TrackingEvents block. It is not valid on the other creative types, and a player does not fire a tracker in the wrong container.
<Linear>
<TrackingEvents>
<Tracking event="closeLinear">
<![CDATA[https://track.example.com/closeLinear]]>
</Tracking>
</TrackingEvents>
</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.
Related vastlint rules
- VAST-4.1-tracking-event-value: Tracking event attribute not in the valid set for this VAST version
Related events
- close: Fires when a NonLinear creative is closed by the user.
- skip: Fires when the user skips a linear ad. Requires skipoffset on Linear.
- complete: Fires when linear playback reaches the end of Duration.
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.