Fill rate is the most underappreciated metric in newsletter monetisation. A publisher running a newsletter with 50,000 subscribers, a 40% open rate, and a 65% fill rate is leaving 7,000 impression opportunities per send completely unmonetised. At a $16 average CPM, that is $112 per send — or nearly $1,000 per month — in revenue that exists in theory but never materialises. This guide covers every lever publishers can pull to push fill above 90% without compromising reader experience.
What this guide covers:
- What fill rate means in newsletter advertising
- The six reasons fill rate falls short of 100%
- Floor price calibration: the single biggest lever
- Building a demand stack that fills every tier
- Why open-time serving changes fill rate economics
- Category blocks and how they affect fill
- House ads as a floor: never leave a slot empty
- Fill rate benchmarks by newsletter type
- Frequently asked questions
What Fill Rate Actually Means
Fill rate is the percentage of available ad impression opportunities that are filled with a paid ad. The calculation is straightforward: paid impressions served divided by total impression opportunities, expressed as a percentage.
What counts as an "impression opportunity" depends on your ad serving architecture. With send-time platforms, this is typically calculated against the number of sends. With open-time serving — which is how MailAdx operates — an impression opportunity is a confirmed open where the ad tag was requested. Open-time fill rate is a more honest metric because it measures against actual reader attention rather than emails that may never have been seen.
The distinction matters for how you interpret your numbers. A send-time platform reporting 70% fill on 50,000 sends means 35,000 "impressions" were served — but if your open rate is 40%, you only had 20,000 actual readers. An open-time platform reporting 70% fill on 20,000 opens means 14,000 genuine ad views occurred. Same revenue, very different picture of inventory quality.
If you're new to the mechanics of how ad serving works in email, start with our explanation of open-time vs send-time ad servingbefore diving into the optimisation detail below.
The Six Reasons Fill Rate Falls Short of 100%
Publishers rarely achieve 100% fill, and understanding why helps identify which lever has the most impact for a given newsletter. The causes fall into six categories:
1. Floor price set too high
The most common reason for low fill rate. If your floor price is $20 CPM and the available demand at a given open is $15 CPM, the impression goes unfilled. Floor prices protect inventory value, but miscalibrated floors create revenue paradoxes: the publisher earns nothing from a $15 impression while holding out for a $20 impression that may not materialise.
The detailed strategy for calibrating floor prices is covered in our newsletter floor CPM guide. The short version: start floors below where you think they should be and raise them incrementally as you verify demand depth.
2. Too many category blocks
Category blocklists are essential for maintaining reader trust. A personal finance newsletter should block predatory lending ads. A parenting newsletter should block gambling and alcohol. But some publishers over-block, eliminating so many advertiser categories that demand becomes thin even when floor prices are reasonable.
The fix is surgical blocking rather than broad category sweeps. Block specific subcategories and individual advertisers where necessary, but avoid broad sweeps that eliminate large pools of legitimate demand.
3. No programmatic demand in the waterfall
Publishers running on direct-sold-only arrangements will see fill rates that mirror their sales effectiveness — which is rarely 100%. A week with an unsold slot is a week with 0% fill for that placement. Adding programmatic demand as a fill layer below direct deals ensures inventory is always contested, even when sponsor relationships fall through.
The architecture for combining direct and programmatic is explained in our guide to building a direct-sold newsletter sponsorship program.
4. Demand not configured correctly
Publisher-facing ad platforms require configuration to function well. If targeting parameters on programmatic campaigns don't match your audience, campaigns won't bid. If ad unit sizes in your placements don't match what advertisers are running (a publisher expecting 600×90px bids when the available creative is 600×100px), you get delivery failures that look like low fill.
5. Send-time architecture (ads decided at the wrong moment)
Send-time platforms create fill gaps because demand that arrives after you send cannot fill impressions on that send. A campaign that launches Tuesday afternoon can't fill Monday's newsletter — even if those emails are still being opened on Tuesday. Open-time serving solves this by making the ad decision at the moment of each open, not at send time.
6. No house ad fallback
Even with well-configured floors and a deep demand stack, some impressions will reach the bottom of the waterfall without finding a paid match. Without a house ad configured, these impressions show nothing — or a blank space in the email. With a house ad, they show the publisher's own content: a subscription offer, a product announcement, a referral prompt, or anything else that serves the publisher's commercial goals.
Floor Price Calibration: The Single Biggest Lever
Of all the fill rate variables publishers control, floor price calibration has the most direct and predictable impact. It is also the easiest to get wrong in both directions.
The relationship between floor price and fill rate follows a curve that is steep on the left and gradual on the right. A floor of $5 CPM will attract nearly all available demand and achieve near-100% fill — but at the cost of giving away inventory far below its true market value. A floor of $35 CPM in a general-interest newsletter will struggle to achieve 20% fill because insufficient demand exists at that price point.
The optimal floor sits at the point where fill rate and CPM together maximise effective revenue per send. A $16 floor at 88% fill earns more total revenue than a $20 floor at 55% fill, even though the second floor is 25% higher in absolute CPM terms.
The math: 50,000 subscribers × 40% open rate × 88% fill × $16 CPM ÷ 1000 = $281.60 per send. Same newsletter at 55% fill × $20 CPM = $220.00 per send. The lower floor earns 28% more per send.
Recommended starting floors by niche, based on MailAdx publisher data:
| Newsletter Category | Recommended Starting Floor | Target Fill Rate |
|---|---|---|
| B2B SaaS / Tech | $18–22 CPM | 82–90% |
| Finance / Investing | $22–28 CPM | 78–86% |
| Marketing / Growth | $16–20 CPM | 84–92% |
| E-commerce / DTC | $12–16 CPM | 88–94% |
| General Interest | $8–12 CPM | 90–96% |
| Creator Economy | $10–14 CPM | 88–94% |
These are starting points. Once you have two to three weeks of impression data, you can see exactly where demand drops off and adjust floors accordingly. The MailAdx reporting dashboard shows floor-level fill data per placement, making this calibration straightforward.
For a complete treatment of floor price strategy including seasonal adjustment, placement-specific floors, and private deal pricing, see our full floor CPM guide.
Building a Demand Stack That Fills Every Tier
Fill rate optimisation is not only a floor price problem — it is a demand depth problem. A newsletter with thin demand at any price point will have low fill regardless of floor calibration, because there simply are not enough advertisers competing for the inventory.
The solution is a layered demand stack where multiple revenue sources compete for each impression:
Layer 1: Direct deals at the top
Direct sponsorships command the highest CPMs ($30–100+ for premium newsletters) and should occupy the top of your waterfall. When a direct deal is live, it fills automatically and at a premium rate. When it's not live — between sponsorship periods — the impression falls through to the next layer. Building a direct sponsorship program alongside programmatic is the highest-revenue approach for publishers with an engaged audience. Read: building a direct-sold newsletter sponsorship program.
Layer 2: Preferred deals and private marketplace
Some advertisers want preferred access to your inventory at a fixed CPM without the commitment of a direct buy. Private marketplace deals give them this — they get priority access over open programmatic but below guaranteed direct. For publishers with strong audience data, PMP deals often bridge the gap between direct CPMs and open market rates.
Layer 3: Open programmatic
Open programmatic demand is the foundation. It should fill inventory that direct deals and PMP don't cover. The broader and more connected your programmatic demand sources, the deeper your fill at competitive CPMs. MailAdx's publisher network connects to demand-side platforms actively targeting newsletter audiences, maintaining fill at above-floor rates across most niches and time periods.
Layer 4: House ads (non-negotiable)
Configure house ads for every placement before you go live. The goal of house ads is not to replace revenue — it is to ensure your email template never has a blank, broken, or missing element. House ads can be:
- Promotions for your own paid subscription tier
- Referral program prompts ("Refer a friend, get 3 months free")
- Announcements about upcoming content or products
- Partner cross-promotions
- Calls to action for your most important conversion goal
A house ad that converts 0.5% of clicks to paying subscribers or referrals has a compounding value that programmatic CPMs cannot be directly compared to.
Why Open-Time Serving Fundamentally Changes Fill Rate Economics
The transition from send-time to open-time ad serving has a direct, measurable impact on fill rate that goes beyond configuration optimisation. It changes the underlying economics of what constitutes an available impression.
Consider a publisher sending on Monday morning. With send-time serving, they have one opportunity to fill the campaign: at the moment of send, the platform must identify eligible demand for all 50,000 future opens simultaneously. If an advertiser launched a new campaign Monday afternoon, they cannot fill that Monday morning send.
With open-time serving, every open is a fresh opportunity. The Monday morning send generates opens across a multi-day window. Each open — whether at 9am Monday or 4pm Wednesday — calls the ad server fresh. The advertiser who launched Monday afternoon fills all subsequent opens from that send. An advertiser who only runs campaigns Thursday–Sunday fills Thursday and Friday's opens even on a Monday newsletter.
For publishers, this translates to measurably higher fill rates without any configuration changes. More demand is eligible for each send because demand doesn't have to exist at the precise moment of sending. The broader the open window, the more pronounced this effect.
Publishers who switched from send-time to MailAdx's open-time architecture report fill rate improvements of 15–30 percentage points on the same newsletter with the same audience. The difference is entirely architectural — more demand eligible for more opens.
Category Blocks and How They Affect Fill
Category blocks are necessary. Every publisher should have a list of advertiser categories that do not belong in their newsletter. A B2B productivity newsletter should not run cryptocurrency scam ads. A parenting publication should not run alcohol or gambling creative. These blocks protect reader trust, and reader trust is the foundation of everything that makes a newsletter valuable.
The fill rate risk comes from over-blocking. Some publishers block 15–20 advertiser categories, eliminating a significant fraction of available demand. Here is a practical framework:
Block by harm potential, not category breadth. "Finance advertising" is a huge category containing everything from legitimate SaaS products to predatory payday lenders. Rather than blocking "Finance," block specific subcategories: "predatory lending," "cryptocurrency speculation," "guaranteed investment returns." Legitimate fintech tools should not be caught in a broad finance block.
Use a blocklist, not a allowlist. Allowlists (only permitting specific categories) are far more restrictive than blocklists and dramatically reduce fill. The default should be "accept everything except these specific categories" rather than "accept only these specific categories."
Monitor your block rates. The MailAdx reporting dashboard shows what percentage of impressions are being blocked by category rules. If category blocks are eliminating 30%+ of potential demand, review whether those blocks are targeted specifically enough.
House Ads as a Revenue Floor
A house ad is any ad creative that runs in your placement when no paid demand is available or when paid demand falls below your floor price. Publishers sometimes resist the concept because it feels like "giving up" on revenue — if the slot is going to run house creative, why not just not show an ad?
The logic for house ads is commercial, not aesthetic. An empty ad slot in an email template is visually broken and signals to readers that the newsletter runs ads — which primes them to think of the publication as primarily commercial, which has negative effects on engagement and subscription retention. A house ad that looks intentional and relevant avoids this problem entirely.
More importantly, house ads generate real value even when they generate zero revenue from advertisers. A publisher promoting a paid subscription tier to 7,000 free subscribers who would otherwise see nothing has a meaningful conversion opportunity — even at a 0.5% click-to-convert rate, that is 35 new paid subscriptions per send.
The most effective house ads are:
- Paid tier promotions: The highest-value conversion a free subscriber can make. If you have a paid tier, every unsold impression is an acquisition opportunity. This connects directly to a broader newsletter monetisation strategy.
- Referral program prompts: Subscribers who refer others have a lifetime value significantly higher than average. House ads are a natural placement for referral CTA.
- Content promotion: Drive traffic to your best evergreen content or most-read archives. Engagement with older content improves subscriber health scores.
- Community or event promotion: If you run a community, cohort, or event, house ads provide ongoing promotion with no incremental cost.
Fill Rate Benchmarks by Newsletter Type
Fill rate benchmarks vary significantly by niche, audience size, and monetisation model. Publishers interpreting their own numbers need context:
| Publisher Profile | Typical Fill Rate | Achievable with Optimisation |
|---|---|---|
| Direct-sold only, no programmatic | 30–60% | 60–75% (still leaves gaps when sponsors don't book) |
| Programmatic only, no direct deals | 70–82% | 88–94% (with floor calibration) |
| Hybrid: direct + programmatic waterfall | 82–90% | 92–97% (with house ads as backstop) |
| MailAdx publishers (open-time + hybrid) | 88–94% | 94–98% with full optimisation |
The "achievable with optimisation" column assumes open-time serving, calibrated floor prices, a layered demand stack, and house ads configured. Publishers using send-time platforms have a structural ceiling that is difficult to exceed through configuration alone.
For context on what these fill rates translate to in revenue terms, see our newsletter CPM benchmarks and the revenue calculator in our complete monetisation guide.
Frequently Asked Questions
My fill rate is at 88% — what's causing the remaining 12%?
At 88% fill, the most common remaining causes are: category blocks removing demand that would have filled at your floor price, seasonal demand dips (particularly in July/August and January), and time-of-day variability where certain sends have thinner demand. Check your MailAdx reporting for breakdown by placement and time period — the data will isolate which factor is responsible.
Should I have different floor prices for different placements?
Yes. Header placements command higher CPMs than mid-content, which command more than footer. Running the same floor across all placements means either under-pricing your header or over-pricing your footer. The publisher ad unit guide covers placement-specific floor strategies.
How does fill rate interact with my direct sponsorship deals?
Direct deals sit above the programmatic waterfall and fill first. When a direct deal is active, it occupies the slot and the fill rate for that deal is effectively 100% (the sponsor has committed to a guaranteed volume). Programmatic fills only when no direct deal is active. Your reported overall fill rate is a weighted average across both. See building direct sponsorships alongside programmatic.
Can I see fill rate data per send in my dashboard?
Yes. The MailAdx reporting dashboard shows fill rate, impression count, effective CPM, and revenue broken down by send date, placement, and advertiser category. You can also export this data via the reporting API documented in the developer documentation.
What happens to unfilled impressions when my ESP caches images?
Some ESPs and email clients cache ad images after initial fetch. When a cached image is served, the ad server does not receive a new impression request, so fill rate is unaffected — the impression was already served. The exception is Apple MPP, which pre-fetches images before the subscriber opens. MailAdx handles this through MPP detection — see our guide to Gmail and Apple MPP tracking for the full technical detail.
See your fill rate potential
MailAdx's open-time architecture and layered demand waterfall are designed to push fill above 90% for most newsletter niches. Set up your first placement in under 10 minutes.
No minimum subscribers · No revenue share · Works with your ESP



