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
- Expand every IAB VAST 4.x macro in a pasted impression, tracking, or error URL
- Auto-generates a random [CACHEBUSTING] number and an ISO 8601 [TIMESTAMP] at fire time
- Editable rows let you override any detected macro with your own value
- Regenerate button re-rolls the dynamic cache-buster and refreshes the timestamp
- Flags bracketed tokens that are not VAST macros and leaves them untouched
- Searchable reference for macros like [IFA], [GDPRCONSENT], [GPP] and [ADCOUNT]
- Copy the whole expanded URL or any single macro token with one click
- Runs entirely in your browser — pasted tags and consent strings stay on your device
How to use the VAST Macro Expander
- Keep the Expand URL tab selected
- Paste a tracking or impression URL that contains VAST macros
- Edit any detected macro value, or hit Regenerate for a fresh cache-buster and timestamp
- 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
- The fired URL still shows [SOMETHING] unchanged. — That token is not a recognised VAST 4.x macro, so it is left intact. Macros are uppercase, like [CACHEBUSTING] — check the spelling and case, or type the value in yourself.
- The consent string or page URL looks broken when I open the expanded link. — Players URL-encode values such as [GDPRCONSENT] and [PAGEURL] before firing. This preview substitutes them literally, so percent-encode them yourself if your endpoint expects it.
- My cache-buster is the same on every preview. — The preview seeds one value per URL. Click Regenerate to roll a new random [CACHEBUSTING] and refresh the [TIMESTAMP].
- The ad server ignores my [IFA] value. — [IFA] should be paired with [IFATYPE] and only sent when limit-ad-tracking allows it. Confirm the device actually passed an identifier before the macro is populated.
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