Opt-in rate vs consent rate: the denominator problem in cookie consent reporting
By The ConsentLift team · published · updated
One client reports an 80% consent rate. Another reports a 52% opt-in rate. Does the first one have the better banner? You can't tell until you know what's under the line.
Same site, two answers
Take one week on an online shop:
| Count | |
|---|---|
| Banners shown | 10,000 |
| Decisions (accept, reject, customise) | 6,000 |
| Acceptances ("accept all") | 4,800 |
The consent rate divides acceptances by decisions: 4,800 ÷ 6,000 = 80%.
The opt-in rate divides acceptances by banners shown: 4,800 ÷ 10,000 = 48%.
Same site, same visitors, same week. Both numbers are correct. They answer different questions.
Between them sit 4,000 banners nobody answered. People who read a product page with the banner parked at the bottom of the screen, bounced from the homepage, or never saw the banner because it rendered badly on their phone. The consent rate leaves them out. The opt-in rate counts them.
The market convention
These definitions aren't ours; they are the most common convention. Didomi documents them this way for its own analytics: the opt-in rate divides acceptances by the number of times the notice was shown, including visitors who made no choice; the consent rate only keeps those who answered.
So the problem isn't the definition. It's that in practice the two terms get swapped: in sales decks, in meeting notes, sometimes in dashboards themselves. "Our consent rate is 75%" means nothing until someone states the denominator.
The number that links them
You need a third rate to understand the gap: the decision rate, the share of banners that get an answer. In the example, 6,000 ÷ 10,000 = 60%.
The three are linked by a multiplication:
opt-in rate = decision rate × consent rate 48% = 60% × 80%
This is the most useful tool in the article. A falling opt-in rate can come from two very different causes, and the formula tells you which:
- if the consent rate falls, people read the banner and say no more often. That's the wording, the design, the button order;
- if the decision rate falls, people stop answering. The banner is less visible, slower to appear, broken on a browser, covered by something else, or the traffic itself has changed (more bounces, more bots).
They call for opposite fixes. Rewriting a banner that nobody sees achieves nothing.
The calculation also works on published figures. In its study of 2025 data, Didomi gives Western Europe a consent rate of 75.1% and an opt-in rate of 55.7%. That implies a decision rate of about 74%, so roughly a quarter of banners left unanswered, which falls inside the 21.7% to 27.4% "no choice" range the same study reports across regions. (The cross-check is ours, not Didomi's.)
Which one to read, depending on the question
"Is our banner convincing?" The consent rate. It isolates the reaction of people who read it. It's the right number for judging a wording or design test, as long as the decision rate doesn't move at the same time.
"How much of our traffic can we measure and target?" The opt-in rate. It is the closest to what GA4, ad pixels and remarketing audiences will actually receive. If a marketing director should remember one number, it's this one.
"Is something broken?" The decision rate, broken down by browser, device and page. A sudden drop on a single segment is almost always technical. That is how a Firefox-only bug, which had cost around 10 points of opt-in on that browser, and a popup that covered the banner so nobody could click "Accept", were found at clients. Neither was visible in the CMP's own dashboard.
Six common misreadings
1. Comparing a consent rate with an opt-in rate. The most common one, and the most expensive in a client meeting. A benchmark says "75% in Western Europe": that's a consent rate (see what a good cookie consent rate is for the published figures and their definitions). Your client is at 54% opt-in. They aren't necessarily below the market.
2. Comparing two CMPs on their own numbers. Each vendor counts its own way: a partial acceptance may or may not count as an acceptance, a re-display may or may not count as a banner, bots may or may not be filtered. During a migration, the old and new CMP don't produce comparable figures. You need the same measurement before and after: that's the CMP migration protocol.
3. Forgetting bots. A bot loads the page, the banner appears, it never clicks. Every unfiltered bot adds a banner with no decision: the decision rate and the opt-in rate fall, the consent rate doesn't move. A site hit by a wave of bots can watch its opt-in rate slide without anyone changing their mind.
4. Treating unanswered banners as neutral. A visitor who ignores the banner hasn't said no, but hasn't said yes either. Under UK and EU rules, carrying on browsing isn't valid consent to non-essential cookies, so those tags shouldn't fire. For measurement and advertising, that visit is lost just like a rejection.
5. Counting categories as acceptances. A visitor who customises and only allows analytics hasn't "accepted" in the opt-in sense: they made a partial decision. Depending on the tool, they're counted as an acceptance or not. Check how yours handles it before comparing two numbers.
6. Panicking over a rate above 100%. On a small segment, an opt-in or decision rate can go over 100%. It isn't a bug: a visitor can accept, reopen the settings and reject, on the same page. That's two decisions for one banner. On large volumes the effect washes out; on a low-traffic page it shows.
How to measure it for your clients
If a site runs a single CMP you know well, its dashboard may be enough. Three checks before trusting it:
- The denominator. Is the headline number based on banners shown or on decisions? The vendor's documentation usually says; the screen doesn't always.
- The unit. Are banners counted per page view or per session? A visitor who browses five pages without answering weighs five times in one case, once in the other.
- Bots. Are they removed, and can you see how many? A filter whose effect you can't see can't be checked.
Don't look for the answer in GA4: it only sees visitors who allowed analytics. It can't tell you how many banners went unanswered.
Once an agency handles several clients on several CMPs, or a client switches CMP, those checks are no longer enough: you need one measurement layered over all the CMPs, counting everyone the same way. That is what ConsentLift does. The definitions we use are the ones in this article, published in our glossary.
In a client report
An honest consent report shows the three numbers together, every month:
| Metric | What it tells the client |
|---|---|
| Opt-in rate | The share of traffic their tools can follow |
| Decision rate | The share of visitors who answer the banner |
| Consent rate | The share of those who answer and accept |
Next to them, the changes made during the period: a new banner version, a CMP migration, a campaign that changed the traffic mix. An opt-in rate that moves with nothing logged against it is a question to ask, not a number to explain away. That's the workflow on our agencies page.
To estimate what a point of opt-in is worth in ad spend, our calculator applies a documented model to the client's own figures. It's an estimate, with its assumptions on show, not a measurement.
FAQ
What is a good consent rate? Didomi measures 75.1% in Western Europe and 71% in France on 2025 data, as consent rates. The matching opt-in rate is much lower: 55.7% in Western Europe in the same study. A single figure says little on its own: compare the site with itself over time, using a stable definition. More in what a good cookie consent rate is.
Why is my opt-in rate falling while the consent rate holds steady? Because the decision rate is falling: fewer visitors answer the banner. Break it down by browser, device and page. A localised drop is almost always technical.
Doesn't Google's modelling make up for rejections? Only above thresholds: at least 1,000 events a day with analytics denied for at least 7 days, and at least 1,000 users a day who granted it, on at least 7 of the previous 28 days. Below that, nothing is modelled.
Should you aim for 100% opt-in? No, and you can't get there honestly. Regulators, the ICO and the CNIL among them, expect rejecting to be as easy as accepting. The realistic goal is to lose no consent for a technical reason, and to know exactly where you lose it.
Sources
- Didomi, "Consent rate vs Opt-in rate", product documentation: https://docs.didomi.io/analytics/consent-management-platform-cmp-analytics/cmp-metrics/consent-rate-vs-opt-in-rate
- Didomi, European consent benchmark, 19/03/2026, 2025 data: https://didomi.io/blog/benchmark-average-consent-rate-europe
- The Media Leader FR, 26/02/2026, on Didomi's 2026 report: https://fr.themedialeader.com/seuls-54-des-internautes-parametrent-leurs-cookies-selon-une-etude
- Google, "[GA4] Behavioral modeling for consent mode": https://support.google.com/analytics/answer/11161109
- ICO, Guidance on the use of storage and access technologies, "How do we manage consent in practice?": https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/guidance-on-the-use-of-storage-and-access-technologies/how-do-we-manage-consent-in-practice/