Floor Pricing by Consent State: How to Price Personalised and Non-Personalised Inventory
Most publishers run a single floor-price policy across all traffic. That made sense when every impression carried roughly the same targeting data. Once consent choices split your audience into personalised and non-personalised groups, a single floor quietly misprices both: it is too high for the traffic buyers value less, and too low for the traffic they value more.
Why Consent State Changes the Value of an Impression
Advertisers bid on what they can know about the user. When a visitor grants consent for personalisation, buyers can use identifiers and interest signals. When the visitor declines, the same page view may still be monetisable, but through contextual signals, page content and limited or non-personalised ad requests. Buyers usually pay differently for these two products, and the gap varies by demand partner, vertical and format.
The practical consequence is that you should treat consent state as a first-class dimension of your inventory, just like device, country or ad size.
Step 1: Make the Consent State Visible to Your Ad Stack
You cannot price what you cannot see. Before changing any floors, confirm that your ad server and header-bidding setup can distinguish at least three states:
- Consent granted — personalised requests are allowed.
- Consent denied or not yet given — only non-personalised or limited requests are allowed.
- Consent not required — for regions or contexts where an opt-in is not the legal model.
Pass this state as key-value targeting or as a bidder parameter so reports and rules can use it.
Step 2: Measure Before You Move Anything
Pull at least a few weeks of data and compare, per placement and per country, the following for each consent state:
- Fill rate
- Average CPM (eCPM)
- Bid density — the number of bidders responding
- Viewability
Resist the temptation to apply someone else’s numbers. The size of the gap is specific to your content, your geography and your partners, so only your own data is reliable.
Step 3: Set Floors per Segment
With measurements in hand, a sensible structure looks like this:
- Consented traffic: keep floors at or near your current level. This is the premium product, and an overly aggressive floor here costs real revenue.
- Non-consented traffic: set a lower, separate floor tuned to the contextual and non-personalised demand you actually see. A floor copied from the consented segment can leave these impressions unsold.
- Unsold remnant: decide deliberately whether to backfill, house-fill or leave it empty rather than letting it default.
Change one segment at a time and give each change enough days to read, because day-of-week and seasonal swings can easily mask the effect.
Step 4: Protect the Consented Segment
The healthiest lever is not the floor at all, but the share of visitors who land in the consented group. A clear, honest banner that explains the value exchange will do more for revenue than any floor tweak. Equally, never design a banner to push users toward acceptance with manipulative patterns; regulators have taken a firm view on that, and it undermines trust.
Common Mistakes
- One floor for everything. It hides which segment is leaking revenue.
- Raising floors during a revenue dip. If the dip comes from a falling consent rate, higher floors only shrink fill further.
- Ignoring bid density. A good average CPM on very few bids is fragile.
- Forgetting to re-test. Demand partners change their behaviour; revisit floors every quarter.
Where a CMP Fits In
FlexyConsent is a CMP certified by Google (CMP ID 317), IAB Europe and IAB Canada, with IAB TCF 2.4, IAB GPP v1.1 and Google Consent Mode v2 support, and a banner available in 57 languages. All plans include the same features and differ by pageviews and the “Powered by FlexyConsent” link, and there is a free plan. It records the visitor’s choice and passes it on through standard signals, so the consent state is available for your ad stack to act on.
Key Takeaways
- Consented and non-consented impressions are different products and deserve separate floors.
- Pass consent state into your ad stack as targeting so you can report and price on it.
- Measure fill, eCPM, bid density and viewability per segment before changing anything.
- Change one segment at a time and re-test every quarter.
- Improving the share of consented visitors with an honest banner usually beats any floor adjustment.