OpenAdLibraryOpenAdLibrary
Native Ad Networks

Website Earnings Per 1,000 Visitors: Native, Display & Affiliate

A single 'average RPM' number is nearly useless without niche, geo and device context. Here's what actually determines your website earnings per 1,000 visitors.

Editorial illustration: Website Earnings Per 1,000 Visitors: Native, Display & Affiliate

Website earnings per 1,000 visitors (often called RPM, revenue per mille) typically range from under a dollar to well over $50 depending almost entirely on niche, geo, device mix and monetization stack, which is why any single "average RPM" figure you read online is close to meaningless without those qualifiers attached. A finance site with US desktop traffic and a well-tuned display and native stack earns an order of magnitude more per 1,000 visitors than an entertainment site with mixed-geo mobile traffic and a single ad unit.

The variables that actually determine your RPM#

Before comparing yourself to any benchmark, separate out what's actually driving the number:

  • Niche/vertical: finance, insurance and B2B software content commands far higher advertiser demand than general entertainment or lifestyle content, because the advertiser's customer value is higher
  • Geo: US, UK, Canada and Australia traffic pays several multiples of tier-2 or tier-3 geo traffic across almost every ad format
  • Device: desktop generally outperforms mobile for display and native, partly due to screen real estate for more ad units, partly due to historically stronger advertiser demand on desktop
  • Traffic source and intent: a reader who arrived via a high-intent search query on a commercial topic is worth more to advertisers than a reader who clicked a curiosity headline on social media
  • Monetization stack depth: sites running display, native content recommendation, and affiliate links together earn meaningfully more per 1,000 visitors than sites running just one channel, though each additional unit has diminishing returns and a page-speed cost

Why per-visitor thinking can mislead you at scale#

The "per 1,000 visitors" framing is useful for rough planning, but it can quietly mislead you if you use it to compare periods without checking whether the composition of those 1,000 visitors actually stayed the same. A month where a piece of content unexpectedly goes viral on social media can add a large volume of low-intent, high-bounce traffic that dilutes your blended RPM even though nothing about your ad setup changed. Conversely, a month where your organic search traffic grows steadily, typically higher-intent, more engaged visitors, can lift your blended RPM without you touching a single ad setting. Before concluding that a change in your RPM reflects something about your monetization stack, rule out a shift in your underlying traffic composition first.

Rough RPM ranges by monetization type#

These are directional, not guarantees, and every range below can be blown well past its ceiling by an exceptional niche/geo combination or well below its floor by a poor one.

Monetization type Typical RPM range Main driver of variance
Display (programmatic) Low single digits to $15-20+ Niche value, geo, viewability, header bidding depth
Native content recommendation Low single digits to $10-15 Vertical mix served, widget placement, network
Affiliate links Highly variable, often $0 to $100+ Commission structure and conversion rate matter more than pageviews
Direct-sold / sponsored placements Can exceed all of the above Relationship-dependent, not scalable via traffic alone

Native content recommendation RPM correlates closely with what advertisers are actually bidding in your served verticals. Across OpenAdLibrary's index of 725,882 native creatives, health, finance and insurance are the three largest verticals by creative volume (24,472, 24,068 and 22,427 creatives respectively), which roughly tracks where content-recommendation demand, and therefore RPM, concentrates most heavily.

Why "average RPM" numbers are usually misleading#

Most published RPM benchmarks blend across geos, verticals and traffic sources in ways that make them nearly useless for your specific site. A number like "average content site RPM is $X" is typically an average across everything from a US finance blog to a tier-3-geo entertainment aggregator, two sites with RPMs that can differ by 10x or more. The only benchmark worth trusting is one segmented by your actual niche, geo mix and device split, and even then, treat it as a rough range rather than a target.

How to actually raise your earnings per 1,000 visitors#

Rather than chasing a benchmark number, work the levers you actually control:

  1. Improve traffic quality before adding ad units. More display or native inventory on low-value traffic earns less than the same units on higher-intent traffic. Fix your traffic mix first.
  2. Layer monetization channels deliberately, testing each addition's marginal RPM lift against its page-speed cost, rather than adding units reflexively.
  3. Negotiate rather than accept defaults once you have real volume, since default self-serve terms are rarely the network's best offer.
  4. Actively manage which advertisers and categories serve, since a widget full of low-tier bulk demand pays less per impression than one restricted to higher-value verticals.
  5. Track RPM by traffic source separately, not blended, so you can see whether a specific acquisition channel is actually pulling your average down.

Where native ad benchmarks fit into your planning#

If you're trying to forecast what a new native placement might realistically pay, understanding how much native ads cost advertisers and current native ad CPC benchmarks gives you the demand-side half of the equation: what advertisers are actually willing to pay per click sets the ceiling on what a network can pass through to you as a publisher, after its own margin.

How OpenAdLibrary helps you benchmark realistically#

Rather than relying on a generic industry-average RPM figure, it helps to see the actual demand density in your specific vertical. OpenAdLibrary indexes hundreds of thousands of live native creatives across Taboola, Outbrain, MGID, Revcontent and other networks, searchable by vertical, so you can gauge how much active advertiser demand exists in your content category right now, a more concrete signal than a blended industry benchmark. Pricing includes a free tier for browsing.

Building a monetization stack in order#

Most publishers add ad units reactively, whatever's easiest to install next, rather than deliberately. A more useful sequence:

  1. Start with a well-configured display setup, since it requires the least ongoing management once tuned and scales cleanly with pageviews
  2. Layer in native content recommendation once you have enough traffic volume to attract decent demand, since fill quality and RPM both improve with scale on most networks
  3. Add affiliate links selectively, in content where a recommendation is genuinely relevant, rather than everywhere; affiliate RPM depends far more on conversion intent than on raw pageview count, so blanket placement dilutes rather than helps
  4. Pursue direct-sold or sponsored placements last, once you have enough traffic and brand credibility that advertisers approach you rather than the reverse, since these deals depend on relationships you build over time, not on a self-serve signup

Each layer should be measured against its marginal contribution, not evaluated in isolation. A native widget that raises your blended RPM by a small amount but measurably hurts your page speed and organic traffic over time can be a net loss even though its own line item looks positive.

How seasonality and traffic composition distort your average#

A single blended RPM number hides a lot of internal variance that matters for planning. Retail and finance-adjacent content often sees RPM shift meaningfully around seasonal demand peaks, as advertiser competition intensifies for the same impressions. A site with a mixed content calendar (some evergreen how-to content, some seasonal or trending pieces) will see its blended RPM swing as the traffic mix between those content types shifts week to week, independent of anything you changed in your ad setup.

This matters practically: if you're evaluating whether a change (a new widget, a renegotiated rate, a new ad unit) actually improved your RPM, compare like periods, similar traffic mix and season, rather than a raw month-over-month number that might just be reflecting a seasonal or content-mix shift you didn't control for.

The bottom line#

There is no single "earnings per 1,000 visitors" number worth memorizing. Your actual RPM is a function of niche, geo, device and monetization depth, and the honest planning approach is to segment any benchmark you read by those variables before comparing it to your own numbers, then work the controllable levers (traffic quality, stack depth, active category management, negotiated terms) rather than chasing an industry average that was never describing a site like yours in the first place.

Frequently asked questions

What's a good RPM for a website?
There's no universal figure. It depends heavily on niche, geo and device mix; a US finance site can see RPMs many multiples higher than a tier-3-geo entertainment site. Compare yourself against benchmarks segmented by your specific niche and geo, not a blended industry average.
Does native advertising or display advertising pay more per 1,000 visitors?
It varies by site. Display programmatic tends to have a wider ceiling in high-value niches with deep header bidding setups, while native content recommendation often has a more consistent floor. Most publishers running both find they complement rather than cannibalize each other.
Why does my RPM look so different from published industry averages?
Published averages typically blend traffic across every geo, niche and device combination, which produces a number that describes almost no specific site accurately. Segment any benchmark by your own niche, geo and device split before comparing.
Does adding more ad units always increase my RPM?
No, each additional unit typically has diminishing revenue returns and a real page-speed cost. Test the marginal lift of each addition against its impact on load time and Core Web Vitals rather than assuming more units always means more revenue.
How much does traffic source affect RPM?
Significantly. A visitor arriving via a high-intent commercial search query is generally worth more to advertisers than one who clicked a curiosity-driven social headline, even on the same page. Tracking RPM by traffic source separately, rather than blended, usually reveals where your average is being pulled down.
The OpenAdLibrary Team
Written byThe OpenAdLibrary Team
Ad intelligence & native advertising research

We build OpenAdLibrary, the open ad-transparency platform. Every day our systems capture live native ads across Taboola, Outbrain, MGID, Revcontent, Teads, Yahoo and MSN, identify the real advertiser behind each one, and follow the click to its landing page. These guides distill what we see in that data so you can research the market faster.