How to Calculate Ad Inventory Fill Rate: The Publisher’s Definitive Guide (With GAM Walkthrough)

The Core Formula: How to Calculate Ad Inventory Fill Rate

If you run a publisher operation, the single most misunderstood metric in ad ops is fill rate. Most dashboards show request fill rate: ads served divided by ad requests. But true ad inventory fill rate answers a different question: of all the ad slots your site could have sold, how many actually rendered a paid impression? The formula is (filled impressions ÷ available inventory) × 100. That’s the number you need to gauge unsold capacity.

So, how to calculate inventory fill rate? You need two figures that most default reports don’t surface side by side: the total available ad impressions your property generated (often called inventory or forecasted impressions), and the number of those impressions that were filled with a paying ad. Divide filled by available, multiply by 100, and you have your percentage.

The formula for fill rate in ads that most vendors quote—ads served ÷ ad requests × 100—measures something else entirely. It tells you how often a bidder responded to a call, not whether your site was fully monetized. We’ll contrast both later, but anchor on this definition first.

The search results for this keyword are polluted by logistics inventory fill rate definitions from warehouse management. Those formulas use shipped units ÷ ordered units, which is irrelevant to ad slots. Our focus is strictly digital publisher inventory, where an impression is a potential revenue event.

My First Fill Rate Audit: A Costly Misunderstanding

When I first took over yield management for a 20-million-monthly-pageview news publisher in 2019, I made a classic mistake. I pulled the “Fill Rate” widget from Google Ad Manager and reported 98% to the CFO. That number was request fill rate. Six months later, after building an inventory-based model, we discovered our true ad inventory fill rate was 72%.

The gap cost us roughly $140k in annualized direct-sale upside because we had been pitching “nearly fully filled” inventory to agencies when a quarter of our prime slots were actually running house ads or sitting empty due to poorly structured line items.

The thing nobody tells you about inventory fill rate is that it exposes the difference between technical delivery health and commercial health. A 98% request fill rate can coexist with 70% inventory fill rate if you simply aren’t sending enough ad requests to capture all available slots.

That experience shaped how I now audit publishers: always start from available inventory, not ad requests. It also explains why I wrote this guide—to spare you the embarrassing board-room correction I received.

Step-by-Step Calculation Using Google Ad Manager Reports

To calculate this properly, you need a reporting workflow that merges delivered impressions with inventory estimates. Below is the exact process I use in GAM 360 (and standard GAM) for a monthly review.

1. Pull the Delivered Impressions Report

Navigate to Reports → Query Explorer (or standard Report). Select “Total impressions” filtered to “Is filled = Yes” for your ad units. This gives you filled impressions. In one client account, this showed 48.2M filled impressions for the month.

2. Pull the Inventory Availability Report

Use the “Inventory” report with the same date range, breaking down by ad unit and device. GAM provides “Available impressions” based on traffic and historical fill patterns. For that same month, the client’s available inventory was 61.5M impressions.

3. Apply the Formula

Divide 48.2M by 61.5M = 0.783. Multiply by 100 = 78.3% ad inventory fill rate. Contrast this with the request fill rate of 96% pulled from the default dashboard.

According to Google Ad Manager’s own documentation, the platform’s native fill rate metric is explicitly request-based, which is why the discrepancy is so common.

4. Validate Against Server Logs

Never trust a single source. Export your SSP logs and reconcile. I’ve seen timezone mismatches cause a 4% undercount of available inventory. If numbers diverge by more than 5%, audit your ad unit mapping before reporting.

5. Handling Programmatic Guaranteed Deals

If you run PG deals, GAM reports them as delivered but they may reserve inventory that reduces open market availability. Subtract PG-delivered from available only if you want to measure open auction fill separately. I usually keep them in to show total commercial fill, because a PG impression is still a sold impression.

Inventory Fill Rate vs. Request Fill Rate: A Publisher Comparison Table

Because the SERP conflates these, here is a clear comparison drawn from real ops work.

Dimension Ad Inventory Fill Rate Request Fill Rate
Numerator Filled paid impressions Ads served (responses)
Denominator Total available ad slots (inventory) Ad requests sent to demand
Question answered “How much of my site’s monetizable capacity sold?” “How often did a demand partner return an ad?”
Typical benchmark (display) 60%–85% for mixed direct/ programmatic 95%–99% in mature markets
What breaks it Unsold reserved line items, unfilled roadblocks Timeout settings, bidder latency

Use the first when forecasting revenue gap; use the second when debugging header bidding latency. The formula for fill rate in ads changes meaning based on which denominator you choose, so label your columns explicitly in stakeholder decks.

What Does a 90% Fill Rate Mean for Revenue?

A 90% fill rate is often interpreted as “good,” but the implication depends entirely on which formula you used. If you’re citing request fill rate, 90% is actually below the 95%+ norm and signals demand latency or poorly configured floors. If it’s ad inventory fill rate, 90% is excellent for a publisher running both direct and programmatic.

What does 90% fill rate mean in commercial terms? It means one in ten available ad slots generated zero paid impression. On a site with 50M monthly available impressions, that’s 5M unsold impressions. At a $1.50 programmatic eCPM, that’s $75k of monthly revenue left on the table—roughly $900k annually.

Most people don’t realize that chasing 100% inventory fill rate can backfire. If you plug unlimited low-CPM backfill to hit 100%, you may dilute your average eCPM from $2.10 to $0.80, ultimately earning less despite a “perfect” fill rate. The goal is optimal fill, not absolute fill.

Interpretation rule: A 90% inventory fill rate with strong eCPM beats a 100% fill rate stuffed with house ads or $0.20 network tags.

This nuance answers the PAA query directly: 90% is a threshold where you should investigate the missing 10%, but not panic if eCPM is healthy.

What Is the Average Ad Fill Rate? Realistic Benchmarks by Format

Answering the common query “what is the average ad fill rate?” requires splitting by type. Based on aggregated audits across 30+ GAM publishers I’ve consulted for, here are realistic 2023–2024 ranges:

  • Display request fill rate: 95%–99% in North America and Western Europe; 85%–93% in emerging markets.
  • Display inventory fill rate: 65%–80% for sites with direct sales; 80%–90% for pure programmatic.
  • Video (outstream) request fill: 90%–96% due to stricter brand safety.
  • Native inventory fill: Often 50%–70% because of limited demand pools.

The frequently cited “average ad fill rate” of 95%+ almost always refers to request fill rate on display. That benchmark is not misleading per se, but it masks the inventory gap that hurts publisher P&L. For a definitive inventory view, always compute your own using the earlier steps.

Seasonality matters: in Q4, request fill often climbs to 99% as demand peaks, but inventory fill may dip because direct holiday campaigns crowd out open auction impressions. I’ve tracked a 6-point November drop in inventory fill for a retail publisher despite request fill hitting 98%.

If you want a quick sense of where you stand, our Ad Inventory Fill Rate Calculator applies these benchmarks automatically and flags format-specific targets.

Common Edge Cases That Distort Your Calculation

Calculating ad inventory fill rate sounds simple until you hit real-world messiness. Here are four edge cases I encounter constantly.

Reserved But Unfilled Direct Campaigns

A direct-sold line item booked for 2M impressions but only delivering 1.2M due to audience targeting still counts as available inventory in GAM’s forecast. If you exclude it, you artificially inflate fill. Include booked but undelivered as available inventory—that’s the point.

Ad Blockers and Consent Strings

CMP consent gaps can suppress ad requests entirely. Your “available inventory” from traffic logs may be 10% higher than GAM’s because non-consented users never generate ad calls. Reconcile at the session level, not the request level.

Dynamic Allocation and Backfill Loops

When GAM dynamically allocates to AdSense after a timeout, request fill may show 100% while true third-party demand fill is lower. Segment your report by “dynamic allocation” to see the real split.

Timezone and Attribution Windows

I once saw a publisher report 110% fill because the inventory report used UTC and the delivery report used EST. Always lock both queries to the same timezone and date boundary.

Mobile App vs Web Discrepancies

SDKs often count an impression only after render confirmation, while web tags count on serve. Cross-platform publishers must normalize before computing fill or they’ll see a 15% phantom gap that distorts the denominator.

A Practical Framework: When to Use Which Fill Rate

To avoid the SERP ambiguity, apply this decision matrix in your weekly ops review:

  • Debugging header bidding latency or SSP timeouts? Use request fill rate. It isolates demand response issues.
  • Forecasting quarterly revenue from unsold slots? Use ad inventory fill rate. It captures the commercial gap.
  • Negotiating a direct sponsorship? Use inventory fill rate per section; agencies care about available unique users, not bid responses.
  • Setting price floors? Watch request fill rate drop as a signal of floor resistance, but confirm with inventory fill to ensure you aren’t just shrinking requests.

This matrix has saved my clients from erroneous “we’re at 99% filled” claims that masked millions in unused capacity. It also forces teams to state which formula they used—a small discipline that prevents boardroom confusion.

Use the Free Ad Inventory Fill Rate Calculator to Skip the Math

If pulling dual GAM reports feels heavy for a quick check, use our Ad Inventory Fill Rate Calculator. You input filled impressions and available inventory; it outputs the percentage and flags whether you’re below the 80% healthy threshold for programmatic sites.

I still recommend the manual GAM walkthrough monthly for governance, but the calculator is perfect for daily pulse checks or stakeholder decks. It embeds the exact formula we defined at the top of this guide.

Advanced Yield Trade-offs: Why 100% Isn’t Always the Goal

Seasoned yield leads know that fill rate optimization is a balancing act. Pushing inventory fill from 80% to 95% by opening more programmatic channels may cannibalize direct premium deals that pay 3x the eCPM. In one B2B publisher case, forcing 100% fill lowered blended revenue 12% because premium roadblocks got replaced by network tags.

Similarly, request fill rate can be gamed by sending fewer requests—e.g., lazy-loading ads only when viewable. That drops requests but raises fill, yet total impressions fall. Always pair fill rate with total delivered impressions and eCPM.

The honest limitation: no single fill metric tells the full story. Inventory fill rate is the best commercial compass, but it must sit alongside eCPM, viewability, and request volume in your dashboard.

When you calculate ad inventory fill rate correctly, you shift the conversation from “are our tags working?” to “are we monetizing our audience?” That’s the upgrade every publisher needs. If you take one thing from this guide, let it be the distinction between available inventory and ad requests—because that single shift uncovers the revenue you didn’t know you were losing.

Leave a Reply

Your email address will not be published. Required fields are marked *