AntiAdBlock.Core

Revenue

9 min readBy the AntiAdBlock Core team

Ad refresh and CPM: does refreshing ads actually make more money?

Refreshing ad slots turns time on page into extra impressions, which sounds like free money and often is not. Whether it pays depends on how you trigger it, and on a share of your audience where refreshing produces literally nothing.

What is ad refresh?

Ad refresh is requesting a new ad for a slot that is already on the page, so one page view produces several impressions instead of one. On content where readers stay a long time, guides, wikis, live blogs, forums, it is the difference between monetizing a visit once and monetizing it repeatedly.

The mechanism is simple and the discipline is not. Every extra impression divides the same attention, so a refresh strategy that ignores whether anyone is looking manufactures inventory nobody sees, and buyers price that in.

Does ad refresh increase or decrease your CPM?

Both, and which one wins depends on the trigger. Refreshing raises your total impressions, so revenue can go up even as CPM goes down: what matters is revenue per session, not the headline CPM.

The risk is that a poorly triggered refresh lowers your viewable rate, and viewability is what buyers increasingly bid against. Manufacturing unviewable impressions therefore hits the price of every impression you sell, including the good ones.

TriggerEffect on viewabilityVerdict
---------
Timer only, ignores visibilityFalls, off-screen slots refreshAvoid
Timer plus in-view requirementHolds or risesThe standard
User action (scroll, tab focus, SPA route)HoldsGood on interactive sites
Refresh on ad completion (video)HoldsFormat-appropriate

What are the rules for refreshing ads safely?

The constraints most demand partners expect, and the reasons behind them:

  • Refresh only when the slot is in view. This is the rule everything else rests on.
  • Leave at least thirty seconds between refreshes. Faster tends to breach partner policies and buys you complaints instead of money.
  • Pause when the tab is hidden. A background tab is not attention.
  • Cap the number of refreshes per slot per session, so a long visit does not turn into an impression farm.
  • Do not refresh formats sold on completion or on engagement unless the partner allows it.

Check your own demand partners' policies before deploying: several allow refresh only under explicit conditions, and violating them can cost you the demand rather than the CPM.

Where does ad refresh not help at all?

On short visits, first, and this is arithmetic rather than strategy: a reader who leaves in twenty seconds never reaches the second impression, so refresh adds nothing to news-style traffic that bounces.

And on blocked traffic, which is the part publishers miss. If a visitor's blocker stops your ad library from loading, there is no slot, no first impression, and therefore nothing to refresh. Refresh multiplies inventory you have; it cannot create inventory that never existed.

That distinction matters when you model the upside. Refresh applies only to the share of your traffic that already sees ads. If a fifth of your page views never make an ad request, your refresh gains apply to four fifths of your audience, and the other fifth needs a different fix entirely.

How do you measure whether refresh is working?

Judge it on revenue per session, not on impressions or CPM in isolation. Impressions will rise by construction and CPM will usually dip; neither number answers the question on its own.

  1. Baseline revenue per session for a full week before enabling anything.
  2. Enable refresh with an in-view trigger on one template or one section, not site-wide.
  3. Compare revenue per session, viewable rate and engagement against the baseline.
  4. Watch bounce and time on page: if refresh coincides with readers leaving sooner, you bought impressions with attention.

Run it a full week either way. Ad blocking, and therefore your real impression base, varies by day of week and by traffic source, so a three-day test measures the calendar as much as the change.

The impressions refresh can never recover

Refresh is optimization of inventory you already have. It does nothing for the page views that never entered the auction, and on many publisher audiences that is the larger number.

The order that makes sense is therefore: measure how much of your traffic is blocked, recover what is recoverable, and then optimize the resulting inventory with refresh and placement. Doing it the other way round means tuning the visible slice while the invisible slice keeps growing.

If you have never measured the blocked share, that is the cheap first step: our script reports detections, recoveries and recovered revenue per site from a one-line install, and what adblock costs publishers shows how to turn that into a number you can plan with.

Frequently asked questions

Does ad refresh hurt viewability?

Only when the refresh ignores visibility. A timer that fires regardless of whether the slot is on screen produces impressions nobody could see and lowers your viewable rate. Tie the trigger to the slot being in view and viewability holds or improves.

How often can you refresh an ad?

Thirty seconds between refreshes is the common floor, and most demand partners publish their own limits. Refreshing faster tends to breach those policies, which risks the demand itself rather than just the price.

Does ad refresh lower CPM?

Usually a little, because you are selling more impressions against the same attention. That is acceptable when revenue per session rises. Judge the strategy on revenue per session, not on CPM alone.

Is ad refresh worth it on a news site?

Often not. Refresh converts time on page into impressions, so it pays where sessions are long. Short bouncing visits never reach the second impression.

Does refresh help with ad-blocked traffic?

No. If the blocker prevented the ad library from loading, there is no impression to refresh. Refresh multiplies inventory you already have; blocked page views never created any.

Put the best adblock killer script to the test.

Free up to 10,000 detections per month. 60-second install.

Keep reading

Explore more