VASTlint

VAST macros / Playback and timing

[CONTENTPLAYHEAD] VAST macro

Short answer: Deprecated playhead macro; use [ADPLAYHEAD] instead. Introduced in VAST 3.0. Deprecated as of VAST 4.1.

Deprecated: use [ADPLAYHEAD] instead. Newer players may not substitute [CONTENTPLAYHEAD].

What it means

The pre-4.1 playhead macro. It was ambiguous about whether it referred to ad or content time, so VAST 4.1 deprecated it in favour of [ADPLAYHEAD]. Newer players may not populate it.

Example value

After the player substitutes the macro, [CONTENTPLAYHEAD] becomes something like:

00:00:07.500

Where it is valid

Legacy tracking and error URLs. Deprecated as of VAST 4.1.

Macros are case-sensitive and substituted only inside URL fields. A macro written in the wrong case, or placed where it has no defined value, is sent to the server as literal text instead of a value.

Using it in a tag

<Impression><![CDATA[https://t.example.com/i?val=[CONTENTPLAYHEAD]&cb=[CACHEBUSTING]]]></Impression>

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 macros

Validate your macros

vastlint flags unknown, mis-cased, deprecated, out-of-context, and unencoded macros in any tracking, click, error, impression, or media URL:

# CLI: exits non-zero on errors, ideal for pipelines
vastlint check creative.xml

Use the right tool for this failure

If you already have the resolved XML, run a pure spec check. If you only have a live tag URL, test that endpoint first. If the failure happens in the wrapper chain, inspect each hop.

Further reading