${MACRO}
Display & Video 360 Macros
DV360 uses dollar-brace syntax rather than Ad Manager's double percent signs, which catches out anyone moving between the two Google platforms in the same afternoon. It also exposes consent and app-identity macros that the ad-server side does not.
Click tracking
| Macro | Expands to |
|---|---|
| ${CLICK_URL} | The DV360 click-tracking URL. |
| ${CLICK_URL_ENC} | The click-tracking URL, encoded once. |
| ${CLICK_URL_ENC_ENC} | The click-tracking URL, double-encoded. |
| ${CLICK_POINTROLL} | Click tracking formatted for PointRoll tags. |
Uniqueness
| Macro | Expands to |
|---|---|
| ${CACHEBUSTER} | A random number, to stop a cached ad being served on a repeat visit. |
| ${AUCTION_ID} | A unique ID for the specific auction.Better than the cachebuster for reconciliation, since it is unique per impression rather than per bid response. |
App and consent
| Macro | Expands to |
|---|---|
| ${BUNDLE_ID} | The app's platform-specific ID — Android package name or iOS numeric ID. |
| ${GDPR} | 0 outside a GDPR region, 1 inside one. |
| ${GDPR_CONSENT_xxxxx} | The TC string for the vendor ID substituted for xxxxx. |
| ${ADDTL_CONSENT} | A dot-separated list of consented Google Ad Tech Provider IDs. |
The one that catches people out
Do not reuse an Ad Manager tag's macros in DV360 or the reverse. The platforms are both Google but the syntax does not overlap: %%CLICK_URL_UNESC%% will pass through a DV360 creative untouched, arriving at the publisher as a literal string. If a click tracker is not firing and the tag looks correct, check that the macro style matches the platform serving it.
To check how many times a value has been encoded before trafficking it, the URL encoder and decoder reports encoding depth — which is usually faster than testing an impression to find out.
Verified against Display & Video 360 Help — Supported macros on 30 July 2026. Platforms change macros without notice — check the source before relying on this for a live campaign.