Every media buyer eventually asks the same question: I blocked that zone — why am I still paying for it?

We finally measured it properly. We pushed a block list of 139 bad placements to a major pop network through their own API, confirmed the network accepted every single one, and then watched our server logs hour by hour to see when the traffic — and the billing — actually stopped.

6,436/hr
Junk arrivals before the block
~130/hr
After the block (−98%)
87%
Placements fully silent
13%
Kept serving 6–9 hours later

The experiment

The setup was simple. Our zone intelligence had flagged 139 placements on one campaign as junk — placements sending traffic where 80–100% of visits failed basic human checks. At 16:19 UTC we pushed all 139 to the network's exclusion API. We read the campaign back from their API afterwards to confirm the block list was really there. It was.

In the three hours before the push, those placements sent us 19,308 visits — about 6,436 per hour, every one of them billed.

Then the clock started.

What actually happened, hour by hour

So the honest answer to “how fast do exclusions work” is: mostly within the first hour, almost entirely within a few hours — but never 100%. A stubborn tail of roughly one placement in eight kept serving (and billing) six to nine hours after the network's own API confirmed the block.

We ran the same measurement on a second pop network earlier the same week and got an almost identical number: 40 of 45 excluded placements (88.9%) stopped; the rest kept delivering. Two different networks, same ~85–90% enforcement rate, same billed tail.

The strangest thing we found

One placement in the stubborn tail served us the exact same click ID twice, one hour and fifty-two minutes apart — on a placement that had been excluded for twenty hours. Same visitor token, re-served and re-billed. That is not a propagation delay. That is a serving path that is not checking campaign targeting at all.

What this means for your money

Related reading: the 25–36% of billed impressions that never arrive at all, and how to build the blocklist itself.

FAQ

How long should I wait before disputing traffic from an excluded zone?

Give the network a propagation window — our data says almost all enforcement lands within a few hours. Traffic billed more than 12–15 hours after a confirmed exclusion is fair game for a credit request, especially with click-level receipts.

Why do networks have this tail at all?

Most run distributed ad servers with cached targeting. Some also have secondary serving paths (backfill, re-serves) that appear not to re-check zone targeting. The re-served click ID we caught points to the second cause.

Does this mean blocklists are pointless?

The opposite — a 98% junk reduction in hours is the single highest-ROI action in pop buying. It just is not 100%, and you should measure and invoice the difference instead of assuming perfection.