Almost every blog or content site I look at is being underpaid by its ad stack. Not because the niche is bad — because the operator never actually modeled what their RPM should be, picked a network on a friend's recommendation, and stopped optimizing. This guide is the model: how AdSense, Ezoic, Mediavine, and Raptive actually pay, how to compare them on real numbers instead of headline CPM, and when a single direct-sold sponsorship will out-earn an entire month of programmatic.
The three numbers that decide your site revenue
Page RPM (revenue per 1,000 pageviews), session RPM (per 1,000 sessions), and EPMV (earnings per 1,000 visitors) all describe roughly the same idea from different angles. Mediavine and Raptive quote session RPM; AdSense quotes page RPM; Ezoic quotes EPMV. They are not directly comparable until you normalize them — a 4-pageview-per-session site will see a session RPM about 3–4× its page RPM.
Realistic 2026 page-RPM ranges by niche (US/UK/CA traffic, desktop and mobile blended):
- Personal finance, insurance, legal: $25–80
- B2B SaaS, marketing, productivity: $15–45
- Tech how-to, software reviews: $12–35
- Health, parenting, home improvement: $10–30
- Food, recipes, lifestyle: $8–22
- Travel, fitness: $6–18
- Entertainment, gaming, news: $3–10
Anything materially below the floor of your niche range is a sign of ad-stack or viewability problems, not a sign the niche is unprofitable.
AdSense vs Ezoic vs Mediavine vs Raptive
AdSense is the floor — easy to install, no traffic minimum, but you're leaving 30–80% on the table because there's no header-bidding wrapper or multi-network competition. Ezoic adds machine-learning placement and a small SSP wrapper; expect a 30–60% lift over raw AdSense once the model has data.
Mediavine (50k sessions/month minimum) and Raptive (formerly AdThrive, 100k pageviews/month minimum) run full premium header bidding with direct-sold inventory on top. Sites that switch from AdSense or Ezoic usually see RPM 2–4× higher. The catch is layout control: both networks insist on aggressive in-content placement that some brands find ugly. The aesthetic tax is real; the revenue lift is also real.
The viewability and fill-rate trap
Headline CPMs lie. The number that ends up in your bank account is CPM × viewability × fill rate, and most operators never check the last two. A $12 CPM with 45% viewability and 65% fill is really $3.51 of usable revenue per 1,000 impressions. Mobile-first sites with sticky footer ads and a single in-content unit clear viewability in the 70–85% range; long-scroll desktop sites with five mid-content units often crater to 25–40%.
Sanity check your stack:
- Open Google Ad Manager (or your network's dashboard) and pull viewability per ad unit.
- Any unit below 50% viewability is dragging your average RPM down — remove it.
- Compare your page RPM to the niche range above. If you're under the floor, the problem is the stack, not the audience.
You can model the full chain with our CPM calculator and advertising revenue calculator.
When direct sponsorships beat programmatic 5–10×
A 100,000 pageview/month food blog on Mediavine clears roughly $1,500 in programmatic ad revenue. That same audience, sold as one host-written sponsored post per month at a fair $35 CPM-equivalent (so $3,500 for the post plus ongoing pageviews), earns more than the entire ad stack — with no layout pollution.
The math gets even more skewed for newsletters and podcasts; see our newsletter monetization guide and podcast ad revenue guide for those formats. The rule of thumb: if your audience is commercially valuable enough to charge $25+ CPM-equivalent for a direct sponsorship, programmatic is your floor, not your ceiling.
The honest planning advice
For a new content site, model programmatic revenue at the bottom of your niche range × 0.7 for the first 12 months. Plan to graduate from AdSense to Ezoic at 10k sessions/month, then to Mediavine at 50k. Treat one direct sponsorship per month as a stretch goal in year one and a baseline by year two. And re-pull viewability and fill rate once a quarter — most "my RPM dropped" complaints turn out to be a single underperforming ad slot.
