VAST Macro Expander

Expand IAB VAST 4.x macros in a tracking URL and preview the fired request, right in your browser. Pasted tags stay on your device.

The VAST Macro Expander runs entirely in your browser. The tracking URLs, consent strings, and device identifiers you paste are parsed on your device and are never uploaded to ArrayKit or sent to any ad server.

About VAST Macro Expander

The VAST Macro Expander turns the placeholder tokens in a video ad tracking URL into a real, fired request so you can see exactly what your player will send. Paste an impression, quartile, or error pixel that contains IAB VAST 4.x macros — [CACHEBUSTING], [TIMESTAMP], [GDPR], [GDPRCONSENT], [US_PRIVACY], [IFA], [PAGEURL] and more — and the tool substitutes sample values or your own overrides, generating a random cache-buster and an ISO timestamp on the fly. A searchable reference explains every macro and its category. Because ad-ops URLs so often carry consent strings and device identifiers, everything runs on your device: the tag you paste is parsed in your browser and never sent to a server.

Features

How to use the VAST Macro Expander

  1. Keep the Expand URL tab selected
  2. Paste a tracking or impression URL that contains VAST macros
  3. Edit any detected macro value, or hit Regenerate for a fresh cache-buster and timestamp
  4. Copy the expanded URL, or switch to Macro Reference to look up a token

Example

Input

https://ad.example.com/i?cb=[CACHEBUSTING]&ts=[TIMESTAMP]&gdpr=[GDPR]

Output

https://ad.example.com/i?cb=12345678&ts=2025-03-04T05:06:07.000Z&gdpr=1

[CACHEBUSTING] becomes a random int, [TIMESTAMP] an ISO time, and [GDPR] its sample value.

Common errors & troubleshooting

Frequently asked questions

What is a VAST macro?
A VAST macro is an uppercase token in square brackets, like [CACHEBUSTING] or [GDPRCONSENT], inside a video ad tracking URL. The video player or ad server replaces it with a real value the moment the pixel fires.
Which macros does the expander generate automatically?
[CACHEBUSTING] and [TIMESTAMP] are dynamic: the tool builds a random 8-digit cache-buster and an ISO 8601 UTC timestamp. Every other macro uses a bundled sample value you can override.
Does the tool fetch the ad tag or actually fire the tracking URL?
No. It never makes a network request. You paste the URL and macro substitution happens locally in your browser, so nothing is fetched, fired, or logged to a server.
Why is a token left unexpanded in the output?
Only canonical uppercase VAST 4.x macros are substituted. Anything else — a typo, a lowercase token, or a custom placeholder — is reported as unknown and passed through unchanged.
Does it URL-encode the values it substitutes?
It substitutes values literally so you can read the raw tokens. Real players percent-encode fields like [PAGEURL] and consent strings, so encode them yourself if your endpoint requires it.
Which VAST version are the macros based on?
The reference follows the IAB VAST 4.x macro set, including privacy macros such as [GDPR], [GDPRCONSENT], [US_PRIVACY], [GPP] and [GPPSID] introduced in recent versions.

Related tools

All ArrayKit tools