ValidVisit judges every PropellerAds visit Valid or Invalid and pins it to the zone that sent it, worst first.
zone in PropellerAdsThe buyer pastes the list of bad zone IDs into the campaign’s Zone Limitation field set to Exclude (blacklist), or excludes individual subzones. Excluding a zone removes all of its subzones, and when a subzone is excluded PropellerAds moves the budget to the other subzones in the campaign.
PropellerAds is one of the largest self-serve networks for popunder, push and in-page push, now adding Telegram, social and DSP inventory, with a $100 minimum deposit and five pricing models including CPA Goal. It describes multi-layer filtering and says it removes 98% of non-human activity before the bid, but its terms make its own reporting final, give you three days to dispute and promise no credit for invalid traffic, so read visits per zone and subzone and exclude the weak ones. We don’t run PropellerAds campaigns ourselves; the facts below are PropellerAds’ own pages.
| Detail | |
|---|---|
| Formats | Popunder (Onclick), push and in-page push, Interactive Ads, Telegram Mini Apps, social, and DSP/oRTB. source |
| Pricing | CPM, CPC, SmartCPM, SmartCPC and CPA Goal; popunder runs on CPM, SmartCPM or CPA Goal. source |
| Minimum deposit | From $100, depending on the payment method (§4.5). source |
| Payment | Cards, Apple Pay, Google Pay, PayPal (3–5% fee), wire, UnionPay, Skrill and others. source |
| Service | Self-serve by default; a free managed service from the Gold level of its Priority Program. source |
| Targeting | Geo (with US states and cities), OS, browser, language, connection, VPN include or exclude, carrier, zone and subzone limits, dayparting, user activity and audiences. source |
| Blocking | Zone include or exclude, plus subzone limits for Onclick, in-page push and Interactive; excluding a subzone shifts budget to the others. source |
| Moderation | Manual, from a few minutes to 24 hours. source |
| Bot traffic | Multi-layer filtering “via Adex & Internal Shield”; it says it eliminates 98% of non-human activity pre-bid. source |
| Terms | Billing follows PropellerAds’ reporting, disputes are due within three days, and fraud is judged at its sole discretion; no invalid-traffic credit is promised (§4, §7). source |
| Refunds | Unused balance within 6 months, only above $200; bonus funds aren’t refunded (§17.5). source |
| Stopping | A campaign takes 15–20 minutes to stop, and late CPC clicks are still charged. source |
| Trustpilot | 2.5/5 from 300 reviews on 26 October 2026, polarized; recent reviews are mostly from advertisers. |
Checked against PropellerAds’s own pages on 2026-10-26. ValidVisit is independent of PropellerAds.
PropellerAds sells push and in-page push, Onclick popunder, Interactive Ads, Telegram Mini Apps ads, social and DSP/oRTB inventory, and delivers its own formats through ad zones. By its own definition a zone can be a website, a placement on a website, a partner traffic source or another ad network, so a single campaign buys from very different sources. PropellerAds says all of its traffic first passes an in-house bot detection system, with ADEX alongside it. ValidVisit adds the view from your own landing page: every visit is judged Valid or Invalid, with its evidence, and counted against the zone that sent it. The {zone_id} and {subzone_id} tokens keep every judged visit tied to the zone and subzone that sent it, so the output maps directly onto PropellerAds’ zone controls.
A campaign average can’t show where invalid visits come from. PropellerAds’ own guidance is that an offer performs very well on some zones and not at all on others, and that you exclude the zones that don’t deliver. The {zone_id} token is the first place to look: break the ValidVisit report down by zone and compare each zone’s invalid share with the campaign’s.
Subzone granularity compounds this. PropellerAds defines a subzone as a traffic segment of an ad zone that can contain different traffic sources, and the {subzone_id} token carries it. A zone that looks valid at parent level can carry one or two subzones producing most of the invalid activity, invisible unless you capture that second token. Not every zone has subzones, and traffic that isn’t assigned to one is grouped under “Other”, which can’t be switched off on its own.
Push has one more dimension. PropellerAds groups push users by activity: High for people who subscribed recently or click often, Medium for those who have been receiving notifications for a while, and Low for the largest and cheapest group. The {user_activity} token passes that level, so you can see whether invalid visits sit in one activity group.
When a zone delivers a large share of your visits and a high share of them are judged Invalid, that zone is the first candidate for Zone Limitation. Filter your ValidVisit report by {zone_id} to find these zones before drawing campaign-level conclusions. PropellerAds’ own statistics group by zone as well, so the IDs line up.
Capturing {subzone_id} alongside {zone_id} shows whether a zone’s problem runs across the zone or is confined to one traffic segment within it. A single subzone producing a well-above-baseline share of invalid visits is the signal to exclude that subzone, not the entire parent zone. Excluding a zone removes all of its subzones with it.
Read Onclick (popunder) campaigns the same way. Invalid verdicts concentrated at zone level support a targeted zone exclusion rather than a broad category pause. Subzone limitation is available on Onclick too, so the narrower cut applies there as well.
Invalid share broken down by:
{zone_id}Unique ID of the ad zone (site/source) where the ad is displayed.Invalid share broken down by:
{subzone_id}Unique ID of the subzone (more granular placement within an ad zone).Per-click id: PropellerAds passes a unique click id, and ValidVisit stores it with each visit, so a verdict traces back to the click in PropellerAds’s own reports.
Compare bot & invalid-traffic breakdown across every ad network →See your own PropellerAds sub-sources judged this way.
Each PropellerAds macro maps to a normalized parameter, so every judged visit is pinned to the right campaign, creative and publisher.
https://yoursite.com/landing?utm_source=propellerads&utm_medium=push&vv_click_id=${SUBID}&vv_campaign_id={campaign_id}&vv_publisher_id={zone_id}&vv_placement_id={subzone_id}&vv_creative_id={bannerid}| Token | PropellerAds macro | Maps to | Identifies |
|---|---|---|---|
| Click ID (SUBID) | ${SUBID} | click_id | click |
| Campaign ID | {campaign_id} | campaign_id | campaign |
| Zone ID | {zone_id} | publisher_id | publisher |
| Subzone ID | {subzone_id} | placement_id | placement |
| Banner / Creative ID | {bannerid} | creative_id | creative |
${SUBID}{campaign_id}{zone_id}{subzone_id}{bannerid}Macros checked against PropellerAds’s own documentation on 2026-10-02. PropellerAds docs
The verdict works the same way on every network. ValidVisit never changes your PropellerAds account: you make the exclusion there yourself. How the verdict works →
PropellerAds is one of the best-known self-serve ad networks, with published terms, a help center and manual moderation. Its terms make its own reporting final, give you three days to dispute and promise no invalid-traffic credit, so judge visits per zone and subzone and raise problems quickly.
{zone_id} and {subzone_id} work together in ValidVisit reporting for PropellerAds?PropellerAds documents {zone_id} as the unique ID of the ad zone where the ad is displayed and {subzone_id} as the unique ID of the subzone, when the zone has subzones. Passing both in your tracking link attaches both dimensions to every judged visit. Zone-level reporting can hide a subzone producing a disproportionate share of invalid visits, so you need both to make a precise exclusion rather than a broad one. ${SUBID} is PropellerAds’ click ID, the unique ID it uses for tracking conversions; pass it too, so each judged visit carries the ID PropellerAds knows that click by.
PropellerAds’ quality controls operate across its whole inventory pool: it says all traffic is checked in real time by its in-house bot detection, then reviewed again afterwards. That is a different job from judging the visits that reach your landing page. ValidVisit judges each of those visits Valid or Invalid and ties each verdict to the zone and subzone that generated it, with an audit trail independent of the network’s own reporting.
The same ValidVisit parameters work for both. PropellerAds lists the tokens available for each ad format and pricing model below the Target URL field on the campaign creation page, so check that the ones you use appear there. On push, the {zone_type} token passes the type of push (classic or in-page); add it as an extra parameter if you want to split verdicts by push type.
Yes, for Onclick, In-Page Push and Interactive formats: subzone limitation sits in the same targeting step as Zone Limitation, where you paste zone IDs with Exclude selected. Rule-Based Optimization, available in the settings when you create a CPC campaign, can also exclude a zone automatically once it meets a rule you set on spend, conversions, CPA, ROI, CR or CTR.
Weighing a blocker for push traffic? How ValidVisit compares to PureGuard, Adscore and Tracker bot filtering.
See which publishers and placements send real buyers vs bots — every visit judged Valid or Invalid, worst first.
Join the waitlist with just your email · 7-day trial at launch
One script · no cookies · no device IDs · raw IP never stored