VAST tracking events / NonLinear
overlayViewDuration VAST tracking event
Short answer: Fires with how long a NonLinear overlay was in view. VAST 4.0+. Introduced in VAST 4.0.
When it fires
The overlay's visible duration. This is the NonLinear analogue of quartiles. Pause ads and other portfolio formats that are NonLinear with video should ship overlayViewDuration plus a Duration on the creative.
The overlay's clock
overlayViewDuration fires with how long a NonLinear overlay was in view. It is the duration signal quartiles are for linear video. VAST 4.0 added it. A pause ad or other portfolio format that is NonLinear, often carrying video, reports nothing useful if the only trackers are start and complete.
The creative still needs a Duration so the player has a timeline. An overlay with creativeView and no Duration and no overlayViewDuration can tell you the unit appeared and cannot tell you whether it stayed up for two seconds or twenty. A 3.0 document cannot use this event. Do not add it and leave the version attribute at 3.0.
What the URL is asked to carry
Players that implement overlayViewDuration put the elapsed time in the request, often with a macro or a query parameter the integrator agreed. The event name alone does not include the number. If the URL is https://track.example.com/ovd with no parameter, the call can still fire and the duration is missing. Put a parameter on the URL and confirm the player fills it. An unsubstituted macro in that parameter means the player fired the event and did not know the macro.
A Duration on the NonLinear creative gives the player a bound. overlayViewDuration longer than that Duration is a player bug or a clock that kept running after the unit closed. Shorter is a unit that left early. creativeView without this event is the 3.0 world. Do not average the two as if they were the same metric across a version change.
When the column stays empty
overlayViewDuration 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 overlayViewDuration 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="overlayViewDuration">
<![CDATA[https://track.example.com/overlayViewDuration]]>
</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.1-tracking-event-value: Tracking event attribute not in the valid set for this VAST version
Related events
- creativeView: Fires when the creative is first displayed. Primary signal for NonLinear and companions.
- complete: Fires when linear playback reaches the end of Duration.
- timeSpentViewing: Existed only in VAST 4.0. Removed in 4.1.
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.