The tokens, by position
| Position in the tag | Token | Encoding |
|---|---|---|
| URL prefix (directly before the landing URL) or standalone click value | ${CLICK_URL} |
None |
| Inside a URL query-param value | ${CLICK_URL_ENC} |
Single-encoded |
| Nested two redirects deep (double encoding) | ${URL_ENC(${CLICK_URL},2)} |
Function macro, encode count 2 |
| Cachebuster | ${CACHEBUSTER} (or ${AUCTION_ID}) |
— |
The one that trips people up is row three. Where DV360 has
${CLICK_URL_ENC_ENC}, Monetize instead exposes a
URL_ENC function macro that takes the value to encode and
an explicit encode count — so double encoding is written
${URL_ENC(${CLICK_URL},2)}, not a dedicated token. Monetize also accepts
${AUCTION_ID} as cachebusting entropy alongside
${CACHEBUSTER}.
A correct Monetize tag
<!-- Image creative trafficked to Xandr / Microsoft Monetize:
${CLICK_URL} as the URL prefix, right before the landing URL -->
<a href="${CLICK_URL}https://example.com/new-arrivals" target="_blank">
<img src="https://cdn.example.com/creatives/arrivals-300x250.jpg"
width="300" height="250" border="0" alt="New Arrivals" />
</a>
<!-- Click URL handed to a vendor script as a query-param value:
single-encoded ENC form; two redirects deep would use ${URL_ENC(${CLICK_URL},2)} -->
<script src="https://ad.example.net/serve.js?click=${CLICK_URL_ENC}&cb=${CACHEBUSTER}"></script>
The wrong-platform trap
Monetize expands only its own documented tokens. Paste GAM's
%%CLICK_URL_ESC%% or Adform's %%ec1%3Bcpdir= into a tag
destined for Xandr and the platform serves the token as literal text —
the creative renders, the landing page loads, and every click vanishes from reporting
without a single error. And because the base tokens happen to match DV360's spelling, the
reverse mistake is just as quiet: a Monetize-style
${URL_ENC(${CLICK_URL},2)} means nothing to DV360. CreativeValidator
classifies any foreign click token as WRONG PLATFORM MACRO so the gap is
caught pre-flight.
Source and verification
Primary source: Xandr / Microsoft Monetize supported creative macros documentation. These tokens are docs-derived: correct to Microsoft's published documentation, but not behaviorally verified the way CreativeValidator's Google Ad Manager tokens are (those ran through a live GAM test network). Confirm in Monetize before launch.
Paste your tag — the validator renders it and tells you if clicks will actually track: native macro, unfilled placeholder, wrong-platform token, or hardcoded URL.
Test a Xandr tag now →Every rule cites its primary source — see the Policy Studio.
FAQ
Does Monetize have a CLICK_URL_ENC_ENC macro?
No. Monetize documents no _ENC_ENC token — double encoding uses the
URL_ENC function macro with an explicit encode count:
${URL_ENC(${CLICK_URL},2)}.
Which macro goes directly before the landing URL?
${CLICK_URL}, as a URL prefix or standalone click value.
${CLICK_URL_ENC} is the single-encoded form for query-param placement.
Can ${AUCTION_ID} be used for cachebusting?
Yes — ${CACHEBUSTER} is the standard cachebuster, and
${AUCTION_ID} is also accepted as cachebusting entropy.
Are Xandr and DV360 click macros interchangeable?
The base tokens share spelling, but the platforms diverge on double encoding, and each expands only what its own docs define. Validate against the destination platform every time.