How Publishers Monetize Websites with Display Advertising: A Complete Revenue Guide
A publisher with 100,000 monthly sessions running AdSense earns $200 to $400 per month. The same publisher on Mediavine earns $1,500 to $2,500 per month. The difference isn’t magic. It’s understanding how ad networks work, optimizing placement and viewability, and choosing the right platform for your traffic tier.
This guide walks you through the entire publisher monetization landscape: how ad networks earn money, which network fits your stage, what metrics actually matter (RPM vs CPM vs eCPM), why viewability and fill rate affect your earnings, and how optimization techniques like lazy loading and ad refresh impact your revenue.
Each section below introduces a key concept in publisher monetization. For actionable tactics and step-by-step details, follow the links to our dedicated guides.
What Does the Publisher Ad Monetization Landscape Look Like?
Publishers earn revenue by selling ad space on their websites to advertisers, almost always through intermediary ad networks that aggregate demand from thousands of buyers. You don’t negotiate with Coca-Cola directly. An ad network connects your inventory to the advertisers willing to pay for it.
Your revenue depends on three variables: how much traffic you have, how much advertisers pay per thousand impressions (CPM), and what percentage the ad network keeps as its cut. Most networks operate on a revenue share model. AdSense keeps 32% of display revenue. Mediavine and Raptive keep 25% and pay you the rest.
- Network
- AdSense
- Page RPM
- $2–$4
- Focus
- Placement & viewability
- Network
- Ezoic, Monumetric
- Page RPM
- Above AdSense
- Focus
- Fill rate
- Network
- Mediavine
- Page RPM
- $15–$25
- Focus
- Header bidding
- Network
- Raptive
- Page RPM
- $20–$35
- Focus
- Yield & ad refresh
Traffic thresholds gate your options. AdSense accepts any site with original content. Ezoic and Monumetric serve the 10K to 50K session range. Mediavine requires 50,000 sessions. Raptive requires 100,000. The jumps in RPM between tiers are large enough that hitting the next traffic threshold often matters more than any individual optimization tactic.
The ad demand that reaches your site flows through programmatic advertising infrastructure: DSPs, SSPs, and ad exchanges running real-time auctions for every impression. Understanding that system helps you understand why different networks pay different rates. Networks with more demand partners and better auction mechanics (like header bidding) extract higher CPMs from the same impression.
Which Ad Network Should You Choose?
The right ad network depends on your monthly session count more than any other factor. AdSense is the entry point. Mediavine and Raptive are where the real money starts. Choosing wrong, or staying too long on a network you’ve outgrown, is the single most expensive mistake in publisher monetization.
AdSense requires no traffic minimum and no application review beyond basic content policies. Most AdSense publishers with under 50,000 monthly sessions see $2 to $4 page RPM. That’s $200 to $400 per month on 100K pageviews. Functional, but not close to the ceiling.
Mediavine requires 50,000 sessions per month and runs a more aggressive ad stack with header bidding built in. RPMs typically range from $15 to $25, a 5 to 8x jump over AdSense for the same traffic. Journey by Mediavine accepts smaller sites at 10,000 sessions, but RPMs are lower than the full Mediavine product.
Raptive (formerly AdThrive) requires 100,000 sessions and offers $20 to $35 RPMs through premium demand relationships and advanced yield optimization. The application process is selective, and Raptive locks you into a contract period.
Ezoic and Monumetric serve the gap between AdSense and Mediavine for publishers who don’t yet meet the 50K threshold but want higher RPMs than AdSense delivers.
The full comparison, including revenue share percentages, payment schedules, contract terms, and site speed impact, is in our Google AdSense vs Mediavine vs Raptive guide.
How Do You Get More from AdSense Before Upgrading?
If you’re currently on AdSense and haven’t hit 50,000 sessions yet, optimization is your best lever. Most AdSense publishers run default settings and leave 30 to 50% of their potential revenue on the table.
The gap comes from three areas: ad placement, ad unit selection, and ad category filtering. Auto Ads uses Google’s machine learning to place ads automatically, but it tends toward aggressive density that hurts user experience. Manual placement gives you control over where ads appear (above the fold, in-content after paragraph 3, sidebar sticky) but requires testing. The sweet spot is usually a hybrid: Auto Ads enabled with specific manual units in your highest-viewability positions.
Ad Balance, available in the AdSense dashboard, lets you reduce the number of lower-paying ads shown. Counterintuitively, cutting the bottom 20% of ads often increases total RPM because the remaining impressions have higher viewability and engagement.
The AdSense CPM calculator helps you model revenue changes from placement adjustments. Full optimization tactics, from ad unit configuration to blocking low-CPM advertiser categories, are in our AdSense optimization guide.
How Do RPM, CPM, and eCPM Differ?
RPM is your revenue per 1,000 pageviews. CPM is the cost an advertiser pays per 1,000 impressions. eCPM is your earnings per 1,000 ad impressions. Three metrics that look similar but measure different things from different angles, and confusing them leads to bad decisions.
The distinction matters most when you run multiple ad units per page. If you have three ad slots, each pageview generates three impressions. Your RPM will always be higher than your eCPM because the denominators are different: pageviews (fewer) vs impressions (more).
A page with 3 ad slots averaging $4 eCPM generates roughly $12 RPM. Same revenue, different framing. RPM tells you how much money each visitor is worth to your site. eCPM tells you how well each individual ad slot performs. You need both. RPM for site-level revenue forecasting. eCPM for slot-level optimization.
Session RPM adds another layer by measuring revenue across all pageviews in a single visit, which rewards content that drives deeper engagement.
The formulas, when to use each metric, and how to calculate them for your site are in our RPM vs CPM vs eCPM guide. Run your numbers using the CPM calculator or the eCPM calculator.
What Is Ad Fill Rate and Why Does It Affect Your Revenue?
Fill rate is the percentage of ad requests that return a paid ad. If your site makes 100,000 ad requests per day and 92,000 come back with a paid creative, your fill rate is 92%. The other 8,000 requests either show a blank space or a house ad. Either way, you earned nothing on them.
Low fill rate is silent revenue loss. You built the page, loaded the ad slot, and waited for a bid. None came. That’s wasted potential you don’t see in your CPM or RPM numbers because those metrics only count filled impressions.
Fill rate drops for specific reasons: low-demand geos (traffic from countries where fewer advertisers bid), niche content categories with limited advertiser interest, or technical issues like missing ads.txt entries that prevent exchanges from bidding on your inventory.
Multiple demand sources raise fill rate. This is exactly why header bidding exists: it exposes each impression to more bidders simultaneously, increasing the chance that at least one wants to buy. AdSense often serves as the backfill source, catching whatever the primary demand stack doesn’t fill.
Our ad fill rate guide covers benchmarks, diagnosis, and the specific strategies publishers use to push fill toward 98%+.
Why Does Ad Viewability Affect Your CPM?
An ad is “viewable” when at least 50% of its pixels are visible in the browser viewport for at least 1 continuous second (2 seconds for video). That’s the IAB/MRC standard. Ads that load below the fold and never scroll into view don’t count as viewable. You served the impression, but the industry doesn’t consider it seen.
Viewability matters because advertisers increasingly buy on viewable CPM (vCPM), paying only for impressions that meet the viewability threshold. Publishers with high viewability scores attract higher bids. Google’s own research showed a 56% non-viewability rate across display ads in a 2014 study. That number has improved since, but many publishers still run viewability rates below 60%.
The CPM gap between high-viewability and low-viewability inventory is 30 to 80%. A site running 70%+ viewability earns materially more per impression than an identical site at 45%. Sticky sidebar ads, in-content placements, and above-the-fold leaderboards consistently score the highest viewability rates. Below-the-fold banner ads and footer placements score the lowest.
Check your current viewability against CPM benchmarks by format. Tactics to raise your viewability score, including placement changes, sticky ad units, and the relationship between lazy loading and viewability, are in our ad viewability guide.
Should You Use Ad Refresh to Increase Revenue?
Ad refresh replaces the creative in an ad slot with a new ad after a set interval, generating a new impression from the same page view. Done correctly, it increases your total impressions and revenue. Done aggressively, it tanks your viewability scores and CPMs.
IAB guidelines recommend a minimum 30-second refresh interval. Google Ad Manager supports time-based, event-based, and user-action-based refresh triggers. AdSense prohibits most forms of ad refresh entirely. If you’re on AdSense, this tactic isn’t available to you. Mediavine and Raptive handle refresh automatically as part of their ad stack.
The key constraint is viewability. An ad should only refresh if it’s currently in the viewport and the user is actively engaged with the page. Refreshing an ad that’s scrolled off-screen inflates impressions but craters your viewability rate, which lowers the CPM on every impression, including the ones that were viewable.
Revenue impact, policy compliance across networks, and implementation guidelines for Google Ad Manager are covered in our ad refresh guide.
Does Lazy Loading Ads Help or Hurt Revenue?
Lazy loading delays ad rendering until the ad slot approaches the viewport, rather than loading all ads the moment the page opens. It improves Core Web Vitals (specifically Largest Contentful Paint and Cumulative Layout Shift), which affects your search rankings. But it also means below-the-fold ads don’t generate impressions until the user scrolls, which can reduce total impression volume.
The trade-off is real. Lazy loading consistently improves viewability rates because every loaded ad is near or in the viewport when it fires. Higher viewability means higher CPMs per impression. But if users bounce before scrolling, those below-fold slots never load, and you lose impressions you would have counted under eager loading.
The optimal approach for most publishers: lazy load ads below the first screen, but eager load all above-the-fold units. Set the offset distance (how far below the viewport to trigger loading) based on average scroll depth. A 200 to 300 pixel offset gives the ad time to render before the user reaches it.
How lazy loading interacts with viewability, fill rate, and Core Web Vitals, plus implementation specifics for Google Ad Manager, is in our lazy loading guide.
Where to Start Reading
Your next article depends on where you are in the monetization journey.
If you’re new to publisher monetization (under 10K sessions):
- What Is RPM and How Is It Different from CPM and eCPM?: understand the metrics before anything else
- How to Optimize Google AdSense Revenue: squeeze more from AdSense while you grow traffic
- How Ad Viewability Affects CPM: the single biggest factor most small publishers ignore
If you’re on AdSense and approaching 50K sessions:
- Google AdSense vs Mediavine vs Raptive: compare your options and plan the switch
- What Is Ad Fill Rate and How Do Publishers Improve It?: diagnose revenue leaks before migrating
- What Is Lazy Loading for Ads?: fix your Core Web Vitals to protect search traffic during the transition
If you’re on Mediavine or Raptive and optimizing for maximum yield:
- How Ad Viewability Affects CPM: push viewability above 70% to unlock higher bids
- What Is Ad Refresh and Should Publishers Use It?: add incremental revenue without hurting CPMs
- Our header bidding guide covers the demand-side mechanics that power your network’s auction
Milestone: placement & viewability
Milestone: fill rate & header bidding
Milestone: ad refresh & yield
All Articles in This Series
Google AdSense vs Mediavine vs Raptive: Which Ad Network Pays Publishers More?
Compare AdSense, Mediavine, and Raptive for publisher revenue. Traffic requirements, RPM data, revenue share, and which to choose at your traffic level.
Read articleHow to Optimize Google AdSense Revenue: Settings, Placement, and Strategy
Optimize your AdSense revenue with proven placement strategies, Auto Ads settings, and ad unit configuration. Practical tips that increase RPM.
Read articleWhat Is RPM and How Is It Different from CPM and eCPM?
RPM vs CPM vs eCPM explained. Learn the formulas, key differences, and why Page RPM is the ultimate metric for measuring publisher revenue yield.
Read articleWhat Is Ad Fill Rate and How Do Publishers Improve It?
Learn how to calculate and optimize your ad fill rate. Diagnose unfilled impressions, adjust price floors, and maximize publisher ad revenue.
Read articleWhat Is Ad Refresh and Should Publishers Use It?
Ad refresh policy, mechanics, and CPM impact. Learn how viewability-triggered auto-refresh increases publisher ad revenue without violating ad network rules.
Read articleHow Ad Viewability Affects CPM and What Publishers Can Do About It
How ad viewability impacts CPM rates and publisher earnings. IAB standards, placement optimization, Active View metrics, and tips to boost viewability scores.
Read articleWhat Is Lazy Loading for Ads and How Does It Affect Revenue?
How lazy loading display ads impacts viewability, page speed, Core Web Vitals, and publisher revenue. Optimal fetch margins and implementation guide.
Read article