All networks
Adsterra logo
Tracking reference · Pop / Pop-under

Adsterra tracking tokens & macros

Adsterra exposes a set of double-hash macros you drop straight into your landing-page link. Append the macros below and every click arrives at ValidVisit already stamped with the exact placement it came from, so we can attribute the visit to the right Adsterra placement and judge it Valid or Invalid, with its evidence.

Cross-check any macro against the network’s official documentation. Adsterra official docs →

4
Adsterra macros mapped to attribution
2
required for attribution
no-hop
one script, no link rewriting
Valid / Invalid
a verdict on every visit

On Adsterra the macro that ties a click back to the source you actually care about is ##PLACEMENT_ID##, which identifies the specific placement serving your ad; ##BANNER_ID## narrows it further down to the creative, while ##CAMPAIGN_ID## keeps everything grouped by campaign. The ##SUB_ID_SHORT(action)## macro, obligatory on CPA campaigns, carries Adsterra's own click identifier, so each visit lands with a unique click id plus its placement attached. Note the format quirk: every Adsterra macro is wrapped in double hashes (##...##), which Adsterra says are part of the macro, and these are plain URL parameters, so nothing here needs a funnel hop or an extra hop.

Once each click is tied to its ##PLACEMENT_ID##, the data stops being a vague campaign-level average and becomes per-placement. ValidVisit judges each visit after the click arrives, so when a placement keeps sending invalid traffic or bots, you see exactly which placement is responsible and can act on it yourself: open the Statistics page, pick the campaign, group by Placement and switch off the State toggle for the offending placement IDs, or add them to the Blacklist in the campaign's Advanced Settings. ValidVisit flags them, but the exclusion is always a manual step you take in Adsterra's own dashboard.

MACRO MAP

Adsterra macro → ValidVisit param

Click ID (Sub ID) *click
Adsterra macro
##SUB_ID_SHORT(action)##
ValidVisit param
vv_click_id
Example
a1b2c3d4e5f6
Campaign ID *campaign
Adsterra macro
##CAMPAIGN_ID##
ValidVisit param
vv_campaign_id
Example
1843217
Placement IDplacement
Adsterra macro
##PLACEMENT_ID##
ValidVisit param
vv_placement_id
Example
5582910
Banner ID (Creative)creative
Adsterra macro
##BANNER_ID##
ValidVisit param
vv_creative_id
Example
990321

* required for Adsterra attribution.

TRACKING URL

Ready-to-use Adsterra tracking URL

adsterra tracking URL
https://yoursite.com/landing
?utm_source=adsterra
&utm_medium=pop
&vv_click_id=##SUB_ID_SHORT(action)##
&vv_campaign_id=##CAMPAIGN_ID##
&vv_placement_id=##PLACEMENT_ID##
&vv_creative_id=##BANNER_ID##

Append these params to your landing-page URL — Adsterra fills the macros at click time, so every visit arrives attributed and ready to judge. No funnel hop.

Using Adsterra tokens?

See which Adsterra sources send bots.

  • Every visit judged Valid or Invalid, worst source first.
  • Attributed through the Adsterra tokens above, down to the placement.
  • Works beside your tracker, with nothing added to the click path.

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

Adsterra traffic quality →
deal-alerts.example71% invalid
zone 447123% invalid
premium-news.example2% invalid
WHAT IT JUDGES BY

What Adsterra tokens let you break bots down by

Breakdown the tokens allow
  • Placement ID — ID of the actual traffic source / placement where the ad was shown.

Carries a per-click id, stored with each visit so a verdict traces back to the click.

Where you can act, in Adsterra
  • IP exclusionnot offered
  • Device targetingdocumented
  • OS targetingdocumented
  • Browser targetingdocumented
  • Connection typedocumented
  • Languagedocumented

Tokens last verified against Adsterra’s docs on 2026-10-02.

Found a bad placement? Exclude it in Adsterra

The buyer either toggles the State switch OFF next to underperforming placement IDs on the Statistics page (bulk actions supported), or pastes the comma-separated placement IDs into the Blacklist field in the campaign’s Advanced Settings (also possible in bulk via API v3).

Statistics page → filter by campaign → Group by: Placement → State column toggle; or campaign create/edit → Advanced Settings → Blacklist/Whitelist field
FAQ

Adsterra tracking token FAQs

Which Adsterra token identifies the placement I should judge?+

##PLACEMENT_ID## is the one that names the specific placement serving your ad. Pair it with ##BANNER_ID## if you want to drill down to the creative level, and keep ##CAMPAIGN_ID## so everything stays grouped by campaign.

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

No. The Adsterra macros (##SUB_ID_SHORT(action)##, ##CAMPAIGN_ID##, ##PLACEMENT_ID## and the rest) are plain URL parameters appended to your destination link. There is no funnel hop, no extra hop, and no script to install.

Where do I add the macros and where do I block bad placements?+

Add the macros to the Landing URL when you set up or edit the campaign in Adsterra. When ValidVisit flags a placement sending invalid traffic, open the Statistics page, pick the campaign, group by Placement and switch off the State toggle next to those placement IDs, or paste them, comma-separated, into the Blacklist in the campaign's Advanced Settings.

Is Adsterra traffic real? See how ValidVisit judges every Adsterra visit for bot traffic.
deal-alerts.example71% invalid
zone 447123% invalid
premium-news.example2% invalid

Judge every Adsterra visit — and find the fake ones.

See which Adsterra publishers and placements send real buyers vs. bots.

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

Join the waitlist with just your email · 7-day trial at launch

One script · no cookies · no device IDs · raw IP never stored