All networks
Ad

Adskeeper tracking tokens & macros

Adskeeper buys clicks across a wide pool of native widgets, so two clicks from the same campaign can come from very different publishers. Appending these macros to your landing-page URL lets ValidVisit attribute every click back to its exact widget, then score that traffic 0-100 for quality so you can see which widgets are sending real readers and which are sending invalid traffic.

Verified 2026-06-29Confirmed against the network's official documentation. Adskeeper official docs

On Adskeeper, attribution rides on a handful of URL parameters the platform fills in at click time. The one that matters most for sourcing is {widget_id}, the publisher widget the click came from, and you'll usually pair it with {campaign_id} and {teaser_id} so you can split performance by campaign and creative too. The required token is {click_id}, Adskeeper's auto-generated unique id for each click, which gives ValidVisit a stable key to tie a click to its widget even when everything else looks identical. These are plain query parameters in curly-brace format, no funnel hop or extra hop needed; Adskeeper substitutes the real values as the visitor lands.

Per-widget granularity is the whole point, because Adskeeper's value lives at the widget level, not the campaign level. Once every click is tied to its {widget_id}, ValidVisit reports a 0-100 quality score for each widget so you can see exactly which publishers are padding your numbers with bots and IVT. ValidVisit only scores and reports, post-arrival, after the click has already landed; it never blocks anything. Acting on it is a manual step you take in Adskeeper: open the campaign's Widgets tab and Stop / Block the widgets that score badly, or blacklist the whole site if it's a repeat offender.

Campaign IDcampaign
Adskeeper macro
{campaign_id}
ValidVisit param
vv_campaign_id
Example
55501
Teaser (Creative)creative
Adskeeper macro
{teaser_id}
ValidVisit param
vv_creative_id
Example
99012
Widget (Publisher)publisher
Adskeeper macro
{widget_id}
ValidVisit param
vv_publisher_id
Example
33044
Click ID *click
Adskeeper macro
{click_id}
ValidVisit param
vv_click_id
Example
ck_77

* required for Adskeeper attribution.

Ready-to-use tracking URL
https://yoursite.com/landing?utm_source=adskeeper&utm_medium=native&vv_campaign_id={campaign_id}&vv_creative_id={teaser_id}&vv_publisher_id={widget_id}&vv_click_id={click_id}
Found a bad widget? Exclude it in Adskeeper

ValidVisit scores each widget_id; stop the bad widgets in Adskeeper's Widgets tab (or blacklist the whole site).

campaign Widgets tab → Stop / Block widget

Adskeeper tracking token FAQs

Which Adskeeper token identifies the sub-source I should be watching?

{widget_id}. It maps each click to the specific publisher widget that served your teaser, which is the unit you can actually act on in Adskeeper. {campaign_id} and {teaser_id} add campaign- and creative-level context, but {widget_id} is what ties a quality score to a sub-source you can stop.

Do I need a funnel hop or tracking link to use these macros?

No. These are ordinary URL query parameters in Adskeeper's curly-brace format, like {widget_id} and {click_id}. You add them to your destination URL and Adskeeper replaces them with the real values on each click. There's no funnel hop, no extra hop, and {click_id} is required so every click carries a unique id.

Does ValidVisit block bad widgets automatically?

No. ValidVisit attributes each click to its {widget_id} and reports a 0-100 quality score after the click arrives. Excluding traffic stays in your hands: open the campaign's Widgets tab in Adskeeper and Stop / Block the low-scoring widgets, or blacklist the whole site if needed.

Track Adskeeper clicks — and catch the fake ones.

See which Adskeeper publishers and placements send real, converting traffic vs. bots.

Just your email · no card · unsubscribe anytime · privacy policy

Free trial at launch · lock in early-access pricing

One script · raw IP never stored · GDPR legitimate-interest basis