ROIads
PushPop / Pop-under
Push channel · judged Valid or Invalid

Which ROIads sources send bot traffic?

Judge every ROIads visit by {publisher_id} and {site_id}. Find the placements behind weak push and pop volume before you set the Sources Blacklist.

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

Not ready? Estimate your invalid clicks →
validvisit · roiads cut-list
Exclude the bad source in ROIads

The buyer pastes the bad source IDs into the campaign’s Sources Blacklist field in Advanced Settings (or restricts delivery to a whitelist of good ones), optionally using per-source micro bidding to down-bid instead of fully cutting a source.

Where: Campaign settings > Advanced Settings, unlocked in campaign edit mode after the campaign is created (docs: "Sources Whitelist/Blacklist: Control which sources can or cannot show your ads"); the Campaigns section of the advertiser dashboard also surfaces per-source stats for building that list
Controls in ROIads’s campaign settings
✓ IP lists✓ OS✓ OS version✓ Browser✓ Browser version✓ Language✓ Device✓ Connection
6
ROIads macros mapped to report columns
2
sub-source levels judged
no-hop
one script, nothing added to the click path
Valid / Invalid
a verdict on every visit
01 / SIGNAL

How bot traffic slips in through ROIads sources.

ROIads sells push and pop inventory and reports it at two levels: a {publisher_id} naming the supply partner behind a click and a {site_id} naming the individual placement inside it, alongside {click_id}, {campaign_id}, {campaign_name} and {creative_id}. The second level is what makes the network tractable, because push quality is rarely uniform across a partner — subscriber lists are assembled placement by placement, and each one’s quality follows how it was collected. Push clicks also give little to judge them by on the surface: the visitor arrived from a notification, didn’t go looking for your offer, and a short session is the norm. A verdict attributed down to the {site_id} is what separates a low-intent but real subscriber from an automated click that arrived the same way.

On push inventory the root variable is how a subscriber list was built. Lists assembled from genuine opt-ins on real sites produce people who are often uninterested but unambiguously people. Lists seeded through incentivised prompts, deceptive permission dialogs or automated subscription produce volume that looks identical in the platform’s reporting and behaves nothing alike on arrival. Because a placement’s collection method tends to stay the same, a {site_id} judged invalid usually keeps being judged invalid, which makes cutting it unusually safe.

The second pattern is partner averages concealing placement problems. A {publisher_id} bundles many placements, and a partner whose aggregate invalid share sits near your baseline often holds one or two {site_id} values carrying nearly all of its invalid volume. Acting at the partner level then means choosing between losing good inventory and keeping bad — so on ROIads the useful decisions live at the placement tier.

What to watch on ROIads

Invalid share across {site_id} within one {publisher_id}

Group your report by {publisher_id}, then break each partner down by {site_id}. A partner whose overall invalid share looks acceptable while its volume concentrates in a few very weak placements is the standard shape, and it argues for placement-level entries in the Sources Blacklist rather than cutting the partner.

Verdict consistency per placement over time

A {site_id} that has been judged invalid across several weeks has a structural collection problem and is safe to cut. One that degrades suddenly is worth a closer look first — the list may have been topped up from a different source.

Whether micro bidding is the proportionate response

A placement whose visits are mostly judged Valid but convert poorly is sending real subscribers with weak intent, and per-source micro bidding keeps the reach at a price that reflects it. A high invalid share means automation, where a lower bid buys the same thing cheaper and the blacklist is the right lever.

02 / VERDICTS

What ROIads lets you judge by.

Publisher / site / zone

Invalid share broken down by:

  • Publisher ID {publisher_id}
Placement / widget

Invalid share broken down by:

  • Site ID {site_id}

Per-click id: ROIads passes a unique click id, and ValidVisit stores it with each visit, so a verdict traces back to the click in ROIads’s own reports.

Compare bot & invalid-traffic breakdown across every ad network →

See your own ROIads sub-sources judged this way.

03 / ATTRIBUTION

How ValidVisit attributes ROIads traffic

Each ROIads macro maps to a normalized parameter, so every judged visit is pinned to the right campaign, creative and publisher.

validvisit · tracking url
Tracking URL for ROIads, ready for ValidVisit
https://yoursite.com/landing?utm_source=roiads&utm_medium=push&vv_click_id={click_id}&vv_campaign_id={campaign_id}&vv_campaign_name={campaign_name}&vv_publisher_id={publisher_id}&vv_placement_id={site_id}&vv_creative_id={creative_id}
Click ID
ROIads macro
{click_id}
Maps to
click_id
Identifies
click
Campaign ID
ROIads macro
{campaign_id}
Maps to
campaign_id
Identifies
campaign
Campaign Name
ROIads macro
{campaign_name}
Maps to
campaign_name
Identifies
campaign
Publisher ID
ROIads macro
{publisher_id}
Maps to
publisher_id
Identifies
publisher
Site ID
ROIads macro
{site_id}
Maps to
placement_id
Identifies
placement
Creative ID
ROIads macro
{creative_id}
Maps to
creative_id
Identifies
creative

Macros not yet checked against ROIads’s documentation. ROIads docs

The verdict works the same way on every network. ValidVisit never changes your ROIads account: you make the exclusion there yourself. How the verdict works →

FAQ

ROIads traffic quality, answered.

Where is the Sources Blacklist in ROIads?

In the campaign’s Advanced Settings, which only unlock in campaign edit mode after the campaign has been created — the field isn’t there while you set a campaign up for the first time, so create it, then edit it. Paste the bad source IDs into the Sources Blacklist, or restrict delivery to a whitelist of good ones. The Campaigns section of the advertiser dashboard shows per-source stats for building the list, and per-source micro bidding lets you down-bid instead of cutting a source.

Push subscribers never asked for my offer. Is any push traffic ‘valid’?

Yes, and keeping those ideas apart is the point. A visit is valid if a real person on a real device arrived through a legitimate path — not if they wanted your offer. A genuine subscriber who taps a notification out of mild curiosity and leaves after ten seconds is a valid visit that didn’t convert; that is a targeting and offer question. An automated click from a seeded list is invalid, and no creative change will fix it. The remedies are opposite.

Which ROIads tokens give the most useful segmentation in ValidVisit?

The pairing of {publisher_id} and {site_id}: the first names the supply partner, the second the placement, and it is almost always the placement that isolates something worth acting on. Both are dimensions the Sources Blacklist and micro bidding work on. {click_id} gives per-click identity, ties a judged visit back to the ROIads click record, and is what a server-to-server conversion postback rides on. {creative_id} lets you rule out the creative before blocking a placement, and {campaign_name} makes reports readable without a lookup.

Which targeting controls does ROIads offer?

IP, operating system and OS version, browser and browser version, language, device and carrier/connection targeting are all documented.

Detect fraud on other push networks

Weighing a blocker for push traffic? How ValidVisit compares to PureGuard, Adscore and Tracker bot filtering.

zone 447171% invalid
zone 339123% invalid
zone 12082% invalid

Find the bots in your ROIads spend.

See which publishers and placements send real buyers vs bots — every visit judged Valid or Invalid, worst first.

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