source in RichAdsValidVisit ranks the bad source ids; add them to RichAds' campaign blacklist (or an auto-rule).
RichAds operates one of the larger push notification ecosystems, connecting advertisers to subscriber lists assembled by a global publisher network. The channel's mechanics create a specific IVT exposure that search and social don't share: clicks don't originate from a live browsing session but from a push delivery, which means the subscriber relationship — and who built that list — matters more than the referring URL. A publisher that drove bot or incentivized opt-ins to inflate list size will silently absorb budget across every campaign that touches it, because the problem is baked into the list itself rather than a single bad placement.\n\nValidVisit integrates with RichAds by reading the network's native tracking tokens — `[CLICK_ID]`, `[PUBLISHER_ID]`, `[SITE_ID]`, and `[SUB_LIST_ID]` — on each click. After a click arrives, ValidVisit weighs it against 100+ independent data points — where it came from, the device behind it, and how the visitor behaves — and folds them into a single 0–100 quality score, so real people pass and bots stand out. Because that score travels with the network's own token values, a low-scoring click ties straight back to the exact subscriber list and publisher responsible — not just a vague traffic segment. The result is a report layer that tells you precisely which sub-sources to exclude manually in the RichAds campaign dashboard.
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]Push notification IVT on RichAds tends to enter through the subscriber acquisition layer rather than through click manipulation at delivery time. Because publishers self-report list quality and RichAds pays on a performance or CPM basis, there is economic pressure to grow list sizes quickly — and bot or low-intent opt-ins are the fastest path. Once a degraded subscriber enters a list, every campaign using that list pays for the resulting clicks indefinitely.\n\nWhere push clicks tend to give themselves away is the origin behind the connection. Traffic routed through server-farm infrastructure or residential proxy pools — the kind of relays bad actors lean on to dress up a click as a real consumer device in a premium location — looks different from a genuine subscriber tapping a notification. Those differences are part of what feeds the quality score, so geographic spoofing surfaces even when the declared GEO looks perfectly plausible.\n\nA second pressure point is what happens once the click lands. Push clicks open a page straight from the OS notification layer, and a meaningful share of automated activity never behaves the way a real visitor on a real device would once that page loads. ValidVisit measures how the arrival actually unfolds rather than trusting the click at face value, and when a click that looks active behaves nothing like a human session, that gap is part of what pushes the score toward the high-risk end.\n\nThe granularity that distinguishes RichAds from most other push networks is the `[SUB_LIST_ID]` token. A single publisher may manage several subscriber lists that were built at different times, through different acquisition channels, with very different quality outcomes. ValidVisit maps its scores to the sub-list dimension, so a degraded list can be identified and excluded without penalizing other lists the same publisher operates that may be delivering clean traffic.
Review score distributions at the publisher level. Publishers where a disproportionate share of clicks land in the lowest quality-score bands warrant closer scrutiny — the pattern often reflects a subscriber acquisition method that favored volume over intent. Blacklisting a publisher ID in RichAds campaign settings removes that source from all future delivery.
Watch for Site IDs that deliver a concentration of clicks well above what impression pacing would predict, especially when dwell time and downstream engagement are both near zero. Sudden velocity spikes on a site that previously showed normal cadence are a common signal of automated click activity, not audience behavior.
Push subscriber lists do not stay static — publishers can add opt-ins continuously, and list quality can erode as lower-quality sources are mixed in over time. Track quality scores by `[SUB_LIST_ID]` across rolling periods so you catch degradation in a list that looked acceptable at campaign launch. A list whose scores trend downward over time warrants pausing even if the parent publisher still looks clean overall.
RichAds spans Tier 1 and emerging-market GEOs. When clicks attributed to a publisher claiming premium GEO traffic consistently score low because the connection behind them traces to server-farm or proxy infrastructure rather than a genuine device footprint, that publisher is likely sourcing reach through IP-masking relays. This mismatch appears at the publisher and site level and is worth cross-referencing with the sub-list dimension before excluding.
Each RichAds macro maps to a normalized parameter, so every scored click is pinned to the right campaign, creative and publisher.
| Token | RichAds macro | Maps to | Identifies |
|---|---|---|---|
| Click ID | [CLICK_ID] | click_id | click |
| Campaign ID | [CAMPAIGN_ID] | campaign_id | campaign |
| Campaign Name | [CAMPAIGN_NAME] | campaign_name | campaign |
| Creative ID | [CREATIVE_ID] | creative_id | creative |
| Publisher ID | [PUBLISHER_ID] | publisher_id | publisher |
| Site ID | [SITE_ID] | placement_id | placement |
| Subscriber List ID (RichPush) | [SUB_LIST_ID] | adset_id | adset |
[CLICK_ID][CAMPAIGN_ID][CAMPAIGN_NAME][CREATIVE_ID][PUBLISHER_ID][SITE_ID][SUB_LIST_ID]RichAdsitself isn’t the problem — bots and invalid traffic concentrate in a handful of its sub-sources: the publisher, site or zone, and the placement or widget within it. So we roll the score up by those RichAds tokens, not by creative (which says nothing about whether a click was human).
Illustrative example — RichAds traffic scored 0–100 per sub-source, worst first.
See your own RichAds sub-sources scored this way.
Bot / invalid-traffic score broken down by:
[PUBLISHER_ID]Returns a unique ID of the publisher (a publisher can contain several websites).Bot / invalid-traffic score broken down by:
[SITE_ID]Returns a unique website ID (a specific site/placement belonging to a publisher).Per-click id: RichAds passes a unique click id, so we also run velocity, deduplication and repeat-source checks on every click.
Compare bot & invalid-traffic breakdown across every ad network →Every click is weighed against more than a hundred independent data points and reduced to a single, sortable 0–100 quality score.
Each data point is combined rather than checked in isolation, so a genuine human almost never trips enough of them to be flagged — and bots that beat one rarely beat the rest.
The detection model is ours and stays that way. What you get is a clear verdict on every click — not a single brittle rule you can game, and not an unexplained number you can't act on.
Every verdict maps to the campaign, publisher and placement that sent the click — so you know exactly which source to cut.
ValidVisit scores every click and ties that 0–100 quality score to the contributing token values — `[PUBLISHER_ID]`, `[SITE_ID]`, `[SUB_LIST_ID]` — on each scored event. The exclusion step is manual: you take the publisher or site IDs that ValidVisit surfaces as low-scoring and paste them into the blacklist fields inside your RichAds campaign settings. ValidVisit does not push those exclusions to the network automatically. That manual step is what removes those sub-sources from future delivery — ValidVisit's role is to give you the precise IDs and the evidence to act on.
Yes, because publisher-level filtering is a blunt instrument on RichAds. A single publisher can operate multiple subscriber lists built through different acquisition channels — some clean, some not — and a publisher-level block discards all of them without distinction. The `[SUB_LIST_ID]` token lets ValidVisit score at the layer below the publisher, so you can remove a specific degraded list while continuing to receive traffic from the same publisher's other lists. For campaigns where scaling clean push volume matters, that granularity is often the difference between a useful exclusion and an over-aggressive one.
Push traffic is list-driven rather than placement-driven. On pop or banner formats the click originates from a live browsing context, so what the visitor does on the page once they arrive carries a lot of weight in the score. On push, the click arrives from the OS layer and may involve a device with no active browsing session at all, which shifts the diagnostic weight toward the origin behind the connection — where it came from and whether that path looks like a real consumer or a masking relay — rather than on-page behavior. The 100+ data points feed the same 0–100 score regardless of format, but the high-risk push clicks on RichAds tend to be flagged for infrastructure-level anomalies more often than for anything happening in the browser once the page loads.
See which campaigns and publishers send real, converting traffic vs bots — every click scored 0–100.
Free trial at launch · lock in early-access pricing
One script · raw IP never stored · GDPR legitimate-interest basis