VASTlint

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.03.04.04.1+
NoNoYesYes

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

Related events

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.

Further reading