VASTlint

VAST tracking events / Linear

thirdQuartile VAST tracking event

Short answer: Fires when linear playback reaches 75 percent of Duration.

When it fires

The playhead has reached three quarters of the declared Duration. Together with complete it is how buyers distinguish almost-watched from finished.

Almost complete is its own count

thirdQuartile fires at 75 percent of Duration. Buyers who define a completed view as something short of the last frame still need this beacon, because complete only fires at the end of Duration. A viewer who exits in the last quarter shows up here and not in complete.

On a 30-second spot, 75 percent is 22.5 seconds. A skipoffset of 00:00:05 is long past. If thirdQuartile is empty and skip is full, people are leaving at the skip control, which is early, and this beacon is doing nothing wrong. If skip is also empty, the drop is an exit or a stall with no skip UI.

Case and container

The attribute value is thirdQuartile, with that capital Q. event="thirdquartile" does not match. The event is linear only, from VAST 2.0 onward, and a later version did not remove it.

Where a 75 percent beacon sits on a real spot

On a 15-second Duration, thirdQuartile is due at about 11 seconds. On a 6-second bumper it is due at about 4.5 seconds, which is often after a skipoffset of 00:00:05, so the beacon and the skip control are racing. A bumper template copied from a 30-second spot keeps a skipoffset that is past the whole creative, and the skip URL dies for a different reason than this one.

Players that fire quartiles from the media file's own duration, and ignore a wrong Duration element, will not match a server that scheduled the expected time from the XML. When the columns disagree with a stopwatch, compare Duration, the file, and which clock the player used. The event name is not the variable.

When the column stays empty

thirdQuartile is in the VAST 2.0 set, and the current version still includes it. An empty column on a current player is not a version mismatch.

Each wrapper hop may include its own thirdQuartile 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+
YesYesYesYes

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="thirdQuartile">
      <![CDATA[https://track.example.com/thirdQuartile]]>
    </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