RichAds buys are pushed across thousands of publisher sources, so spend that looks fine at the campaign level can hide wildly different traffic underneath. Appending these macros to your landing-page URL lets ValidVisit attribute every click back to its exact source id, then score it 0-100 for traffic quality so you can see which sources are actually sending real users.
On RichAds, attribution rides on the bracketed macros the network fills in at click time. The required [CLICK_ID] stamps each click with RichAds' own unique click identifier so ValidVisit can match it one-to-one, and [CAMPAIGN_ID] keys it to the buy. The tokens that matter for cleanup, though, are [PUBLISHER_ID] and [SITE_ID], which carry the publisher source the traffic came from, alongside optional context like [CREATIVE_ID] and, on RichPush, [SUB_LIST_ID] for the subscriber list. Note the format quirk: RichAds macros are all-caps inside square brackets, so they must be pasted exactly as written or the network won't replace them.
This matters because campaign-level numbers average good and bad sources together. Once each click is tied to its source id, ValidVisit ranks the worst-performing sources by IVT — and the call to action is yours to make: take the bad source ids and add them to the campaign's Black/White lists (or an auto-rule) inside RichAds. ValidVisit only reports and scores the traffic after it arrives; it never blocks anything and never edits your campaigns. The actual exclusion happens manually in your own RichAds dashboard, and the blame sits with the offending source, not with RichAds.
| Token | RichAds macro | ValidVisit param | Example |
|---|---|---|---|
| Click ID *click | [CLICK_ID] | vv_click_id | [CLICK_ID] |
| Campaign ID *campaign | [CAMPAIGN_ID] | vv_campaign_id | 1234567 |
| Campaign Namecampaign | [CAMPAIGN_NAME] | vv_campaign_name | My_Push_Campaign |
| Creative IDcreative | [CREATIVE_ID] | vv_creative_id | 987654 |
| Publisher IDpublisher | [PUBLISHER_ID] | vv_publisher_id | 55012 |
| Site IDplacement | [SITE_ID] | vv_placement_id | 778899 |
| Subscriber List ID (RichPush)adset | [SUB_LIST_ID] | vv_adset_id | 44021 |
[CLICK_ID]vv_click_id[CAMPAIGN_ID]vv_campaign_id[CAMPAIGN_NAME]vv_campaign_name[CREATIVE_ID]vv_creative_id[PUBLISHER_ID]vv_publisher_id[SITE_ID]vv_placement_id[SUB_LIST_ID]vv_adset_id* required for RichAds attribution.
https://yoursite.com/landing?utm_source=richads&utm_medium=push&vv_click_id=[CLICK_ID]&vv_campaign_id=[CAMPAIGN_ID]&vv_campaign_name=[CAMPAIGN_NAME]&vv_creative_id=[CREATIVE_ID]&vv_publisher_id=[PUBLISHER_ID]&vv_placement_id=[SITE_ID]&vv_adset_id=[SUB_LIST_ID]ValidVisit ranks the bad source ids; add them to RichAds' campaign blacklist (or an auto-rule).
The publisher source is carried by [PUBLISHER_ID] and [SITE_ID]. ValidVisit ties each click to that source id and ranks the ones sending invalid traffic, so you know exactly which entries to put on your campaign Black/White lists. [CLICK_ID] and [CAMPAIGN_ID] are the required macros that let us match every click back to its campaign.
No. These are plain URL parameters appended to your destination URL. RichAds substitutes the bracketed macros at click time and the values land directly in ValidVisit — there is no funnel hop, no extra hop, and no separate tracker required.
Add the macros to your campaign's target URL in RichAds, keeping each one in its exact all-caps bracketed form. ValidVisit then scores the incoming traffic 0-100 per source. To act on a bad source you add it manually to the campaign Black/White lists (or an auto-rule) in your RichAds dashboard — ValidVisit reports and scores only, it does not exclude anything for you.
See which RichAds publishers and placements send real, converting traffic vs. bots.
Free trial at launch · lock in early-access pricing
One script · raw IP never stored · GDPR legitimate-interest basis