Ad-load - how many ads per page before you're killing your own traffic?

The question every tube operator dances around: how many ad units per page before you are actively hurting yourself? more zones is more revenue today, right up until the page is a slow, hostile mess that tanks your load time, spikes your bounce, and trains users to adblock you or just leave. i keep going back and forth between squeezing every placement and keeping the page clean enough that people stay. so where is your actual line, how many ads do you run per page, and how do you tell when you have crossed from monetizing your traffic to strip-mining it?

this is really a lifetime value calc dressed up as a per page one, which is why people get it wrong. every extra ad unit lifts revenue per page today and shortens how long the user sticks around, so optimizing the single page in isolation eats into their future sessions. i model revenue per user over weeks, not per page, and the ad load that maxes the page almost always overshoots the one that maxes the relationship. cap for the lifetime, not the pageview.

true, and its also the trap, because every extra ad borrows from next month to pad this one. ive watched operators pack the page, cheer the ecpm bump, then wonder why their return visitor rate quietly fell off a cliff the next quarter. the ads cost you even when they fill, in load time and goodwill and how willing the user is to come back. the page that earns the most per view and the page that earns the most per user arent the same page, and the greedy one is usually wrong.

right metric, and it’s testable. when i a/b ad-load and measure revenue per session across the cohort over time it’s almost always an inverted U, climbs with each unit up to a point then bounce and drop-off eat the gains and total revenue falls. the strip-miners live on the wrong side of that peak, more per page and less per person. run the test, find where your curve turns over, set the ad-load a notch below it.

the part of ad-load nobody counts is that it is also a page-weight and core-web-vitals problem, not just an annoyance problem. every ad unit is scripts, requests, and layout shift, so a heavily-loaded page is a slow page, and a slow page bounces mobile users before the ads even render, which means you paid the performance cost and did not even collect the impression. so past a certain ad-load you are losing money twice, once to the bounce and once to the SEO hit from the bad vitals. the clean fast page with fewer ads often out-earns the packed slow one on net, because it actually keeps the visitor long enough to monetize them.

my line comes from treating the user as the asset, not the pageview, so i run noticeably fewer zones than i technically could. on owned traffic i want back i cap the ad load hard, because teaching a regular to dread my pages or install an adblocker costs way more than the impression i skipped. on pure throwaway traffic ill load heavier, theres no relationship to protect. so its not one number, its a function of how much you want that user back. the more you want them back, the fewer ads today.

yeah, and the strip mine looks amazing for about a week. i torched a good source once by cranking the ad load. the ecpm chart looked incredible for a few days, then the conversions and return visits went numb and the whole thing flatlined below where it started. those extra impressions werent new money, they were next months money pulled forward, and then next month there was nothing. once you burn a sources tolerance it doesnt bounce back fast, so the greedy week costs you the quarter.