Playbook · reference

How to block bad sources on every ad network

Finding the zone, site or widget that sends bots is half the job; the other half is knowing where the network lets you cut it. This is that half for 67 networks: what you can block, where, and the limits, checked against each network’s own advertiser docs.

01 /

Why the blockable unit matters

Every network lets you exclude something, but not the same thing. A push network that blocks by zone lets you cut one placement on one site; a network that only blocks by source or feed makes you drop every site behind it; a walled platform may give you no sub-source block at all. The unit decides how precisely you can remove bad traffic without losing the good traffic next to it.

Limits matter as much. Taboola caps a campaign at 1,500 blocked sites and MGID imports at most 1,000 widgets at a time, so on a large campaign you block the worst sources first, not every weak one. That is why the order in which you find them matters.

02 /

What each network lets you block

Native networks

TaboolaTaboolablocks by site

Where: Campaign Set-Up page → Advanced Options → "Block Sites" (also blockable from the Sites report, via automated Custom Rules on the Sites dimension, and by SpendGuard auto-blocking)

The buyer takes the unique site names from their Realize Sites report and adds them to the campaign’s Block Sites list (Advanced Options, or in bulk via Excel/Backstage API), capped, by advertisers' reports, at 1,500 blocked/targeted sites per campaign and 1,500 at account level.

Taboola invalid traffic →Step-by-step guide →

OutbrainOutbrainblocks by publisher / section

Where: Amplify dashboard: campaign "By Publisher" / "By Section" view → check rows → Actions → Exclude; or campaign settings (pencil icon) → "Exclude Publishers and Sections" box; bulk via Import → Excludes (CSV of Section IDs)

The buyer checks the bad publishers/sections in the campaign’s By Publisher/By Section report and applies Actions → Exclude (temporary for 7, 14, 21 or 30 days or a custom length, or permanent), or bulk-uploads a CSV of section IDs via the Import → Excludes option (CSV exclusions are permanent). Outbrain allows up to 30 blocked publishers and 100 blocked sections per campaign.

Outbrain invalid traffic →

MGIDMGIDblocks by source (new campaigns) or widget

Where: Campaign → Widget optimization tab (MGID Ads dashboard), or the Sources Optimization tab on campaigns created with Sources Optimization (an option when creating a campaign); also Rules-Based Optimization for auto-blocking

Buyer checks the offending widget UIDs in the Widget optimization tab and clicks the pause icon to exclude them, or bulk-uploads a CSV of UIDs via Import → Widget Blocklist (max 1,000 widgets per import). On a campaign with Sources Optimization the buyer turns the source OFF in the Sources Optimization tab, which adds it to that campaign’s Sources Blocklist.

MGID invalid traffic →Step-by-step guide →

RevcontentRevcontentblocks by widget

Where: Campaign > Widget Targeting section (scroll right on a widget row > "blocklist"); bulk via the advertiser API’s "Add Blacklist Widget" call (comma-separated widget IDs, per campaign); blocks reviewable in the "Widget Blocklists" tab (added Jan 2024)

The buyer finds each bad widget ID in Widget Targeting and blocks it at either campaign level or account-wide, or sends a comma-separated list of widget IDs for one campaign through the API’s “Add Blacklist Widget” call. A blocked widget ID included in a later bid CSV upload is unblocked.

Revcontent invalid traffic →

MediaGoMediaGoblocks by site

Where: Site block lists at campaign level and at account level, managed through the official "Sites Block Management" API group — "Block/Unblock Sites at Campaign" + "Get Campaign Block List", "Block/Unblock Sites at Account" + "Get Account Block List"

The buyer adds each bad site’s site_id and domain name to the campaign’s or the account’s block list (op=0 block / op=1 unblock), max 100 sites per API call; the site_id must be exact and cannot be 0 or null.

MediaGo invalid traffic →

Yahoo Native (DSP / Gemini)Yahoo Native (DSP / Gemini)blocks by site domain / mobile app ID / seller ID

Where: Yahoo DSP: line-level Inventory/Supply targeting — attach Site Lists, App Lists or Seller-ID Lists as included or excluded (API: POST /traffic/lines/{id}/targeting, type SITE_LISTS, excluded:true; lists managed at the advertiser or account-level Inventory Lists library)

In today’s Yahoo DSP the buyer builds a Site List / App List / Seller-ID List in the shared Inventory Lists library (or via the Traffic API SITE_LISTS target type), attaches it to the line’s inventory targeting with excluded=true, and every domain/app-ID/seller on the list is blocked from serving.

Yahoo Native (DSP / Gemini) invalid traffic →

KadamKadamblocks by site

Where: Campaign settings → site black and white list (site IDs, one per line); source lists and IP ranges sit in the same settings

The buyer pastes site IDs (one per line) into the campaign’s site blacklist; source IDs and IP ranges go in the same settings.

Kadam invalid traffic →

AdskeeperAdskeeperblocks by widget

Where: Campaign → Widget Optimization (Selective Bidding) tab; also rule-based auto-blocking (Create Rule) at widget or sub-source level, and API campaign field widgetsFilterUid with filter type "except"

The buyer pastes/sets bad widget UIDs into the campaign’s widget filter (block/stop the widget in the Widget Optimization interface, or set widgetsFilterUid="except" + the UID list via API), or creates an auto-blocking rule that disables widgets/sub-sources meeting loss thresholds.

Adskeeper invalid traffic →

NewsBreak AdsNewsBreak Adsblocks by placement/platform

Where: Ads Manager > Ad Set level > "Define Placements" (Placements > Platforms: Unlimited, NewsBreak, Scoopz, Premium Partner — narrowable to Gaming or Non-Gaming — or NewsBreak Newsletters); diagnosis via Report > Custom Reports > dimension "Placement"

A buyer cannot upload a bad-ID list; the most they can do is run a Custom Report by Placement and then restrict the ad set to exclude a whole platform (e.g. drop Premium Partner, or keep only its gaming or non-gaming apps), or — managed accounts only — ask their account manager about Brand Suitability Controls, which denylist publishers and content categories for in-article placements and which NewsBreak says are not for performance advertisers on tCPA or Maximize Conversions.

NewsBreak Ads invalid traffic →

SourceKnowledgeSourceKnowledgeblocks by SubID

Where: Tools menu > Allow & Block Lists (create/edit lists and associate them to campaigns); also inline from a campaign’s Sub ID / Channel Summary report via each SubID’s dropdown > "Add to list"; a Global Block List blocks a SubID across every campaign on the account

The buyer adds each bad SubID to a Block list (or Global Block List) — or an Allow list to whitelist only good ones — either one-by-one from the Sub ID Summary dropdown or in bulk via the Tools > Allow & Block Lists interface, and can alternatively bid down/pause a SubID or automate it with Rules.

SourceKnowledge invalid traffic →

7Search PPC7Search PPCblocks by domain

Where: Not in the campaign UI — advertiser emails 7SearchPPC customer support (support@/contact@7searchppc.com) with the domains/source IDs to blacklist; the campaign editor and user guide expose no self-serve blacklist field

The buyer collects bad source IDs via the {source_id} URL macro or by requesting the Referrer IDs Report, then emails the list to 7SearchPPC support ("If you want to blacklist a specific domain, email our customer support team").

7Search PPC invalid traffic →

AdNowAdNowblocks by publisher/source ID

Where: Not documented as a self-serve UI control; per AdNow support (AffiliateFix thread) black/white lists are made from Publisher IDs collected via the {SRC_ID} token and applied to the campaign (in practice via campaign settings' targeting fields, since AdNow has no dedicated self-serve blacklist UI documented)

The buyer collects publisher IDs via the {SRC_ID} tracking token in their tracker, then applies the list of bad publisher IDs as a campaign black list (or good ones as a white list) — widget IDs from spy tools are NOT accepted as the exclusion key.

AdNow invalid traffic →

Push networks

PropellerAdsPropellerAdsblocks by zone

Where: Campaign creation/edit → Targeting section → "Zone Limitation" with Include/Exclude by zone ID (subzone limitation in the same targeting step for Onclick, In-Page Push, and Interactive formats); Rule-Based Optimization (in the settings of CPC campaigns) can exclude a zone automatically once it meets a rule on spend, conversions, CPA, ROI, CR or CTR

The 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 invalid traffic →Step-by-step guide →

RichAdsRichAdsblocks by publisher/site

Where: Campaign settings → Sources block: sublist selector plus dedicated Black list / White list fields for publishers and sites; also via Optimizer (click the campaign name on the Campaigns page) and Automated Rules

Paste the bad 32-character publisher/site source IDs into the campaign’s Black list field, one ID per line with no extra characters, and untick bad sublists in the Sources selector.

RichAds invalid traffic →

EvaDavEvaDavblocks by zone / source

Where: Audiences menu → create an audience and enter the sources in its source field → in the campaign, the Blacklist section’s Audiences field at the bottom of the screen (type the first 3 characters of the audience name and select)

The buyer creates an audience holding the bad zone or source IDs, then attaches it as a blacklist on the campaign; automated rules can also move sources that match the buyer’s conditions into a blacklist or whitelist audience.

EvaDav invalid traffic →

PushgroundPushgroundblocks by supply ID / site ID

Where: Create Campaign page → Targeting section → blacklist (or whitelist) field

The buyer pastes a comma-separated list of Supply IDs (e.g. 234) or Site IDs (e.g. 234-19, 234-23) into the blacklist field under Targeting on the Create/Edit Campaign page; blacklisting can also be automated via Pushground’s automatic rules or third-party trackers.

Pushground invalid traffic →

RollerAdsRollerAdsblocks by zone (placement) / feed (source)

Where: Campaign targeting → Traffic block → Feed and Zone targeting (include or exclude specific traffic sources and placements); CPA Goal campaigns also exclude zones with no conversions after their test limit

The buyer excludes the bad zone IDs (or a whole feed for a coarser cut) under Feed and Zone targeting, or runs CPA Goal so zones that spend their test limit without converting are excluded automatically.

RollerAds invalid traffic →

MondiadMondiadblocks by zone

Where: Campaign form → targeting: "Blacklist or Whitelist ZoneIds via a Standalone list" or attach a pre-made Traffic Audience (Traffic Audiences section → Ad Audience → name → SubId or ZoneId → Save); optimisation rules (up to 5 per campaign) can also blacklist by SubID or ZoneID

The buyer pastes the bad ZoneIDs/SubIDs into the campaign’s Standalone blacklist, or saves them as a reusable Traffic Audience set to Blacklist mode and attaches it to campaigns (editing the audience updates every campaign using it).

Mondiad invalid traffic →

EZmobEZmobblocks by subID

Where: Edit Campaign → SubID step → mode Blocklist (or Whitelist) → 'Add to Blocklist', or the row’s Status switch; IP ranges and referrer domains go in the IP & Domain Lists

The buyer adds the bad subIDs to the campaign’s SubID blocklist with "Add to Blocklist" or switches them off, and can lower bids per subID instead.

EZmob invalid traffic →

Push.HousePush.Houseblocks by site ID

Where: Audiences section → ID-type list set to BLACK LIST (site IDs, one per line) or an IP-type list (ranges); attached through the Audience field in the campaign’s Country & Rate step; separately, Traffic Settings has a switch next to each feed’s name to disable it

The buyer pastes bad site IDs one per line into a BLACK LIST audience and attaches it to the campaign; a whole feed is cut with the switch next to its name in Traffic Settings.

Push.House invalid traffic →

OnClickAOnClickAblocks by site + individual ad spot

Where: Campaign Sources preset: RON (all sites, with a site blacklist or whitelist) or Premium sites; plus the spots blacklist, reached by selecting campaigns and opening the blacklist feature; blacklisted spots show on the campaign page and are removed in the campaign editing form

The buyer blacklists bad sites in the RON preset, adds bad spots through the blacklist feature (a separate target on top of the site lists), or sets a $0.00 micro-bid on a source.

OnClickA invalid traffic →

ReachEffectReachEffectblocks by ad zone

Where: Advertising menu → Filters section in the self-serve dashboard; create a whitelist or blacklist there, then apply it globally per ad type or assign it to individual campaigns

The buyer pastes/adds the bad ad-zone IDs (or domains/SubIDs/IPs/ISPs) into a blacklist created in Advertising → Filters and attaches it to a campaign or applies it globally; per-ad-zone bid adjustments are also available as a softer lever.

ReachEffect invalid traffic →

AdOperatorAdOperatorblocks by SubID

Where: Campaign creation flow has a dedicated "SubID optimization" step; reusable lists are managed under Campaigns > SubID Presets tab (and a parallel IP Lists tab), and can also be edited inside an active campaign

The buyer pastes/uploads the bad SubIDs as a blacklist preset (or adds them in the campaign’s SubID optimization section) so those publisher feeds stop receiving the campaign; whitelist mode is the inverse.

AdOperator invalid traffic →

UngAdsUngAdsblocks by publisher ID

Where: Campaign settings — publisher/source list with an Include/Exclude toggle, plus the Auto Optimization rules section for automatic blacklisting

The buyer pastes the list of unprofitable publisher IDs into the campaign’s publisher list and switches it to "Exclude" (blacklist), or sets an auto-optimization rule (e.g. spend >= $50 and <1 conversion) that adds publishers to the campaign blacklist automatically.

UngAds invalid traffic →

ROIadsROIadsblocks by 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

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.

ROIads invalid traffic →

Traffic NomadsTraffic Nomadsblocks by publisher/source ID and zone ID

Where: Two documented paths: (1) exclude publishers/zones directly on the stats dashboard while optimizing a campaign (per-zone bids also live there, under the "Zone" tab); (2) Create/Edit Campaign → "Campaign Targeting" → Publishers field

The buyer edits the campaign, pastes the bad publisher/zone ID list into the Publishers field (values separated by a comma and a space), and selects the "Blacklist" option — or ticks/excludes the same IDs one by one from the stats dashboard.

Traffic Nomads invalid traffic →

AdsCompassAdsCompassblocks by source

Where: Campaign settings, "optimization lists" step of campaign creation (reviews describe it as step 6, "Prepare optimization lists", after targeting/schedule) — lists keyed by Source ID, IP, or ISP acting as whitelist (approved) or blacklist (blocked)

The buyer takes the bad Source IDs surfaced by their tracker (AdsCompass passes [site_id]/[ad_id]-style macros to trackers) and adds them to the campaign’s Source ID blacklist optimization list, or moves good ones to a whitelist campaign at a higher bid.

AdsCompass invalid traffic →

DAO.ADDAO.ADblocks by source

Where: Campaign settings Blacklist/Whitelist section (per-campaign), mirrored in the Campaign Management API as blacklist/whitelist (source IDs) and subIdBlack/subIdWhite (hex-encoded SubIds), blackDomain/whiteDomain (domains)

The buyer pastes the bad source IDs (or SubIds) into the campaign’s Blacklist field — or sets whitelist-only — can set per-source or per-SubId bids under Micro-bidding Rules, and can add automatic rules for BL that blacklist a Source ID when a postback-fed condition is met.

DAO.AD invalid traffic →

TacoLocoTacoLocoblocks by zone

Where: Advertiser dashboard at my.tacolo.co/lists ("Zone Lists" section), where zone/source IDs are grouped into whitelists/blacklists that are then included/excluded in a campaign’s zone targeting; also manageable via the Advertiser’s API Zone Lists endpoints

The buyer pastes/uploads the bad zone or source IDs into a Zone List at my.tacolo.co/lists and attaches that list to an In-Page Push or Direct Clicks campaign as a blacklist (exclude) — or maintains it programmatically via the Zone Lists API.

TacoLoco invalid traffic →

NoviclickNoviclickblocks by site ID

Where: Advertiser panel (panel.noviclick.com): per-campaign blacklist/whitelist of Site IDs in campaign settings, plus the "Audiences" section where a custom audience (a saved list of Site IDs) can be attached to any campaign after creation

The buyer pastes the bad Site IDs into a campaign blacklist or saves them as a custom audience in the Audiences section and applies it in blacklist mode to campaigns ("put site id’s in your custom audience that perform a little bit less so you can blacklist them for every campaign"); custom per-Site-ID bids also allow down-weighting a source instead of a full block.

Noviclick invalid traffic →

Pop / Pop-under networks

PopAdsPopAdsblocks by website

Where: Campaign form → "Website Targeting" section (set mode to Exclude); reusable lists via the Website Targeting List Manager

The buyer pastes the bad PopAds website IDs (one per line) into the campaign’s Website Targeting box in Exclude mode, or saves them as a pre-defined Website Targeting list and attaches it to campaigns.

PopAds invalid traffic →

PopCashPopCashblocks by website

Where: PopCash members panel (members.popcash.net): the publisher blacklist, which takes site IDs

The buyer collects bad [siteid] values from tracking and adds them to the blacklist in the PopCash members panel, which PopCash’s FAQ describes as removing websites that don’t fit or perform with the campaign.

PopCash invalid traffic →

AdsterraAdsterrablocks by placement

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

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).

Adsterra invalid traffic →

AdcashAdcashblocks by zone

Where: Campaign creation/edit → step 2 "Targeting" → Content section → "Zone List" (choose exclude / target only); reusable lists managed in the account-level "Zones Lists" tab, which can also be set as a default blacklist automatically applied to every new campaign

The buyer pastes bad zone/sub IDs (collected via the [zone] macro in the landing URL or Performance page → Group by Zone/Source) into a Zones List, then applies that list to the campaign with the "exclude" action (Apply targeting rule); limits: 100 lists, 1,000 zones/list, 30k zones/campaign; a campaign either excludes or targets zones lists, not both.

Adcash invalid traffic →

ClickaduClickadublocks by zone

Where: Campaign creation form → "Zones & Additional" tab → "Zone Limitation" / "Sites&Zones" field, with an Include/Exclude switcher (turns red when set to Exclude)

The buyer pastes their black/white list of zone IDs into the Sites&Zones ("Zone Limitation") field on the Zones & Additional page and flips the Exclude tumbler so the campaign stops serving on those zones.

Clickadu invalid traffic →

ZeroparkZeroparkblocks by source

Where: Campaign details → Sources tab (or Targets tab); account-wide: My Account → Blocked list

In the campaign’s Sources/Targets tab the buyer ticks the bad IDs (or pastes the list into the Search box), then Bulk actions → Pause; for a global block they paste target IDs into My Account → Blocked list.

Zeropark invalid traffic →Step-by-step guide →

ExoClickExoClickblocks by site / zone

Where: campaign creation Step 5 "Zones" (Sites & Zones) → Target Mode = Block; bulk via the "Bulk Select Zones" button; site-level blacklist also available at account level

The buyer switches Target Mode to Block and pastes the bad Zone IDs as a comma-separated list (no spaces) via "Bulk Select Zones", choosing per entry to block just that zone or all zones on its site; sites can also be blacklisted account-wide.

ExoClick invalid traffic →Step-by-step guide →

TrafficStarsTrafficStarsblocks by ad spot

Where: Campaign form → Audience step: choose RON/Prime/Members Area, then add sites and ad spots to Whitelists or Blacklists ("Click Edit to check the added domain names"); a Prime campaign cannot blacklist sites, only spots; the Optimizer tool can auto-block underperforming spots or sites against rules set on impressions, clicks, CTR, spend, leads or eCPA

The buyer adds the bad ad spot IDs and site IDs to the campaign’s Blacklist in the Audience step (or sets Optimizer rules that auto-block spots crossing spend/conversion thresholds).

TrafficStars invalid traffic →

AdMavenAdMavenblocks by source ID / sub-source ID

Where: Per campaign: the filters step → Traffic types (pop) or Source Management (push) → whitelist/blacklist of sources and sub-sources. Account-wide: Profile icon (top right) → Global Blocked List

Paste comma-separated Source IDs or Sub Source IDs (or import a CSV) into the campaign’s blacklist or the account-wide Global Blocked List, which applies to all current and future campaigns on Save Changes.

AdMaven invalid traffic →

HilltopAdsHilltopAdsblocks by zone

Where: Manage Campaigns → campaign Settings icon → BlackList (also available via API method to add a traffic source to a campaign BlackList)

The buyer opens the campaign’s BlackList setting and pastes the non-profitable ad-zone IDs separated by commas, then saves; those zones are removed from the campaign’s traffic sources (BlackList and WhiteList are mutually exclusive per campaign).

HilltopAds invalid traffic →

BidvertiserBidvertiserblocks by source

Where: The ad’s Advanced settings (the three horizontal lines) → Blacklist tool (or Whitelist tool), one source ID per line, then Update; also the Analytics report’s SubIDs tab, where sources can be paused; account-wide, Manage Account → Domains Blacklist

The buyer adds the bad source IDs passed by {BV_SRCID} to the ad’s blacklist (or pauses them from the SubIDs tab), sets a lower bid per source instead, or lets Auto Optimization blacklist SubIDs that miss a target conversion rate or cost per conversion.

Bidvertiser invalid traffic →

ClickAdillaClickAdillablocks by spot

Where: Statistics page > Spots tab (or Sites tab for domains) > tick rows > "Add to black list"; also Create campaign > Sources tab accepts white/black lists of sites or spots

The buyer selects the campaign in Statistics, ticks the bad spot IDs (or domains in the Sites tab) and clicks "Add to black list", or pastes the spot/site list into the campaign’s Sources white/blacklist; ClickAdilla then stops serving to those spots/sites.

ClickAdilla invalid traffic →

MyBidMyBidblocks by source

Where: Campaign editor > Targeting & Restrictions tab — "Black/White Lists" for manual source lists (plus "Bid by source" section for per-Source-ID bids, and the automated Optimizer’s "Blocked sources" tab)

The buyer pastes bad Source IDs into the campaign’s blacklist under Targeting & Restrictions (or lets the rule-based Optimizer auto-block sources, then reviews/unblocks them in the Blocked sources tab).

MyBid invalid traffic →

TrafficShopTrafficShopblocks by site/domain

Where: Campaign create/edit → targeting settings (domain filtration / source sampling on RON campaigns); reviews also describe dashboard white lists + blocking filters and an hourly auto-blacklister (requires S2S postbacks); official self-serve documentation is thin, so buyers without S2S tracking typically route exclusions through their account manager

Pull {site_id}/{domain} from S2S/tracker stats, then remove those domains from the campaign’s domain targeting (or feed them to the account manager / auto-blacklister) so the campaign stops buying from those publisher sites.

TrafficShop invalid traffic →

PlugRushPlugRushblocks by subsource (S ID)

Where: BUY TRAFFIC → Filter Traffic (blacklists and whitelists, each assigned to one or more campaigns; bulk add under the list editor’s Import Entries tab); also from the campaign’s Sources tab, and Automated Rules can apply an Exclusion to the Sources or Subsources breakdown

The buyer creates a blacklist under Filter Traffic, adds the bad Subsource S IDs (PlugRush recommends Subsources over whole R-ID Sources, which can cut traffic that performs), and assigns the list to the campaigns it should cover.

PlugRush invalid traffic →

TrafficHuntTrafficHuntblocks by ad space / referring domain

Where: Campaign targeting: Referers (include or exclude domains) and IP Ranges (include or exclude addresses and ranges); the CPA optimizer (CPA Goal plus a Cost per Adspace test budget) stops Adspaces automatically; no manual per-ad-space blacklist field is documented publicly

The buyer excludes the bad referring domains under Referers (TrafficHunt’s own push walkthrough builds its whitelist and blacklist there), lets the CPA optimizer stop Adspaces that fail their test budget, and asks support or the account manager to cut a specific [adspace] ID.

TrafficHunt invalid traffic →

YeesshhYeesshhblocks by pubfeed.subid

Where: Identify bad sources in Dashboard > Reports > Reports by Campaign with breakdown by "feed"; then Edit Campaign > scroll to the "TQ & Analytics" section, which holds the Blacklist / Whitelist-Only fields

The buyer pastes the bad combinations into the campaign’s blacklist field in "TQ & Analytics", one per line in the format pubfeed.subid (e.g. 72179.69641); a Whitelist-Only mode accepts the same format, and an optional auto-blacklister blocks any feed SubID that reaches N clicks with zero conversions.

Yeesshh invalid traffic →

ClickaineClickaineblocks by site / publisher source

Where: In the self-serve advertiser panel’s campaign settings: the "Create campaign" flow has a "General" section with include/exclude of sites, site types and site categories, and a "Devices & GEO" section for device/OS/browser targeting, but no separate publisher-exclusion screen outside the campaign blacklist field

The buyer pastes/adds the bad PubIDs (publisher sources/placements) into the campaign’s blacklist so the campaign keeps running on the rest of the inventory while skipping those sources, and later builds a whitelist campaign from the proven winners.

Clickaine invalid traffic →

ActiveRevenueActiveRevenueblocks by source

Where: Campaign editor "Micro Targeting" step (after main Targeting), which holds IP-range and Sources whitelist/blacklist fields; sources can also be disabled from the campaign optimization/reporting section

The buyer pastes bad source IDs into the campaign’s Micro Targeting sources field set to Blacklist mode — sub-source IDs formatted with a leading dot (e.g. ".12456" for {source_subid}) and publisher feed IDs ({pubfeed}/{source}) as-is — or lets the CPA-goal Auto Blacklist add underperformers automatically.

ActiveRevenue invalid traffic →

Banner / Display networks

TrafficJunkyTrafficJunkyblocks by source (site + spot)

Where: Campaign creation or edit → Step 3 "Tracking, Sources & Rules": Source Selection defaults to "Automatically (All)" (all available sources); switch it to "Manually" to select specific sources; "Rules for Source Optimization" in the same step can exclude underperforming sources; a running campaign lists its sources in the Sources tab of the Campaign Overview page

With a list of bad {SiteName}/{SpotName} pairs, the buyer edits the campaign, sets Source Selection to Manually in Step 3 and leaves those sources unselected (the default, Automatically (All), runs on every available source), or adds a Rule that excludes underperforming sources.

TrafficJunky invalid traffic →

JuicyAdsJuicyAdsblocks by ad zone / site

Where: Campaign Mode (whitelist/blacklist) chosen in Campaign Info at creation; running RON campaigns managed under the campaign’s Traffic Optimization tab -> Traffic Sources / Manage Lists (plus Auto-Blocking and Adsistant rules that pause or blacklist sources automatically against IF-THEN performance conditions)

The buyer sets the campaign to blacklist mode and adds bad site/zone IDs (the IDs passed to trackers as {dynamicSITE}/{dynamicZNE}) to the campaign’s block list in Traffic Optimization -> Manage Lists, or flips to whitelist-only on proven zones.

JuicyAds invalid traffic →

TrafficFactoryTrafficFactoryblocks by zone

Where: Campaign creation Step 5 "Zones" (admin panel, EXADS-based): Target Mode dropdown set to "Block"; also site-level "Block all zones for this site" and per-zone Sub ID blocking

The buyer sets Target Mode to Block in the campaign’s Zones step and pastes the bad zone IDs comma-separated into "Bulk select zones" (or clicks Block on a zone / "Block all zones for this site"), which stops the campaign bidding on those placements.

TrafficFactory invalid traffic →

TwinRedTwinRedblocks by site / traffic source

Where: Campaign > Traffic Sources tab > Sources (Whitelist Sources / Blacklist Sources, searchable by SSP, Source ID and Source Name) and Domains; traffic sources can also be allowed or blocked at account level. An older help article shows the same control as Campaign > Campaign Site Targeting and, account-wide, Advertiser Site Targeting

The buyer opens the campaign’s Traffic Sources tab, reviews the eligible sources (TwinRed is transparent, all sources visible), and blacklists each bad source or whole SSP so it shows under Excluded (or switches to Whitelist Sources and allows only a whitelist), at campaign or account level.

TwinRed invalid traffic →

AdniumAdniumblocks by site + ad zone

Where: Advertisers > White & Black Listing page (adnium.com/advertisers/wblist) for site lists; API/campaign edit exposes Include Site / Exclude Site / Include Zone / Exclude Zone; SubIDs are white/black-listed inside the campaign edit screen’s Keyword Targeting field

The buyer adds bad site IDs to a Black List on the wblist page (entities on the Black List are rejected), sets Exclude Site/Exclude Zone on the campaign, or pastes up to 50 bad SubIDs (one per line) into the campaign’s Keyword Targeting field as a black-list.

Adnium invalid traffic →

TrafficForceTrafficForceblocks by site and channel

Where: Dashboard: Ad Management -> campaign -> Ad Group -> Edit -> "Display Network" section (per the Mobidea walkthrough of the self-serve UI; TrafficForce publishes no official UI docs for this)

The buyer opens the ad group’s Display Network list, selects the site/channel IDs matching the bad-source list, and clicks "Disable" (disabled entries can later be re-enabled from a Disabled Channels view); channel IDs are captured in tracking via the channel/spot macro so they can be matched back.

TrafficForce invalid traffic →

CriteoCriteoblocks by publisher domain

Where: Commerce Growth: ad set > Refine your targeting > Placement Targeting (allow/deny websites & apps, plus a Supply Vendors toggle). Commerce Max: Shared Library > Domain/App Lists to build the list, then line item > Targeting step > Domain Lists / App Bundle Lists section to apply it

In Commerce Growth the buyer types the bad websites or apps into the deny list or imports a .txt/.csv file (a new file overwrites the current list); it takes effect within one hour. In Commerce Max the buyer builds a domain or app list (one domain per line, no http/https, up to 100,000 domains, 255 chars/entry) and applies it to each line item as a block list.

Criteo invalid traffic →

Social networks

Meta AdsMeta Adsblocks by publisher

Where: Meta Brand Safety and Suitability Center → Publisher block lists → Create publisher block list → upload .csv/.txt (or tick publishers in Partner-publisher lists / Delivery reports → Add to publisher block list); applied for the business, an ad account or a campaign; affects apps in Audience Network, Facebook in-stream reels, ads on Facebook Reels, and Facebook and Instagram profile feed

The buyer compiles a TXT/CSV list (max 10,000 lines per list) of app store URLs, Facebook Page URLs and Instagram account URLs and uploads it as a publisher block list in the Meta Brand Safety and Suitability Center, then applies it to their ad accounts, which keeps their ads off those publishers across Audience Network apps, Facebook in-stream reels, ads on Facebook Reels and profile feeds.

Meta Ads invalid traffic →

TikTok AdsTikTok Adsblocks by Pangle bundle ID

Where: Ads Manager > Tools > TikTok Ad Network (or Pangle for some advertisers) brand safety > Block List; activated per ad group via the "Use TikTok Ad Network (or Pangle) block list" toggle under Placements > Advanced Settings

The buyer adds bad bundle IDs individually or bulk-uploads an .xlsx (one bundle ID per row, up to 10,000) to the TikTok Ad Network (formerly Pangle) block list, which stops their ads serving on those apps for any ad group with the block list enabled.

TikTok Ads invalid traffic →

Snapchat AdsSnapchat Adsblocks by placement / content category

Where: Ads Manager > ad set level > Placements > Edit Placements > Smart Placements (toggle content categories to include/exclude; "see the list" shows what’s excluded); Brand Suitability inventory filter (Full/Standard/Limited tiers, set in the same Placements step) to restrict delivery to less-sensitive content

The buyer cannot upload a list of bad sub-source IDs — Snapchat is owned-and-operated inventory, so the buyer instead deselects placements (Publisher/Creator Stories, Spotlight, etc.) and excludes content categories or tightens the Brand Suitability inventory tier in the ad set’s Placements settings.

Snapchat Ads invalid traffic →

Reddit AdsReddit Adsblocks by community

Where: Two layers: ad group level > Targeting > Communities > "Exclude communities" (applies to community-feed and conversation placements), and account level > Brand Safety settings in Reddit Ads Manager (up to 1,000 excluded communities per account)

The buyer enters/pastes a list of subreddit names into the excluded-communities list (ad group targeting or account-level Brand Safety, max 1,000) so ads stop serving in those communities' feed/conversation placements — though members of an excluded community can still see the ad in their home feed.

Reddit Ads invalid traffic →

LinkedIn AdsLinkedIn Adsblocks by LinkedIn Audience Network publisher

Where: Campaign Manager > Plan > Brand safety (Brand Safety & Suitability Hub) at the ad-account level, or the Brand Safety sub-section under Placements during ad-set creation; IAB category exclusions live in the same place

The buyer uploads a CSV/TXT block list (up to 100,000 domains / app-store URLs / CTV bundles, max 3 MB) to the Brand Safety & Suitability Hub and applies it to the ad account or individual ad sets; processing takes up to 48 hours.

LinkedIn Ads invalid traffic →

Quora AdsQuora Adsblocks by question

Where: Ads Manager, ad set level: "Exclude questions" search bar (plus "Bulk Exclude" button) and "Excluded audiences" dropdown in the targeting section; keyword exclusions in the Choose Primary Targeting section; account-level keyword exclusions (up to 2,000 terms) in Account Settings > Brand Safety & Suitability, applied across every campaign

The buyer pastes/searches each bad question individually into the ad set’s Exclude Questions field, or uses Bulk Exclude to find-and-exclude questions by keyword or by a Quora Session URL (the per-click session report), preventing ads from serving on those questions.

Quora Ads invalid traffic →

X Ads (Twitter)X Ads (Twitter)blocks by placement

Where: Both live in the Ads Manager campaign-creation flow: in a website traffic campaign the ad group step lists the placements (Home timelines, Profiles, Search Results, Replies), and all but Home timelines can be deselected; for pre-roll views campaigns the Targeting page has an "Excluded X accounts" section for blocking specific @handles

The buyer deselects the optional placements (profiles, search results, replies) in the ad group, or, in a pre-roll views campaign, types the bad publishers’ @handles under Excluded X accounts on the Targeting page (max 50 handles for standard categories, 5 for Curated Categories) — X documents no bulk list upload

X Ads (Twitter) invalid traffic →

BIGO AdsBIGO Adsblocks by placement

Where: Ad group level > Placement section in the BIGO Ads campaign-creation flow (Campaign > Ad group > Placement)

The buyer unchecks entire medias under Placement (imo, Likee or BIGO Audience Network), and ads stop showing there — there is no documented field to paste a list of bad site/app/sub-source IDs, so a bad-source list can only justify turning off a whole channel (or excluding an uploaded GAID/IDFA list, created under Library > Audience > Create a Custom Audience > Customer File, in the ad group’s Include/Exclude Audience setting).

BIGO Ads invalid traffic →

Search networks

Google AdsGoogle Adsblocks by placement

Where: Campaigns menu > Audiences, keywords, and content > Content > Exclusions > Edit Exclusions, at campaign, ad group or account level; account level also under Tools > Content suitability > Advanced settings > Excluded placements; Tools > Shared library > Exclusion lists > Placement exclusion lists; IP exclusions under the campaign’s Settings > Additional settings, or Admin > Account settings for the whole account

The buyer pastes the list of bad placements (URLs, app IDs, YouTube channel/video IDs) as placement exclusions — per campaign or ad group, account-wide, or into a placement exclusion list (65,000 account-level exclusions per account; the account-level page allows 20,000 at a time). Account-level exclusions also cover search partner sites and Performance Max, and typically take effect within 12 hours.

Google Ads invalid traffic →

Microsoft Ads (Bing)Microsoft Ads (Bing)blocks by website

Where: Tools > Content suitability > Website control lists (website exclusion lists, associated with campaigns, or with accounts from a manager account); campaign settings > advanced settings > Website control lists / Manually add websites; ad group via Ad groups table > Edit > Other changes > Website exclusions; search partner opt-out via ad-group Settings > Advanced settings > Ad distribution, set to Microsoft sites and select traffic

The buyer pulls bad domains from the Website URL (publisher) report and adds them as website exclusions (up to 2,500 URLs), or to a website exclusion list applied across campaigns, which blocks ads from serving on those partner sites; for Search campaigns, Yahoo search and Microsoft search traffic (including Bing and AOL) cannot be blocked this way.

Microsoft Ads (Bing) invalid traffic →

Yandex DirectYandex Directblocks by YAN site/app

Where: Campaign settings → Advanced settings → “Sites with disabled impressions” (blocked sites can’t be added in the Campaign Wizard); the Report Wizard’s Platform name dimension lists the sites the ads were served on

The advertiser pastes a comma-separated list of sites and apps (up to 1,000 domains for banners and 100 for video ads; on ad exchanges only specific sites, not the whole exchange) into the campaign’s disabled-sites field, which blocks impressions on those YAN placements.

Yandex Direct invalid traffic →

03 /

Platforms with no sub-source block

On these platforms you cannot exclude an individual publisher or placement yourself. What is left is an opt-out, a support request, or moving budget to what performs.

  • Pinterest AdsPinterest Ads

    There is nothing to do with a list of bad sub-source IDs: Pinterest is a closed owned-and-operated platform with no publisher/site/zone/subid layer an advertiser can block — the only exclusion levers are negative keywords and excluded audiences.

  • Baidu Ads (Search)Baidu Ads (Search)

    A buyer with a bad-source list cannot exclude individual partner sites/placements on Baidu Search — they can only switch the entire search-partner network off at the campaign level, and paste bad IPs/IP-ranges into the IP排除 tool (≤200 IPs + 3 IP ranges) or let 商盾 auto-block repeat clickers.

  • AppLovinAppLovin

    There is no documented field for a bad-source list. The buyer can change the campaign’s geography and creative sets, and take the invalid share per campaign, creative set and ad type to AppLovin, which says it acts against publishers flagged for fraudulent or invalid activity.

Invalid traffic by channel
deal-alerts.example71% invalid
zone 447123% invalid
premium-news.example2% invalid

Find the sources worth blocking first.

ValidVisit judges every visit Valid or Invalid and ranks each network’s zones, sites and widgets worst first. You make the cut in the network.

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