Reference · Display & Video 360 · Click macros

DV360 Click Macros: ${CLICK_URL} and Encoding Levels

Display & Video 360 uses ${...} tokens, not Google Ad Manager's %%...%% — and the token you need is decided entirely by how deep the click URL is nested. This is the position map, derived from Google's DV360 documentation.

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 (inside an already-encoded URL) ${CLICK_URL_ENC_ENC} Double-encoded
Cachebuster (anywhere a random value is needed) ${CACHEBUSTER}

Same counting rule as every ad server: zero URLs deep — macro first, landing URL after — is ${CLICK_URL}. One deep — the click URL rides as a query-param value inside another URL — is ${CLICK_URL_ENC}. Two deep is ${CLICK_URL_ENC_ENC}. Get the level wrong in either direction and the redirect chain mangles or drops the landing URL.

A correct DV360 tag

<!-- Image creative trafficked to Display & Video 360:
     ${CLICK_URL} as the URL prefix, right before the landing URL -->
<a href="${CLICK_URL}https://example.com/summer-lineup" target="_blank">
  <img src="https://cdn.example.com/creatives/summer-300x250.jpg"
       width="300" height="250" border="0" alt="Summer Lineup" />
</a>

<!-- Click URL handed to a vendor script as a query-param value:
     the single-encoded ENC form, plus the DV360 cachebuster -->
<script src="https://ad.example.net/serve.js?click=${CLICK_URL_ENC}&amp;cb=${CACHEBUSTER}"></script>

The wrong-platform trap

DV360 expands only its own documented ${...} tokens. Paste GAM's %%CLICK_URL_UNESC%%, Equativ's [countgo], or The Trade Desk's %%TTD_CLK%% into a tag destined for DV360 and the platform serves the token as literal text — the landing page usually still loads, so nothing looks broken, but every click goes unreported. That silence is the expensive part. CreativeValidator classifies any foreign click token as WRONG PLATFORM MACRO before the tag ships.

Source and verification

Primary source: Display & Video 360 macro documentation. These tokens are docs-derived: correct to Google's published DV360 documentation, but not behaviorally verified the way CreativeValidator's Google Ad Manager tokens are (those ran through a live GAM test network). Confirm in DV360 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 DV360 tag now →

Every rule cites its primary source — see the Policy Studio.

FAQ

What is the difference between ${CLICK_URL} and ${CLICK_URL_ENC}?

${CLICK_URL} is unencoded — a URL prefix directly before the landing URL, or standalone as the click value. ${CLICK_URL_ENC} is single-encoded, for a click URL that sits inside another URL's query-parameter value.

When do I need ${CLICK_URL_ENC_ENC}?

When the click URL is nested two redirects deep — inside a URL that is itself already percent-encoded. That is the double-encoded case.

Does DV360 have a cachebuster macro?

Yes — ${CACHEBUSTER}, wherever the tag needs a random value.

Are these DV360 macros behaviorally verified?

No — they are derived from Google's DV360 documentation. Only the GAM tokens are behaviorally verified against a GAM test network. Confirm in DV360 before launch.