Breaking
Why Most Creator Ambassador Programs Underdeliver2026 Social Algorithms: Ranking Signals That MatterSearch 2027: Traffic and Conversions Are SplittingTrack Instagram Follower Growth With These Net MetricsGoogle’s Mueller on Cross-Domain Canonical De-Indexing: Test MoreWhy Most Creator Ambassador Programs Underdeliver2026 Social Algorithms: Ranking Signals That MatterSearch 2027: Traffic and Conversions Are SplittingTrack Instagram Follower Growth With These Net MetricsGoogle’s Mueller on Cross-Domain Canonical De-Indexing: Test More

Why Revenue Per Request Is the Metric to Watch

Revenue per request blends fill rate and eCPM to show what each ad call actually earns. Here’s how to use it without getting fooled by CPM.

Revenue Per Request Shows What eCPM Hides

Most programmatic dashboards lead with eCPM. But an impression-level price only tells you what happened after an auction filled. Revenue per request prices the entire opportunity, including all the ad calls that came back empty.

What it is

Revenue per request is advertising revenue divided by ad requests over a period. Because each request is worth a fraction of a cent, teams usually scale it per thousand requests (request RPM, rCPM, or ad request eCPM) or per million, which Amazon’s traffic tools call RPMA.

The calculation is simple: request RPM equals fill rate multiplied by eCPM. If a publisher sends one million requests, fills 60% at a $2.00 eCPM, it serves 600,000 impressions and earns $1,200, or $1.20 per thousand requests. Raise the floor so eCPM climbs to $2.50 but fill drops to 45%, and request RPM falls to $1.125. The impression price looks better, but the business made less per request.

Why this matters for growth teams

Every page load and auction call generates requests, and each one costs someone money to process. A demand source can show a strong eCPM but rarely fill. Revenue per request exposes that gap.

Google’s Ad Exchange help pages document the distinction: ad request eCPM divides revenue by ad request queries and includes fill rate, while matched request eCPM removes fill. In the AdSense Management API, the field is AD_REQUESTS_RPM.

The denominator changes depending on where you sit. AdSense counts one request per ad unit or search query. An SSP counts the bid requests it forwards to each DSP. One pageview can sit behind a single ad server request and dozens of header bidding calls.

The buy-side mirror

DSPs track the same ratio as spend per request. Amazon Ads’ Dynamic Traffic Engine requires integrated SSPs to report spend per million ad requests. DTE version 2.1 later added seller-facing RPMA files, with sample rows ranging from $22.23 per million requests for a US mobile app banner to $1.80 for a UK desktop leaderboard flagged for filtering.

That traffic-shaping logic is now part of programmatic infrastructure. Amazon donated DTE to the IAB Tech Lab on April 15, 2026, and PubMatic’s supply policy began charging publishers an excess inventory fee the next day.

What to do about it

Use request-level metrics as a hygiene check, not just a price check. Start with these:

  • Audit floor decisions in request RPM, not eCPM. Price increases can mask fill-rate losses.
  • Ask partners for the denominator. Some reports say RPM but mean pageviews or impressions, not ad requests.
  • Watch for denominator inflation. DataBeat found 46% of domains connected to tier 1 SSPs reachable through more than one path, so duplicated supply can make unsold inventory look worse than it is.
  • Check who pays the fee. PubMatic’s $0.001 CPM excess inventory fee applies above unpublished caps, but whether it triggers on impressions or raw bid requests remains undisclosed.

The bottom line

Revenue per request reconciles price with volume. It became more important as header bidding multiplied requests, and it matters even more now that excess inventory can carry a direct charge. For performance marketers and growth teams, the message is simple: before you chase a higher CPM, ask what your unsold requests are costing you.

Source: PPC Land

Leave a Reply