My fill rate is low
Work out whether your fill rate is a measuring quirk or a setting, and which of your channel settings let more campaigns match.
Fill rate is the share of ad requests that came back with an ad. This page is for when it is lower than you expect but not zero. If nothing fills at all, go to No ads on my channel.
LtvAdx does not publish a normal fill rate and none is promised. What counts as low is what your own traffic did before, and what your demand supports.
The alert
You get a Low fill rate alert for a channel when its fill rate so far today (a UTC day) is under 20% and the channel has had at least 50 ad requests today. It opens Fill Rate Analytics. Early in the day a few requests can tip it, so look at several days before acting.
1. Read the numbers properly
On Fill Rate Analytics, pick a date range of a few weeks.
- Fill Rate Trend shows whether this is new or long-standing. A sudden drop usually follows a change you made.
- The By Channel tab shows which channel is the problem. Fill rate is not counted per ad break.
- Total Ad Requests counts every call your players make to the tag or a playlist, and each ad break stitched in an SSAI session. Retries, prefetching and a tag called twice per break all count. Requests for breaks no campaign targets count too. A rate that falls after you add a new placement may only be that placement.
- *Top No-Fill Reason* names the most common reason a request got no ad, such as *Bids below your floor*, *Your brand-safety blocks* or *Not targeted by any campaign*: for a miss where no campaign qualified, the rule that stopped the closest one. Campaigns' own budgets and schedules are grouped as *Campaign budgets and schedules*. Days before 8 November 2026 say *No campaign could serve* for every miss.
2. Settings that let more campaigns match
These are all yours to change. Change one at a time, then compare a few days.
Floor CPM ($). A LtvAdx advertiser whose price is below your floor is dropped. A floor set higher than buyers pay is the most direct way to lower fill. Lower it, or clear it, then compare. Your own direct campaigns ignore it. Open Channels & Apps.
Describe the channel. A campaign that targets a content category, a rating, an IAB category or a content model skips a channel that has none set. Fill in Content Model, IAB Content Category, Content Rating, Country, Language and the content categories, truthfully. See Add a channel.
Accepted ad formats. A bumper break gets no LtvAdx ad unless Bumper Ads (≤6s) is ticked. Interactive and shoppable campaigns run only where their boxes are ticked.
Allow advertisers' audiences on my channels. It is off by default. While it is off, campaigns that rely on retargeting, custom or data audiences can't run on your channels. Turning it on widens the demand available. It is on Inventory. Kids channels and households that opted out are never included.
Your block list. Each domain or category on Brand Safety removes advertisers. Keep it to what you need.
3. Settings in your tag
Open VAST Tag Generator and compare with what your player sends. See Get your VAST tag.
- `householdId`. Campaigns that target households need one. If more than 50% of your requests carry none, you get an Integration problem alert.
- `duration`. If it is shorter than most ads, longer ads are skipped. Set it to the longest the break can hold, or leave it out.
- `platform` and `breakType`. Send the real values. Campaigns target both.
- Where the tag is called from. Call it from the viewer's device. A request made by your server is placed in your server's country, and campaigns that target other countries skip it.
- Privacy signals. Pass your consent tool's signals correctly. A request that says do-not-track, or comes from the EU, UK or Switzerland with no valid consent string, is served contextually and can't match household targeting. A children's channel is always served this way.
4. Demand that is not in your control
If your settings are sound and fill is still low, the marketplace may have little that suits your audience, country or platform. Two things add demand:
- Your own direct campaigns.
- Outside bidders on My DSPs. They need RTB Enabled on the channel and your account in the public sellers list.
The Network demand badge on Authorized Sellers shows where each channel stands on the app-ads.txt check. Today it is report-only, so it isn't what is limiting your fill, but publishing the line now avoids a surprise later.
If you've been through all of this, contact support with the channel name and the date range.