The Yield Experiment Playbook

A Publisher's Guide to Optimizing Revenue Per Session

 

Download PDF
Key Points
Key Points

What You'll Learn in this Guide

  • Revenue per session (RPS) is the single best metric for understanding the true monetization efficiency of your website. Optimizing for it requires thinking beyond individual ad units or pages.
  • The most impactful yield experiments treat different traffic segments differently. One ad layout for all traffic is like wearing the same outfit to a wedding and a beach party.
  • This playbook contains 30+ experiment ideas across eight categories, each with a hypothesis, setup guidance, measurement criteria, and success benchmarks.
  • Some experiments are low-effort, high-impact wins. Others require more sophisticated tooling. We've tiered them accordingly so you can start wherever your setup allows.
  • The compounding effect of running multiple successful experiments is where the real magic happens. Small wins on individual levers stack up fast.
  • Use our Yield Experiment Plan Builder for creating your own hypotheses and experiments.

Don't have time to read this?
Take a copy with you

Download PDF
Chapter 1

Why Revenue Per Session Is the Metric That Actually Matters

If you're still optimizing purely for page view RPM, you're looking at the scoreboard while the game is being played on the field. Page view RPM tells you how well a single page monetized. Revenue per session tells you how well your entire user experience monetized. That's a fundamentally different question, and it's the one that actually matters.

Think about it this way: you could have a page that earns a fantastic RPM but drives users away so fast they never view a second page. Your RPM looks great. Your total revenue? Not so much. RPS forces you to account for the relationship between monetization intensity and user behavior, which is exactly the tension yield teams need to be managing.

RPS is calculated as your total ad revenue divided by total sessions over a given period. It captures everything: ad density, CPMs, session length, pages per session, viewability, refresh behavior, and ad unit mix. When RPS goes up, you're genuinely making more money per user visit. When it goes down, something in that complex equation broke.

Every experiment in this playbook is designed to move that number. Some do it by increasing the value of individual impressions. Others do it by extending sessions so you get more impressions per visit. The best ones do both.

 

Need a Primer? Read these first:

Chapter 2

The Experimentation Framework: How to Think About Yield Tests

Running yield experiments without a framework is like throwing darts blindfolded. You might hit something, but you won't know why. Before diving into specific experiments, let's establish how to run them properly.

The Hypothesis-Test-Measure Loop

Every experiment starts with a hypothesis. Not "let's try something and see what happens" (that's not an experiment, that's gambling). A proper hypothesis looks like this: "If I do X for traffic segment Y, it will increase RPS because of Z." The "because of Z" part is critical. It forces you to articulate your reasoning, which makes it much easier to diagnose results.

Traffic Allocation and Statistical Significance

Split your traffic between a control group (your current setup) and a test group (your experimental configuration). The exact split depends on your traffic volume and risk tolerance, but 50/50 is the gold standard for reaching statistical significance fastest. If you're nervous about a test, start with 80/20 (control/test) and scale up once you see directionally positive results.

Let tests run for at least one full week (ideally two) to account for day-of-week patterns in both traffic and advertiser demand. Ending a test on a Tuesday because it "looks good" is a great way to fool yourself.

What to Measure on Every Single Test

Regardless of which specific experiment you're running, every test should track these core metrics. Changes to any one of them can affect RPS, and you need to understand the interplay.

Metric

Why It Matters

Watch For

Revenue Per Session

Your north star. Total revenue / total sessions.

Ensure both test and control have comparable traffic quality.

Session Duration

Longer sessions generally mean more ad impressions and revenue.

A spike in duration with flat RPS could mean users are idle, not engaged.

Pages Per Session

More pageviews = more opportunities to serve ads.

Ensure navigation isn't broken in the test variant.

Page View RPM

Revenue per 1,000 page views. Shows per-page monetization intensity.

RPM can increase while RPS decreases if session length drops enough.

Viewability Rate

Directly impacts CPMs. Advertisers pay more for viewable impressions.

Below 50% viewability may trigger SSP blocks or reduced demand.

Ad Impressions Per Session

Total impressions across a full session. The volume component of RPS.

More isn't always better. Watch for CPM depression at high volumes.

Bounce Rate

Users who leave after one page. High bounce = low RPS.

Changes in bounce rate are often the first signal of a UX issue.

Experiment Complexity Tiers

Not all experiments require the same level of effort or tooling. We've categorized each experiment in this playbook using the following tiers so you can prioritize based on your current capabilities.

Tier

Effort Level

Tooling Required

Best For

Tier 1

Low. Config changes, minimal dev.

Ad server + basic analytics

Any publisher. Start here.

Tier 2

Medium. Requires segmentation and conditional logic.

A/B testing platform, traffic segmentation tools

Publishers with some ad ops capability.

Tier 3

High. Custom development or advanced platform features.

Programmatic platform with ML, custom dev resources

Sophisticated teams or managed service partners.

Chapter 3

Build Your Own Yield Experiments

You can use any of our 30+ sample experiments below for inspiration or feel free to start building your own!

P
Playwire

Yield Experiment Builder

Build a structured test plan to optimize your revenue per session. Pick your lever, target your segment, get a ready-to-run experiment.

What lever are you pulling?

Select the aspect of your ad stack you want to experiment with.

What segment are you targeting?

Choose how you want to slice your traffic for this experiment.

What's your hypothesis direction?

What change do you believe will improve revenue per session?

Your Experiment Plan

Related Content:

Chapter 4

Traffic Source Segmentation Experiments

Your organic search traffic is not the same as your social traffic. Your direct visitors are not the same as your email newsletter clicks. They arrive with different intent, different attention spans, and different value to advertisers. Treating them all identically is the yield management equivalent of a buffet restaurant that serves the same food at breakfast, lunch, and dinner. Technically functional, but a massive missed opportunity.

Traffic source segmentation experiments are some of the highest-ROI tests you can run because they unlock a fundamental truth: the optimal ad experience depends on who's visiting and why.

Experiment 1: Ad Density Differentiation by Traffic Source [Tier 2]

Hypothesis: Organic search users stay longer and view more pages. Serving them a lighter ad layout will extend session duration and increase total impressions per session, resulting in higher RPS compared to a one-size-fits-all layout. Conversely, social referral traffic that bounces quickly should see a denser layout that monetizes aggressively in the first pageview.

How to set it up:

  • Identify your top 3-4 traffic sources in analytics (organic, social, direct, referral).
  • Measure the average session duration and pages per session for each source over a 30-day baseline.
  • Create variant ad layouts: a lighter layout (fewer units, more spacing) for your longest-session source and a denser layout (more units, faster refresh) for your shortest-session source.
  • Split traffic within each source: 50% control (current layout), 50% variant.
  • Run for a minimum of 14 days.

What to measure:

  • RPS per traffic source (primary)
  • Session duration per source (secondary)
  • Pages per session per source (secondary)
  • Viewability rate per source (guard rail)

What good looks like: RPS increases for the traffic sources where you customized the layout without a meaningful drop in session engagement metrics. Even a 5-10% RPS lift on your highest-volume traffic source can be significant at scale.

Watch out: Don't over-index on one metric. If your dense layout for social traffic pushes viewability below 50%, you may trigger SSP blocks that negate any gains.

Experiment 2: Traffic Source-Specific Price Floor Strategies [Tier 2]

Hypothesis: Organic search traffic carries stronger intent signals, making it more valuable to advertisers. Setting higher price floors on organic sessions will increase CPMs without tanking fill rate, because demand is strong enough to support it. Lower-value traffic sources (social, certain referrals) should run with lower or no floors to protect fill rate where demand is softer.

How to set it up:

  • Establish baseline CPM and fill rate for each traffic source over 30 days.
  • Create price floor rules segmented by traffic source. Start with a 10-20% floor increase on your highest-value source.
  • Maintain your current floors as the control across a 50% traffic split.
  • Monitor fill rate closely in the first 72 hours for any sharp drops.

What to measure:

  • CPM by traffic source (primary)
  • Fill rate by traffic source (critical guard rail)
  • Total revenue by traffic source (primary)
  • RPS by traffic source (primary)

What good looks like: CPMs increase on high-value sources without fill rate dropping more than 2-3 percentage points. The net revenue effect should be positive. If fill rate craters, your floors are too aggressive.

Watch out: Price floor experiments can take longer to show results because the auction ecosystem needs time to adjust. Don't pull the plug too early.

Experiment 3: Bidder Stack Optimization by Traffic Source [Tier 3]

Hypothesis: Different SSPs value different traffic sources differently. An SSP that performs well on gaming content from organic search may underperform on social referral traffic. Testing different bidder configurations per traffic source will reveal which SSP combinations maximize revenue for each segment.

How to set it up:

  • Pull a report of SSP-level CPM and win rate broken down by traffic source for a 30-day baseline.
  • Identify SSPs that consistently underperform for specific traffic sources (low win rate, low CPM).
  • Create a variant configuration that removes the bottom-performing SSPs for each traffic source.
  • Run the test with a 50/50 split per source for at least 14 days.

What to measure:

  • RPS by traffic source (primary)
  • Page load time / latency (critical guard rail)
  • CPM by SSP and traffic source (diagnostic)
  • Win rate by SSP and traffic source (diagnostic)

What good looks like: Fewer bidders result in faster pages (lower latency) and comparable or higher CPMs. The latency reduction alone can improve session metrics enough to boost RPS even if per-impression CPMs stay flat.

Watch out: Removing an SSP means losing their demand entirely for that segment. Make sure you're removing genuinely low-performing partners, not ones that win infrequently but at high CPMs.

Experiment 4: Referral-Specific Ad Layouts [Tier 2]

Hypothesis: Traffic from Reddit behaves differently than traffic from Google Discover, which behaves differently than a newsletter click. Each referral source produces users with distinct scroll patterns, session lengths, and engagement levels. Tailoring ad layouts to the expected behavior of each referral source will increase RPS.

How to set it up:

  • Identify your top 5-10 specific referral sources beyond the broad categories (e.g., reddit.com, news.google.com, specific newsletters).
  • Analyze session behavior for each: average scroll depth, time on page, pages per session.
  • Design layout variants that match the behavior. High-scroll referrals get units spaced deeper. Quick-bounce referrals get monetization concentrated above the fold.
  • Run A/B tests per referral source for 14 days.

What to measure:

  • RPS by specific referral source (primary)
  • Scroll depth by referral source (diagnostic)
  • Ad viewability by referral source (guard rail)

What good looks like: RPS improvements on at least 2-3 of your top referral sources. You won't win everywhere, and that's fine. Focus on the sources that account for the most sessions.

Watch out: Referral traffic volume for individual sources can be volatile. Ensure your sample sizes are large enough for statistical confidence before drawing conclusions.

Chapter 5

Session Depth and Engagement Experiments

These experiments are built on a simple premise: the deeper a user goes into a session, the more valuable that session becomes, and the more aggressively you can monetize it. A user who has scrolled 80% down a page or clicked to their third article has demonstrated intent. They're not leaving. That's the moment to introduce your highest-value ad units, not on the first page load when you have no idea if they'll stick around.

Experiment 5: Progressive Ad Loading Based on Scroll Depth [Tier 2]

Hypothesis: Loading all ad units at page load wastes impressions on users who bounce immediately and adds unnecessary page weight. Loading ad units progressively as the user scrolls deeper will concentrate impressions on engaged users, boost viewability scores, and improve CPMs.

How to set it up:

  • Define scroll depth thresholds (e.g., 25%, 50%, 75%) and assign ad units to each threshold.
  • Load only above-the-fold units on initial page render. Inject additional units as the user crosses each scroll threshold.
  • Compare against your current setup where all units load at once.
  • Run for 14 days with a 50/50 split.

What to measure:

  • Viewability rate (primary, should increase meaningfully)
  • CPM (primary, should increase with viewability)
  • Total impressions per session (diagnostic, may decrease but that's expected)
  • RPS (primary, the net effect)
  • Page load time (secondary, should improve)

What good looks like: Viewability increases significantly (5-15+ percentage points). CPMs follow. Total impressions per session may drop slightly, but the CPM increase more than compensates. Net RPS should be positive.

Watch out: Make sure your lazy loading implementation doesn't cause layout shift when ads inject. Test the user experience visually, not just the numbers.

Experiment 6: Loyalty-Based Ad Density Tiers [Tier 3]

Hypothesis: Returning visitors have already demonstrated they like your site enough to come back. They're more tolerant of ads and more valuable to advertisers (repeat visitors signal quality). Serving returning visitors a slightly higher ad density, and first-time visitors a lighter experience, will increase RPS on your most engaged segment while protecting acquisition of new users.

How to set it up:

  • Use a first-party cookie or session identifier to classify users as new vs. returning (2+ visits in 30 days).
  • Create two layout variants: a standard layout for new users and a layout with 1-2 additional ad units for returning users.
  • Ensure the returning-user layout still respects ad density best practices (under 30% on mobile).
  • Run for 21 days to capture enough returning-user sessions.

What to measure:

  • RPS for returning users vs. new users (primary)
  • Return visit rate (critical guard rail, don't want to drive returning users away)
  • Session duration by user type (secondary)
  • Viewability by user type (guard rail)

What good looks like: RPS increases for returning users without a drop in the rate of return visits. If your return visit rate drops, you've pushed too hard and need to dial back.

Watch out: This test requires longer run times because you need returning visitors to actually return during the test window. Two weeks minimum, three is better.

Experiment 7: Session Page Depth Triggers for High-Value Units [Tier 2]

Hypothesis: Users who navigate to a second or third page within a session have signaled engagement. Introducing higher-value ad units (video, interactive, rewarded) starting on the second pageview will capture more revenue from engaged sessions without risking bounce on the landing page.

How to set it up:

  • Track page depth within sessions using your analytics or ad serving platform.
  • Configure higher-CPM ad units (in-stream video, interactive, rewarded) to only serve on pageview 2 or later.
  • Keep the first pageview layout focused on standard display units.
  • Compare against a control where high-value units are served on all pages.

What to measure:

  • RPS (primary)
  • CPM on pageview 1 vs. pageview 2+ (diagnostic)
  • Pages per session (critical guard rail)
  • Video completion rate on triggered units (secondary)

What good looks like: RPS increases because you're concentrating high-CPM units on users who stick around to see them, improving viewability and completion rates. Pages per session should remain stable or improve.

Watch out: If you currently run video units on page one and they perform well, this test may actually decrease performance. It works best when your page-one video viewability is already low.

Experiment 8: Engagement-Triggered Overlay and Floating Units [Tier 2]

Hypothesis: Holding back overlay-style ad units (floating video, adhesive banners, interstitials) until a user demonstrates engagement (X seconds on page, Y% scroll depth) will increase their viewability and completion rates, driving up CPMs on those units.

How to set it up:

  • Define your engagement thresholds: 15-30 seconds of active time on page, or 40-60% scroll depth.
  • Configure overlay/floating units to deploy only after the threshold is met.
  • Critical: only test this with units that overlay content (floating video, adhesive, interstitials). Units that displace page content (site skins, in-content display) must load with the initial render to avoid Cumulative Layout Shift (CLS) penalties.
  • Run for 14 days with a 50/50 split.

What to measure:

  • Viewability rate on triggered units (primary)
  • Video completion rate on triggered units (primary)
  • CPM on triggered units vs. non-triggered (diagnostic)
  • CLS score (critical guard rail, must not increase)
  • RPS (primary)

What good looks like: Viewability and completion rates on overlay units increase significantly. CPMs follow. Users who never hit the engagement threshold never see the ad, which saves you wasted impressions and keeps your supply quality high.

Watch out: This is exclusively for overlay-style units. Attempting to delay-load units that affect page layout (like site skins, rail units, or in-content display) will destroy your CLS scores, damage Core Web Vitals, and potentially hurt your search rankings. Don't do it.

 

Chapter 6

Ad Unit Mix and Placement Experiments

Your ad unit mix is arguably the lever with the most direct impact on both user experience and revenue. Every unit you add increases supply. Every unit you remove decreases it. The art is in finding the combination that maximizes the total revenue you extract from a session without tipping the balance into ad clutter territory, where CPMs drop, users leave, and SSPs start sending you uncomfortable emails.

Experiment 9: Adhesive Unit vs. Multiple Inline Units [Tier 1]

Hypothesis: Replacing two or three inline display units with a single refreshing adhesive unit will simplify the page experience, improve session duration, and generate comparable or greater revenue through consistent viewability and regular refresh cycles.

How to set it up:

  • Identify 2-3 inline display units that are currently underperforming (low viewability, low CPMs).
  • Replace them with a single bottom adhesive unit configured to refresh every 30-60 seconds.
  • Keep all other ad units identical between control and test.
  • Run for 14 days.

What to measure:

  • RPS (primary)
  • Total revenue (primary)
  • Session duration (secondary, should improve)
  • Viewability rate (should improve significantly)
  • Ad density score on mobile (guard rail)

What good looks like: Session duration increases because the page is less cluttered. The adhesive unit's consistent viewability and refresh cycles generate comparable or better revenue than the inline units it replaced. RPS goes up.

Watch out: Make sure the adhesive unit doesn't obscure important navigational elements or content on mobile. A bad implementation drives users away faster than too many inline ads.

Experiment 10: Refresh Interval Optimization by Content Type [Tier 1]

Hypothesis: Long-form article pages keep users engaged for minutes at a time, making them ideal for longer refresh intervals that boost viewability per impression and increase CPMs. Gallery pages and shorter content can support faster refresh intervals since users scan them quickly. Matching refresh intervals to content consumption patterns will increase RPS.

How to set it up:

  • Categorize your pages by template or content type: long-form articles, galleries, tool/utility pages, short posts.
  • Set differentiated refresh intervals: 45-60 seconds for long-form, 25-35 seconds for galleries and short content.
  • Compare against a control using your current uniform refresh interval.
  • Run for 14 days.

What to measure:

  • Viewability per impression by content type (primary)
  • CPM by content type (primary)
  • Total impressions per session by content type (diagnostic)
  • RPS by content type (primary)

What good looks like: Longer refresh intervals on long-form content result in higher viewability and CPMs per impression. Faster intervals on short content capture more impressions before the user navigates away. The combined effect lifts overall RPS.

Watch out: Be careful not to refresh too aggressively on any content type. SSPs and advertisers monitor refresh behavior, and overly fast refresh can get you flagged or blocked.

Experiment 11: High-Impact Unit Format Rotation [Tier 2]

Hypothesis: Different high-impact ad formats perform differently depending on the content, the audience, and the time of day. Instead of always showing the same high-impact format, rotating between formats (interscroller, skin, adhesive video, rewarded) and measuring performance will reveal which format maximizes RPS for each context.

How to set it up:

  • Identify the high-impact ad slots on your most trafficked pages.
  • Configure 3-4 different high-impact formats to rotate through those slots.
  • Ensure equal impression distribution across formats.
  • Track performance per format for 21 days.

What to measure:

  • CPM per format (primary)
  • Viewability per format (primary)
  • Session duration impact per format (secondary)
  • RPS when each format is served (primary)

What good looks like: One or two formats clearly outperform the others on an RPS basis. You may also find that the winner varies based on device type, traffic source, or content type, opening the door for even more targeted optimization.

Watch out: High-impact formats often have limited demand compared to standard display. Make sure you have adequate demand for any format you include in the rotation.

Experiment 12: Video Unit Placement and Trigger Testing [Tier 2]

Hypothesis: Video ad units command dramatically higher CPMs than display, but poor implementation (autoplay at page load, intrusive positioning) can crater session duration. Testing different video positions (in-content, floating corner, adhesive) and trigger mechanisms (scroll-into-view, click-to-play, time-delayed) will find the combination that maximizes video revenue without damaging the session.

How to set it up:

  • Select 3-4 video placement and trigger combinations to test.
  • Configure each as a separate variant in your A/B testing tool.
  • Ensure you're tracking both the video ad metrics (completion rate, CPM) and the session-level impact.
  • Run for 14 days.

What to measure:

  • Video completion rate per variant (primary)
  • Video CPM per variant (primary)
  • Session duration per variant (critical guard rail)
  • Pages per session per variant (critical guard rail)
  • RPS per variant (primary)

What good looks like: You find the placement and trigger combination that maximizes video CPM and completion rate while maintaining session metrics. The best video implementations actually improve session engagement because they offer a content break rather than an interruption.

Watch out: Autoplay video with sound is a guaranteed way to tank session metrics and anger your users. If you're testing autoplay, it should always be muted with a user-initiated unmute option.

Related Content:

Chapter 7

Price Floor and Auction Mechanics Experiments

Price floors are one of the most powerful levers in yield management, and one of the easiest to screw up. Set them too high and you kill fill rate. Set them too low and you leave CPM on the table. The sweet spot is somewhere in the middle, and the frustrating truth is that "somewhere" changes constantly based on time of day, day of week, geography, device, and about a hundred other factors.

These experiments focus on making your auction mechanics smarter by varying price floors across dimensions that most publishers treat uniformly.

Experiment 13: Time-of-Day Price Floor Adjustments [Tier 2]

Hypothesis: Advertiser demand fluctuates throughout the day. Weekday mornings and primetime hours typically see stronger demand, while late-night and early-morning hours are softer. Increasing price floors during peak demand windows and relaxing them during off-peak windows will optimize the fill rate vs. CPM balance across the day.

How to set it up:

  • Pull 30 days of hourly CPM and fill rate data to establish your demand curve.
  • Identify peak hours (likely 9am-12pm and 7pm-10pm local time, but verify with your data) and off-peak hours.
  • Set floors 15-25% higher during peak hours and 10-15% lower during off-peak hours relative to your current baseline.
  • Run the time-based variant against your current uniform floors for 14 days.

What to measure:

  • CPM by hour (primary)
  • Fill rate by hour (critical guard rail)
  • Total revenue by daypart (primary)
  • RPS by daypart (primary)

What good looks like: Peak-hour CPMs increase without significant fill rate loss. Off-peak fill rates improve, capturing revenue that was previously blocked by floors that were too high for the available demand. Total daily revenue increases.

Watch out: Your demand curve will be different from everyone else's, especially if your audience skews to a specific timezone or demographic. Don't use generic assumptions. Use your actual data.

Experiment 14: Device-Specific Price Floor Strategies [Tier 1]

Hypothesis: Desktop inventory generally commands higher CPMs than mobile because of larger ad formats, higher viewability, and different advertiser demand. Setting differentiated price floors per device category will allow you to be more aggressive on desktop (where demand supports it) while protecting mobile fill rate.

How to set it up:

  • Pull 30 days of device-level CPM and fill rate data.
  • Set desktop floors 10-20% higher than your current baseline.
  • Set mobile floors 5-10% lower than your current baseline (or remove floors entirely if mobile fill rate is already an issue).
  • Run for 14 days.

What to measure:

  • CPM per device (primary)
  • Fill rate per device (critical guard rail)
  • RPS per device (primary)
  • Total revenue per device (primary)

What good looks like: Desktop CPMs increase without a meaningful fill rate decline. Mobile fill rates improve, and the additional filled impressions generate incremental revenue. Net effect is positive across both device types.

Watch out: Tablet traffic sits in a gray area. If your tablet volume is significant, treat it as a third segment rather than lumping it in with mobile or desktop.

Experiment 15: Geographic Price Floor Segmentation [Tier 2]

Hypothesis: Tier 1 geos (US, UK, Canada, Australia) have dramatically stronger advertiser demand than Tier 2/3 markets. Your Tier 1 traffic can support much more aggressive price floors while your international traffic needs lower floors to maintain fill rate. Segmenting floors by geo will capture more value from premium markets without sacrificing revenue in developing ones.

How to set it up:

  • Segment your traffic into geo tiers based on CPM performance (Tier 1, Tier 2, Tier 3).
  • Increase floors 20-30% on Tier 1 geos.
  • Decrease floors 15-25% on Tier 3 geos (or remove floors entirely).
  • Keep Tier 2 geos at your current baseline as a control comparison.
  • Run for 14 days.

What to measure:

  • CPM per geo tier (primary)
  • Fill rate per geo tier (critical guard rail)
  • Revenue per geo tier (primary)
  • RPS per geo tier (primary)

What good looks like: Tier 1 CPMs increase meaningfully (10%+). Tier 3 fill rates improve. The combined revenue impact across all tiers is positive. You're extracting more value where demand is rich and filling more inventory where demand is thin.

Watch out: Be aware that some SSPs have geo-specific demand that may not respond well to aggressive floors. Monitor at the SSP level, not just the aggregate.

Experiment 16: First-Impression Premium Pricing [Tier 3]

Hypothesis: The first ad impression in a session has the highest viewability because the user just arrived and is actively looking at the page. Setting a premium price floor specifically on the first impression, then relaxing floors on subsequent impressions, will capture the maximum value from that high-attention moment.

How to set it up:

  • Configure your ad server or programmatic platform to identify the first impression of each session.
  • Set a floor 25-40% above your baseline on that first impression.
  • Maintain standard floors on all subsequent impressions.
  • Compare against your current uniform floor approach.
  • Run for 14 days.

What to measure:

  • First-impression CPM (primary)
  • First-impression fill rate (critical guard rail)
  • Session-level RPS (primary)
  • Subsequent impression CPMs (monitor for unintended effects)

What good looks like: The first impression CPM jumps significantly with only a minor fill rate impact. Since this is your highest-viewability impression, demand is typically strong enough to absorb higher floors. The per-session revenue contribution of that first impression increases.

Watch out: This requires a platform that can differentiate between first and subsequent impressions at the ad call level. Not all setups support this natively.

 

Related Content:

Chapter 8

Bidder and Demand Optimization Experiments

Every bidder you call adds latency to your page load. Latency hurts session metrics. Session metrics affect RPS. But every bidder you remove is demand you're leaving on the table. This category of experiments is about finding the right balance: enough demand to drive competitive auctions, not so much that your pages load like it's 2005 on a dial-up connection.

Experiment 17: Bidder Timeout Optimization [Tier 1]

Hypothesis: Tightening your header bidding timeout will reduce page load times, improving user experience and session metrics. The key question is whether the lost bids from slower SSPs are worth more than the session improvements gained from faster pages. This experiment finds the optimal timeout window.

How to set it up:

  • Establish your current timeout setting and pull 30 days of latency data per SSP.
  • Identify SSPs that frequently exceed your timeout window and the CPMs they contribute.
  • Create variant configurations with tighter timeouts: try reducing by 200ms increments from your current baseline.
  • Run each variant for 14 days.

What to measure:

  • Page load time (primary)
  • Session duration (primary)
  • Pages per session (primary)
  • Bid response rate per SSP (diagnostic)
  • Revenue lost from timed-out bids (diagnostic)
  • RPS (primary, the net effect)

What good looks like: A 200-400ms timeout reduction improves page load times noticeably, session duration increases, and the lost bid revenue is offset (or exceeded) by the session improvement. Net RPS goes up.

Watch out: Don't tighten timeouts so much that you lose your highest-CPM bidders. The goal is to cut the fat (slow, low-value bids), not the muscle.

Experiment 18: Bidder Call Reduction for Low-Value Segments [Tier 2]

Hypothesis: For traffic segments you know are low-CPM (Tier 3 geos, certain referral sources), calling a full bidder stack is overkill. Reducing the number of bidders called for these segments will dramatically improve page speed for those users, potentially increasing session depth enough to offset the slightly lower per-impression CPMs.

How to set it up:

  • Identify your low-CPM traffic segments based on 30 days of data.
  • For those segments, create a variant that calls only your top 3-5 bidders (ranked by win rate and CPM for that specific segment).
  • Compare against the full bidder stack for the same segments.
  • Run for 14 days.

What to measure:

  • Page load time for low-value segments (primary)
  • Session duration for low-value segments (primary)
  • Pages per session for low-value segments (primary)
  • CPM for low-value segments (secondary)
  • RPS for low-value segments (primary)

What good looks like: Pages load significantly faster for the reduced-bidder variant. Session duration and page depth improve. Even though per-impression CPMs may dip slightly, the additional pageviews per session more than compensate. RPS for these segments increases.

Watch out: "Low-value" is relative to your site. What counts as a low-value segment on a US-focused gaming site is different from a global education publisher. Define it based on your data, not industry generalizations.

Experiment 19: Identity Solution A/B Testing [Tier 2]

Hypothesis: Identity solutions (unified IDs, hashed emails, etc.) boost CPMs by making traffic addressable to advertisers. But each identity call adds latency and cost. Testing different combinations of identity solutions will reveal which ones provide enough CPM lift to justify their overhead.

How to set it up:

  • List all identity solutions currently active in your stack.
  • Create variants that include different subsets of identity solutions.
  • Track the incremental CPM lift each solution provides against its latency cost.
  • Run for 14 days per variant.

What to measure:

  • CPM with vs. without each identity solution (primary)
  • Page load time per variant (secondary)
  • Fill rate per variant (secondary)
  • RPS per variant (primary)
  • Identity solution cost per variant (if applicable)

What good looks like: One or two identity solutions provide the bulk of the CPM lift. Others add latency without meaningful return. Removing the underperformers speeds up your pages and reduces costs without hurting CPMs.

Watch out: Identity solution effectiveness varies dramatically by audience type. A publisher with high login rates will see very different results than one with mostly anonymous traffic. Your mileage will vary.

 

Related Content:

Chapter 9

Content and Page-Level Experiments

Not all pages on your site are created equal. Your homepage serves a fundamentally different purpose than an article page. A gallery page has different user behavior than a tools page. Treating every URL on your site the same way is the yield management equivalent of a doctor prescribing the same medication for every patient regardless of symptoms. The experiments in this section focus on tailoring your monetization strategy to the specific characteristics of different page types and content categories.

Experiment 20: Page Template-Specific Ad Strategies [Tier 2]

Hypothesis: Your homepage, article pages, gallery pages, and utility pages all have different engagement patterns. Designing entirely different ad strategies per page template (different unit counts, different formats, different refresh settings) will outperform a single universal configuration.

How to set it up:

  • Categorize your site's pages by template type: homepage, article, gallery, tool/utility, category listing, etc.
  • Pull per-template metrics: average session depth from that template, bounce rate, scroll depth, time on page.
  • Design a custom ad strategy for each template based on user behavior data.
  • Test the custom strategies against your current one-size-fits-all approach.
  • Run for 14 days.

What to measure:

  • RPS per page template (primary)
  • Session behavior metrics per template (secondary)
  • Viewability per template (guard rail)
  • Total site-wide RPS (primary, the bottom line)

What good looks like: At least 2-3 of your template-specific strategies outperform the universal one. The site-wide RPS improvement from combining multiple template-specific wins is greater than any single experiment could achieve alone.

Watch out: Start with your highest-traffic templates first. Optimizing a template that accounts for 3% of your pageviews is a bad use of time compared to one that accounts for 60%.

Experiment 21: Content Length-Based Ad Density [Tier 1]

Hypothesis: Short articles can only support a limited number of ad units before they become more ad than content. Long-form pieces can support more units spaced throughout without feeling cluttered. Matching your ad density to content length will find a better UX/revenue balance than a uniform approach.

How to set it up:

  • Define content length tiers: short (under 500 words), medium (500-1,500 words), long (1,500+ words).
  • Create ad layout variants for each tier: fewer, higher-value units for short content; more units spaced throughout for long content.
  • Test against your current uniform layout.
  • Run for 14 days.

What to measure:

  • RPS per content length tier (primary)
  • Ad density score per tier (guard rail, stay under 30% on mobile)
  • Session duration per tier (secondary)
  • Viewability per tier (secondary)

What good looks like: Short-form content RPS stays stable or improves (fewer but higher-viewability impressions). Long-form content RPS increases (more units that maintain viewability thanks to engaged readers). Overall site RPS improves.

Watch out: Content length is a proxy for engagement opportunity, not a guarantee. A 2,000-word article that nobody reads past the first paragraph doesn't benefit from more ad units. Combine this with scroll depth data for best results.

Experiment 22: Landing Page vs. Internal Page Monetization Split [Tier 2]

Hypothesis: Pages that serve as session entry points (landing pages) should be optimized to encourage the next click, not to extract maximum ad revenue immediately. Reducing ad load on landing pages to improve navigation rates, then monetizing more heavily on internal pages (where the user has already committed to the session), will increase total session revenue.

How to set it up:

  • Identify your top 20-30 landing pages (pages with the highest share of session starts).
  • Create a lighter ad layout for these pages: fewer units, no interruptive formats, focus on keeping the user moving deeper.
  • Maintain or increase ad density on internal pages (second pageview and beyond).
  • Compare against your current uniform approach.
  • Run for 21 days to capture full session behavior.

What to measure:

  • Pages per session (primary, should increase)
  • Bounce rate on landing pages (primary, should decrease)
  • RPS (primary, the net effect)
  • Landing page RPM (will decrease, and that's intentional)

What good looks like: Bounce rate on landing pages drops. Pages per session increases. Even though the landing page itself earns less per pageview, the additional pageviews per session more than compensate. Total session revenue increases.

Watch out: This requires a willingness to accept that one metric (landing page RPM) will get worse in service of the metric that actually matters (RPS). Make sure stakeholders understand this trade-off before the test begins.

Experiment 23: Category-Specific Bidder Stacks [Tier 3]

Hypothesis: If your site spans multiple content verticals (e.g., gaming, news, entertainment), different SSPs likely perform very differently across those categories. Some SSPs have stronger demand in gaming. Others excel in news. Running category-specific bidder configurations will ensure each content section gets the best possible auction competition.

How to set it up:

  • Pull SSP-level performance data (CPM, win rate, fill rate) broken down by content category for 30 days.
  • Identify which SSPs consistently outperform in each category.
  • Build category-specific bidder stacks that prioritize the best performers for each vertical.
  • Test against a universal bidder stack.
  • Run for 14 days.

What to measure:

  • CPM per category per SSP (diagnostic)
  • Auction competition (bid density) per category (secondary)
  • Page load time per category (secondary)
  • RPS per category (primary)

What good looks like: Categories where you've optimized the bidder stack show CPM improvements because you're running a tighter, more competitive auction. Categories with reduced bidder counts also see page speed improvements. Net RPS per category increases.

Watch out: This test requires a platform that can conditionally call bidders based on content signals. It's not something you can easily do with a basic header bidding wrapper.

 

Related Content:

Chapter 10

Device, Platform, and Consent Experiments

These experiments address dimensions that publishers frequently treat as afterthoughts: how the ad experience should differ across devices, how consent status should inform your strategy, and how the way you collect consent itself affects your revenue. Each of these is a meaningful optimization surface that most publishers leave untouched.

Experiment 24: Fundamentally Different Mobile vs. Desktop Strategies [Tier 2]

Hypothesis: Beyond responsive design, mobile and desktop users exhibit fundamentally different behavior (scroll patterns, session length, content consumption speed). Designing completely different ad strategies per device, rather than simply adapting the same strategy responsively, will unlock RPS improvements on both.

How to set it up:

  • Analyze device-specific behavior: session duration, scroll depth, pages per session, and bounce rate for mobile vs. desktop.
  • Design distinct strategies: mobile might benefit from a single high-viewability adhesive unit with video, while desktop might perform best with rail units plus in-content display.
  • Test each device-specific strategy against the current responsive approach.
  • Run for 14 days.

What to measure:

  • RPS per device (primary)
  • Session duration per device (secondary)
  • Viewability per device (primary)
  • Ad density on mobile (guard rail, stay under 30%)

What good looks like: Both mobile and desktop RPS improve when given strategies designed specifically for their user behavior rather than a one-size-fits-all responsive approach.

Watch out: Mobile ad density is governed by the Coalition for Better Ads' 30% rule. Don't design a mobile strategy that violates this, no matter how good the revenue looks in testing.

Experiment 25: Connection Speed-Based Ad Configuration [Tier 3]

Hypothesis: Users on slow connections are more likely to bounce if ad-related assets add significant page weight. Serving lighter ad configurations (fewer bidders, fewer heavy formats) to slow-connection users will preserve session length and potentially increase RPS for that segment despite lower per-impression CPMs.

How to set it up:

  • Use the Network Information API or server-side estimation to classify users by connection quality (fast/slow).
  • For slow-connection users, create a variant with reduced bidders (top 3-5 only), no video units, and lightweight display formats.
  • For fast-connection users, maintain your full ad experience.
  • Run for 14 days.

What to measure:

  • Page load time by connection type (primary)
  • Session duration by connection type (primary)
  • Bounce rate by connection type (primary)
  • RPS by connection type (primary)

What good looks like: Slow-connection users see dramatically improved page load times, resulting in lower bounce rates and longer sessions. The lighter ad config generates fewer impressions per pageview but the extended sessions compensate. RPS for this segment increases.

Watch out: The Network Information API has limited browser support. You may need to rely on server-side connection quality estimation based on response times, which is less precise but more broadly available.

Experiment 26: Consented vs. Non-Consented User Strategies [Tier 2]

Hypothesis: Users who accept consent (and become addressable) generate meaningfully higher CPMs because advertisers can target them. Running a denser or more premium ad layout for consented users (where demand is rich) and a lighter layout for non-consented users (where CPMs are lower anyway) will optimize total RPS by matching ad intensity to expected revenue potential.

How to set it up:

  • Segment your traffic by consent status using your CMP data.
  • Create a variant layout for consented users with additional premium units (video, interactive).
  • Create a lighter variant for non-consented users with fewer total units.
  • Compare against your current uniform approach.
  • Run for 14 days.

What to measure:

  • CPM for consented vs. non-consented traffic (primary)
  • RPS for each consent segment (primary)
  • Session duration per segment (guard rail)
  • Total revenue impact across both segments (primary)

What good looks like: Consented user RPS increases because you're leveraging higher demand with premium units. Non-consented user sessions may lengthen due to the lighter experience, partially offsetting their lower per-impression value. Overall RPS improves.

Watch out: Be very careful about privacy regulations when implementing consent-based differentiation. The strategy should always be additive (more for consented), never punitive (degraded experience for non-consented). And make sure your legal team reviews the implementation.

Experiment 27: CMP Presentation Impact on Revenue [Tier 1]

Hypothesis: How you present your consent management prompt affects consent rates. Consent rates affect addressability. Addressability affects CPMs. Testing different CMP presentation styles (banner vs. wall, button placement, pre-selected options) will reveal which approach maximizes consent rates and, consequently, downstream ad revenue.

How to set it up:

  • Identify your current consent rate across your traffic.
  • Create 2-3 CMP design variants: different placements, copy, button styling, and presentation formats.
  • Ensure all variants are compliant with applicable regulations (GDPR, CCPA, etc.).
  • Run each variant for 14 days.

What to measure:

  • Consent acceptance rate per variant (primary)
  • Overall CPM (secondary, driven by addressability changes)
  • RPS (primary)
  • Bounce rate (guard rail, aggressive CMPs can drive users away)

What good looks like: A CMP variant increases consent rates meaningfully (even 5-10 percentage points can matter at scale). The increased addressability translates to higher CPMs across your traffic. RPS increases.

Watch out: This is a minefield of regulatory risk. Any CMP testing must be reviewed by legal counsel to ensure compliance. A higher consent rate is worthless if it comes from dark patterns that violate regulations.

Chapter 11

Session-Level Macro Experiments

These experiments zoom out from individual ad units and pages to look at the session as a whole. They challenge some conventional wisdom about ad monetization and test whether restraint at certain points in a session can actually increase total revenue. These tend to be the most counterintuitive experiments in the playbook, and some of the most impactful.

Experiment 28: Session-Level Frequency Capping [Tier 2]

Hypothesis: Capping the total number of ad impressions per session will improve viewability scores across the board, increase CPMs on the impressions you do serve, and potentially extend session duration by reducing the perception of ad overload. The result: fewer impressions at higher value per impression, and a net increase in RPS.

How to set it up:

  • Determine your current average impressions per session and the viewability distribution.
  • Set a session-level impression cap at roughly 80% of your current average (e.g., if you average 25 impressions per session, cap at 20).
  • Within the cap, prioritize your highest-viewability, highest-CPM ad slots.
  • Compare against uncapped sessions.
  • Run for 14 days.

What to measure:

  • Average viewability rate (primary, should increase)
  • Average CPM (primary, should increase)
  • Session duration (secondary, should improve or stay flat)
  • Total impressions per session (will decrease by design)
  • RPS (primary, the net effect)

What good looks like: Viewability increases significantly. CPMs follow. The reduced impression volume is more than offset by higher per-impression revenue. Sessions may also lengthen due to a less cluttered experience. Net RPS improves.

Watch out: The cap level matters a lot. Too aggressive and you're leaving real money on the table. Start conservative (small reduction) and tighten gradually. This is not a "cut your impressions in half" experiment.

Experiment 29: Ad-Free Grace Period on Session Entry [Tier 2]

Hypothesis: Giving users 5-10 seconds of ad-free content before the first ad loads will improve the initial site experience, reduce bounce rates, and lead to longer sessions. The lost impressions in those opening seconds will be more than compensated by the additional session depth they enable.

How to set it up:

  • Configure a delay on ad loading: no ad units render for the first 5-10 seconds after page load.
  • After the grace period, load ads normally.
  • Compare against immediate ad loading (your current approach).
  • Run for 14 days.

What to measure:

  • Bounce rate (primary, should decrease)
  • Session duration (primary, should increase)
  • Pages per session (primary, should increase)
  • Impressions per session (diagnostic, may not decrease as much as you'd expect)
  • RPS (primary, the net effect)

What good looks like: Bounce rate drops noticeably. Session duration increases. Users who stay past the initial grace period generate more pageviews and more total impressions than they would have under immediate loading. The net revenue per session increases.

Watch out: Users who would have bounced in the first 5 seconds were unlikely to generate meaningful impressions anyway. The "lost" impressions from the grace period are often near-zero-value impressions you weren't really losing.

Experiment 30: Session Revenue Threshold and Density Tapering [Tier 3]

Hypothesis: Once a session has generated strong revenue (hit a target RPS threshold), tapering ad density for the remainder of the session will prioritize user experience and encourage the user to return. The lifetime value of a loyal, returning user exceeds the incremental revenue from squeezing a few more impressions out of a single long session.

How to set it up:

  • Define a target revenue threshold per session based on your historical data (e.g., the 75th percentile of session revenue).
  • When a session crosses that threshold, reduce ad density (remove lower-performing units, increase refresh intervals).
  • Compare against sessions that maintain constant ad density throughout.
  • Run for 30 days (longer window needed to measure return visit behavior).

What to measure:

  • RPS on sessions that hit the threshold (primary)
  • Return visit rate for users who hit the threshold (primary)
  • 30-day user revenue (holistic measure)
  • Session duration for above-threshold sessions (secondary)

What good looks like: Individual session RPS may decrease slightly (you're pulling back at the end). But return visit rates increase, and the 30-day user revenue goes up because those users are coming back more frequently. You're trading marginal session revenue for user loyalty, and the math works out.

Watch out: This requires a longer measurement window than most experiments because the payoff is in return visit behavior. It's also harder to measure cleanly because return visit behavior has many confounding variables. This is a Tier 3 experiment for a reason.



Related Content:

Chapter 12

Putting It All Together: Your Experiment Roadmap

Thirty experiments is a lot. You're not going to run them all at once (please don't try). The right approach is to prioritize based on your current setup, your team's capabilities, and where your biggest revenue gaps are. Here's a framework for building your experiment roadmap.

Start with the Quick Wins (Tier 1)

These experiments require minimal tooling and can be launched with basic ad server configuration. Start here to build momentum and generate early revenue lifts that fund more sophisticated tests later.

  • Experiment 9: Adhesive unit vs. multiple inline units
  • Experiment 10: Refresh interval optimization by content type
  • Experiment 14: Device-specific price floor strategies
  • Experiment 21: Content length-based ad density
  • Experiment 27: CMP presentation impact on revenue

Layer in Segmentation (Tier 2)

Once you've captured the easy wins, move to experiments that require traffic segmentation and conditional logic. These have higher potential upside because they move you from a one-size-fits-all approach to a tailored one.

  • Experiment 1: Ad density differentiation by traffic source
  • Experiment 2: Traffic source-specific price floors
  • Experiment 5: Progressive ad loading based on scroll depth
  • Experiment 13: Time-of-day price floor adjustments
  • Experiment 22: Landing page vs. internal page monetization split
  • Experiment 28: Session-level frequency capping

Go Deep with Advanced Optimization (Tier 3)

These experiments require sophisticated tooling, machine learning capabilities, or custom development. They represent the frontier of yield optimization and are where the biggest compounding gains live.

  • Experiment 3: Bidder stack optimization by traffic source
  • Experiment 6: Loyalty-based ad density tiers
  • Experiment 16: First-impression premium pricing
  • Experiment 23: Category-specific bidder stacks
  • Experiment 25: Connection speed-based ad configuration
  • Experiment 30: Session revenue threshold and density tapering

 

The Compounding Effect

Here's where it gets exciting. Individual experiments might move your RPS a few percentage points each. But multiple successful experiments stack. The impact of combining traffic source segmentation with page-level optimization with smart price flooring is multiplicative, not additive. A 5% lift from Experiment 1, a 7% lift from Experiment 10, and a 10% lift from Experiment 13 don't add up to 22%. They compound into something bigger, because each optimization improves the conditions for the next one.

 

Next Steps:

Chapter 13

Run These Experiments Without Building the Infrastructure

If you've read this far, you understand the potential. You also probably understand the challenge: running yield experiments at this level of sophistication requires tooling that most publishers don't have and can't justify building.

Playwire's RAMP platform was purpose-built for exactly this. The config-based architecture lets you manage multiple versions running on subsets of your traffic. Traffic segmentation by source, geo, device, and custom criteria is built in. AI and machine learning algorithms can handle the experiments that are too complex for manual management, like dynamic price flooring across millions of factor combinations.

Our Price Floor Controller alone manages approximately 1.2 million different price floor rules per website. That's the equivalent of Experiments 13, 14, 15, and 16 running simultaneously and adapting in real time. No human team can match that, and we say that with all the respect in the world for human yield teams.

Whether you want to run these experiments yourself using our self-service platform, or hand them off to our yield optimization team through managed service, the infrastructure is ready.

Ready to stop guessing and start experimenting? Let's talk about what your first experiments should be.

 

Download a Copy

Don't Have Time To Read the Entire Guide Now?

We'll email you a downloadable PDF version of the guide and you can read later.

Ready for AdTech that Works for You?

Quality content deserves quality monetization. Your audience deserves respect. Your revenue deserves transparency.

Start Building Better Revenue
Want to see the proof first?
Read Publisher Success Stories
adtech-bg-overlay-mobile