VAST tracking events / Linear
playerExpand VAST tracking event
Short answer: Fires when the player grows (4.0+ replacement for fullscreen). Introduced in VAST 4.0.
When it fires
The player entered a larger surface: fullscreen on desktop, or an expanded player on CTV. Use this name on VAST 4.0 and later. fullscreen will not fire.
The player surface, from VAST 4.0
playerExpand fires when the player enters a larger surface. On a desktop browser that is fullscreen. On a television it is the player chrome growing. VAST 4.0 introduced it as the replacement for fullscreen. A 2.0 or 3.0 player has never heard of playerExpand and will not call it.
adExpand is the creative growing, and it belongs on NonLinear. A linear tag that says adExpand is the overlay name on the wrong container. fullscreen left in a 4.1 document beside playerExpand does not double the measurement. Only playerExpand fires.
Television has no fullscreen, and the beacon can still fire
On CTV, playerExpand is the player entering a larger region, when the device has that mode. Many living-room players are always full screen, so the event never changes state and the column stays empty on a correct tag. That empty column does not mean the ad was not full screen. It means the state did not change.
On desktop, playerExpand is the practical replacement for the old fullscreen event, including the browser Fullscreen API. A 4.1 web player that still only emits fullscreen is behind the spec. You can ship playerExpand for the players that have caught up. You cannot make the old player emit a name it does not implement, except by also keeping fullscreen for as long as those players are in the buy.
When the column stays empty
playerExpand 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 playerExpand 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: 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="playerExpand">
<![CDATA[https://track.example.com/playerExpand]]>
</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.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
- playerCollapse: Fires when the player leaves the expanded surface (4.0+).
- fullscreen: Removed in VAST 4.0. Use playerExpand on 4.x tags.
- adExpand: Fires when the creative expands. 4.0+ name replacing expand.
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.