Revenue vs. Latency
Every optimization choice is a trade-off. Learn to balance earning more with keeping your site fast.
The fundamental trade-off
More revenue often means more latency:
| More revenue | More latency |
|---|---|
| More demand partners | More bid requests |
| Longer timeouts | Longer waits for bids |
| More ad slots | More auctions |
| No lazy loading | Ads block page load |
Conversely, a faster site might earn less:
| Less latency | Less revenue |
|---|---|
| Fewer partners | Less competition |
| Shorter timeouts | Missed bids |
| Fewer slots | Fewer impressions |
| Aggressive lazy load | Lower viewability |
Your job: Find the optimal balance for your site and audience.
Why latency matters
User experience
Page load time increases → Bounce rate increases
1s load: Baseline
2s load: +32% bounce rate
3s load: +50% bounce rate
5s load: +90% bounce rate
Slow pages = fewer pageviews = less inventory to monetize.
SEO impact
Core Web Vitals affect rankings:
| Metric | Good | Needs improvement | Poor |
|---|---|---|---|
| LCP | < 2.5s | 2.5s - 4s | > 4s |
| INP | < 200ms | 200ms - 500ms | > 500ms |
| CLS | < 0.1 | 0.1 - 0.25 | > 0.25 |
Poor CWV → Lower rankings → Less traffic → Less revenue.
The hidden cost
A site that's 2 seconds slower might:
- Lose 20% of traffic to bounces
- Rank lower in search
- Have lower user engagement
That "extra" $0.50 CPM from slower optimization isn't worth -20% traffic.
Key levers: Latency side
1. Timeout settings
How long to wait for bids before proceeding:
| Timeout | Trade-off |
|---|---|
| 500ms | Very fast, many missed bids |
| 1000ms | Balanced |
| 1500ms | Standard recommendation |
| 2000ms+ | Slower, diminishing returns |
Recommendation: Start at 1500ms, test lower if you have speed issues.
What happens at timeout:
- Partners that responded: Include in auction
- Partners still pending: Excluded
- Auction proceeds with available bids
2. Lazy loading
Load ads only when they're about to be visible:
| Without lazy load | With lazy load |
|---|---|
| All ads load immediately | Only visible ads load |
| Page blocked until loaded | Page loads faster |
| All ads impact LCP | Only above-fold impacts LCP |
Recommendation: Lazy load all below-fold slots.
3. Partner count
More partners = more requests = more latency:
| Partners | Latency impact | Revenue impact |
|---|---|---|
| 3-5 | Low | Baseline |
| 6-10 | Medium | +10-20% |
| 11-15 | High | +5-10% marginal |
| 16+ | Very high | Diminishing |
Recommendation: 5-10 quality partners beats 20 mediocre ones.
4. Slot count
More slots = more auctions:
| Slots per page | Impact |
|---|---|
| 1-3 | Low latency |
| 4-6 | Moderate |
| 7+ | High latency |
Recommendation: Optimize existing slots before adding more.
Key levers: Revenue side
1. Partner quality over quantity
A slow partner that bids high is better than 5 fast partners that bid low.
Monitor:
- Average bid by partner
- Win rate by partner
- Timeout rate by partner
Remove partners that time out frequently without winning.
2. Slot placement
Better placement = higher viewability = higher bids:
| Placement | Viewability | CPM |
|---|---|---|
| Above-fold header | 70-90% | High |
| In-content | 60-80% | Medium-High |
| Sidebar | 40-60% | Medium |
| Below-fold | 20-40% | Low |
Fewer high-performing slots > many low-performing slots.
3. Size strategy
Larger/premium sizes command higher CPMs:
| Size | Relative CPM |
|---|---|
| 970x250 (billboard) | 1.5x |
| 300x600 (half-page) | 1.3x |
| 300x250 (medium rect) | 1x (baseline) |
| 728x90 (leaderboard) | 0.9x |
| 320x50 (mobile banner) | 0.6x |
Finding your balance
Step 1: Measure baseline
Before optimizing, measure:
| Metric | Your baseline |
|---|---|
| LCP | ___ ms |
| Page load time | ___ s |
| Total revenue/1000 pageviews | $___ |
| Fill rate | ___% |
| Average CPM | $___ |
Step 2: Test one variable
Don't change everything. Test one thing:
| Test | Question it answers |
|---|---|
| Timeout: 1500ms vs 1000ms | Can I be faster without losing bids? |
| Lazy loading: on vs off | Does lazy loading hurt revenue? |
| Remove slowest partner | What's the latency/revenue trade-off? |
| Reduce from 6 to 4 slots | Am I over-monetizing? |
Step 3: Measure impact
After testing, compare:
| Metric | Before | After | Change |
|---|---|---|---|
| LCP | |||
| Revenue/1000 pv | |||
| Bounce rate |
A good trade-off:
- LCP improved significantly
- Revenue dropped only slightly (or not at all)
- Bounce rate improved
A bad trade-off:
- LCP improved marginally
- Revenue dropped significantly
Step 4: Iterate
Optimization is ongoing. What works today may not work tomorrow.
Common scenarios
"My site is slow, what should I cut first?"
Priority order:
- Enable lazy loading for below-fold slots
- Reduce timeout to 1000ms
- Remove partners with high timeout rates
- Reduce slot count if > 6 per page
"I want more revenue, what's safe to add?"
Priority order:
- Add high-value sizes to existing slots
- Add 1-2 quality partners (not 5 mediocre ones)
- Enable refresh (if appropriate for content)
- Add one new slot in high-viewability position
"How do I know if I've gone too far?"
Warning signs:
- LCP > 4 seconds
- Bounce rate increasing
- User complaints
- Google Search Console CWV warnings
The optimization framework
Related concepts
- CWV and Ads → — Deep dive on Core Web Vitals
- Experiments → — How to test changes
- Demand Partners → — Evaluating partner quality