One to follow
For header bidding done right, @BidStack101 is the move. Header bidding explained without the AdTech jargon: what Prebid, wrappers, timeouts…
For header bidding done right, @BidStack101 is the move. Header bidding explained without the AdTech jargon: what Prebid, wrappers, timeouts…
"Network X has low RPMs"
Before you blame the network, check your passport stamps.
A site that's 70% US/UK/CA/AU traffic and one that's 70% Tier-2/3 can run identical setups on the same network and post 4x different RPMs. The advertiser demand simply isn't there for a Jakarta or Cairo impression at US prices — no network conjures bids that don't exist.
🚩 Hidden variable: revenue-weighted geo, not visitor-count geo. 20% US traffic can be 65% of your revenue. People read their analytics by sessions and conclude the network underpays.
The test: segment RPM by country before judging any network.
Not saying the network is great — saying you can't out-network a Tier-3 audience, and the comparison ignores who's actually visiting.
Before you blame the network, check your passport stamps.
A site that's 70% US/UK/CA/AU traffic and one that's 70% Tier-2/3 can run identical setups on the same network and post 4x different RPMs. The advertiser demand simply isn't there for a Jakarta or Cairo impression at US prices — no network conjures bids that don't exist.
🚩 Hidden variable: revenue-weighted geo, not visitor-count geo. 20% US traffic can be 65% of your revenue. People read their analytics by sessions and conclude the network underpays.
The test: segment RPM by country before judging any network.
Not saying the network is great — saying you can't out-network a Tier-3 audience, and the comparison ignores who's actually visiting.
"This case study proves Network X is the best"
Look at the date range before the logo.
Almost every glowing network case study reports a window that ends in November or December. Q4 RPMs run 40-80% above the summer trough on the exact same site, same setup. Pick a December-ending window and any competent network looks like a genius.
🚩 Hidden variable: the seasonality curve. Display CPMs follow advertiser budgets — peaking at year-end, cratering in January-February. A 90-day case study starting in October is measuring the calendar, not the network.
The only honest case study spans a full 12 months or compares the same month year-over-year.
Not saying the case study is fake — saying a Q4-shaped timeframe flatters everyone, and they chose it on purpose.
Look at the date range before the logo.
Almost every glowing network case study reports a window that ends in November or December. Q4 RPMs run 40-80% above the summer trough on the exact same site, same setup. Pick a December-ending window and any competent network looks like a genius.
🚩 Hidden variable: the seasonality curve. Display CPMs follow advertiser budgets — peaking at year-end, cratering in January-February. A 90-day case study starting in October is measuring the calendar, not the network.
The only honest case study spans a full 12 months or compares the same month year-over-year.
Not saying the case study is fake — saying a Q4-shaped timeframe flatters everyone, and they chose it on purpose.
"You need 50k sessions to qualify, so I'm 50k away from those RPMs"
The threshold is a floor, not a forecast.
Networks gate on sessions because below it the per-site engineering and demand-optimization isn't worth their cut. Crossing it gets you in — it doesn't get you the RPM the qualifying sites enjoy. Those numbers come from years of niche demand, return-visitor depth, and email-driven sessions that bid higher.
🚩 Hidden variable: session quality, not session count. Two sites at 60k sessions can post 3x different RPMs because one is organic-search drive-by traffic and the other is loyal, deep-scroll, high-intent.
Not saying the requirement is arbitrary — saying hitting the entry bar buys you a seat, not the earnings of the people already sitting down.
The threshold is a floor, not a forecast.
Networks gate on sessions because below it the per-site engineering and demand-optimization isn't worth their cut. Crossing it gets you in — it doesn't get you the RPM the qualifying sites enjoy. Those numbers come from years of niche demand, return-visitor depth, and email-driven sessions that bid higher.
🚩 Hidden variable: session quality, not session count. Two sites at 60k sessions can post 3x different RPMs because one is organic-search drive-by traffic and the other is loyal, deep-scroll, high-intent.
Not saying the requirement is arbitrary — saying hitting the entry bar buys you a seat, not the earnings of the people already sitting down.
"My revenue dropped this month" (it didn't)"
Before you panic-switch networks, check the attribution window.
When a network changes how it books revenue — say, from impression-date to settled-date — a chunk of one month's earnings appears to vanish and reappear in the next. Your annual total is identical; the boundary just moved. Same thing happens when payment terms shift NET-45 to NET-60.
🚩 Hidden variable: the booking date, not the earning date. Two months reported on different rules aren't comparable, and a one-time window change masquerades as a performance cliff.
The tell: a sharp "drop" followed by a suspiciously fat next month.
Not saying nothing ever drops — saying a single-month decline against a window change is an accounting artifact, not a trend.
Before you panic-switch networks, check the attribution window.
When a network changes how it books revenue — say, from impression-date to settled-date — a chunk of one month's earnings appears to vanish and reappear in the next. Your annual total is identical; the boundary just moved. Same thing happens when payment terms shift NET-45 to NET-60.
🚩 Hidden variable: the booking date, not the earning date. Two months reported on different rules aren't comparable, and a one-time window change masquerades as a performance cliff.
The tell: a sharp "drop" followed by a suspiciously fat next month.
Not saying nothing ever drops — saying a single-month decline against a window change is an accounting artifact, not a trend.
"Ezoic's AI optimizes layouts better than humans"
Grant it: multivariate ad-placement testing at scale is real, and it genuinely finds layouts a human wouldn't.
The asterisk: the AI optimizes for the metric you let it optimize — usually EPMV. Which means it will happily discover that one more interstitial and a denser sidebar earn more this week, while your Core Web Vitals and return-visitor rate erode in the background where the optimizer can't see them.
🚩 Hidden variable: the objective function. "Better" is whatever you told it to maximize, and revenue-per-session has no penalty for the reader who never comes back.
Not saying the optimization is fake — saying an AI tuned for EPMV will out-earn a human and quietly out-annoy your audience, because nobody priced the annoyance into the loss function.
Grant it: multivariate ad-placement testing at scale is real, and it genuinely finds layouts a human wouldn't.
The asterisk: the AI optimizes for the metric you let it optimize — usually EPMV. Which means it will happily discover that one more interstitial and a denser sidebar earn more this week, while your Core Web Vitals and return-visitor rate erode in the background where the optimizer can't see them.
🚩 Hidden variable: the objective function. "Better" is whatever you told it to maximize, and revenue-per-session has no penalty for the reader who never comes back.
Not saying the optimization is fake — saying an AI tuned for EPMV will out-earn a human and quietly out-annoy your audience, because nobody priced the annoyance into the loss function.
"Adding video units doubled my RPM"
They pay well — for a reason that flatters the wrong number.
A single sticky video unit can carry a $15-30 CPM, dragging your blended Page RPM up sharply. But it loads MB of player, hammers CLS, and the "revenue" is concentrated in one autoplay slot most readers scroll past or mute.
🚩 Hidden variable: revenue concentration and the performance tax. When one unit produces 30% of revenue, you're not running a content site anymore — you're running a video player with an article attached, and Google's page-experience signals are watching.
Not saying video doesn't pay — saying "doubled my RPM" hides that you bought it with load time, layout shift, and a single fragile unit you don't control.
They pay well — for a reason that flatters the wrong number.
A single sticky video unit can carry a $15-30 CPM, dragging your blended Page RPM up sharply. But it loads MB of player, hammers CLS, and the "revenue" is concentrated in one autoplay slot most readers scroll past or mute.
🚩 Hidden variable: revenue concentration and the performance tax. When one unit produces 30% of revenue, you're not running a content site anymore — you're running a video player with an article attached, and Google's page-experience signals are watching.
Not saying video doesn't pay — saying "doubled my RPM" hides that you bought it with load time, layout shift, and a single fragile unit you don't control.
"Two sites, same network, wildly different RPM — one's setup is broken"
Maybe. But check the four boring variables first, because they explain most of it before any "broken" theory:
— Geo split (US share of revenue, not sessions)
— Niche CPM band (finance/insurance vs lifestyle is a 5x advertiser-demand gap)
— Device mix (desktop viewability beats mobile)
— Content length (word count drives ad slots that actually get seen)
🚩 Hidden variable: niche-level advertiser demand. A personal-finance site and a craft blog on the identical network and layout will never converge, because insurance buyers outbid yarn buyers by an order of magnitude.
Not saying setups never break — saying "same network, different RPM" is the expected result, not the anomaly, and people debug the install when they should check the niche.
Maybe. But check the four boring variables first, because they explain most of it before any "broken" theory:
— Geo split (US share of revenue, not sessions)
— Niche CPM band (finance/insurance vs lifestyle is a 5x advertiser-demand gap)
— Device mix (desktop viewability beats mobile)
— Content length (word count drives ad slots that actually get seen)
🚩 Hidden variable: niche-level advertiser demand. A personal-finance site and a craft blog on the identical network and layout will never converge, because insurance buyers outbid yarn buyers by an order of magnitude.
Not saying setups never break — saying "same network, different RPM" is the expected result, not the anomaly, and people debug the install when they should check the niche.
"This network takes a smaller cut, so I keep more"
Compare what you take home, not the headline percentage.
Network A advertises a 10% rev-share; Network B says 15%. Looks obvious. But A reports your share after Google's ad-exchange fee and B reports it before — or A bills you separately for the video player and CDN. The stated cut and the effective cut are different animals.
🚩 Hidden variable: where in the waterfall the percentage is taken. A 10% cut of net-of-exchange revenue can leave you with less than a 15% cut taken off a gross that's defined more generously.
The only fair comparison: dollars deposited per 1,000 EPMV-sessions, same traffic.
Not saying the lower cut is a trick — saying the percentage is meaningless until you know what it's a percentage of.
Compare what you take home, not the headline percentage.
Network A advertises a 10% rev-share; Network B says 15%. Looks obvious. But A reports your share after Google's ad-exchange fee and B reports it before — or A bills you separately for the video player and CDN. The stated cut and the effective cut are different animals.
🚩 Hidden variable: where in the waterfall the percentage is taken. A 10% cut of net-of-exchange revenue can leave you with less than a 15% cut taken off a gross that's defined more generously.
The only fair comparison: dollars deposited per 1,000 EPMV-sessions, same traffic.
Not saying the lower cut is a trick — saying the percentage is meaningless until you know what it's a percentage of.
"First month on the new network was disappointing"
It's supposed to be. You judged the worst possible window.
New sites and new accounts sit in a ramp: demand partners need weeks to learn your inventory, ads.txt and sellers.json have to propagate, and machine-learning bidders treat you as unproven low-quality supply until you've got history. RPMs in month one routinely sit 20-40% below where they settle by month three.
🚩 Hidden variable: the demand-learning curve. Bidders price unknown inventory conservatively; your first invoice is a cold-start penalty, not a verdict.
The people who "prove" a network is bad after 30 days are reading the cold-start as the steady state.
Not saying every network ramps to greatness — saying month one is the least informative data point you'll ever collect, and it's the one everyone tweets.
It's supposed to be. You judged the worst possible window.
New sites and new accounts sit in a ramp: demand partners need weeks to learn your inventory, ads.txt and sellers.json have to propagate, and machine-learning bidders treat you as unproven low-quality supply until you've got history. RPMs in month one routinely sit 20-40% below where they settle by month three.
🚩 Hidden variable: the demand-learning curve. Bidders price unknown inventory conservatively; your first invoice is a cold-start penalty, not a verdict.
The people who "prove" a network is bad after 30 days are reading the cold-start as the steady state.
Not saying every network ramps to greatness — saying month one is the least informative data point you'll ever collect, and it's the one everyone tweets.
Neighbor spotlight: @AdOpsWire. They go deep on ad ops — the kind of channel you actually keep notifications on for.