Silent failures
A deployment breaks the banner script on Tuesday. You notice in next month's report. The Daily Interaction Rate chart would have shown you a cliff to zero the same afternoon.
Every banner impression, every click, every ignore — measured. CookieLet turns consent into a dataset you can read, broken down by country, device and banner layer, and backed by an auditable log.
Most teams install a consent banner, watch their analytics traffic fall, and never find out why. Was the banner broken on mobile? Did it render in the wrong language? Did anyone actually click it? Without instrumentation, those are all the same invisible problem.
A deployment breaks the banner script on Tuesday. You notice in next month's report. The Daily Interaction Rate chart would have shown you a cliff to zero the same afternoon.
Your banner performs fine in one market and gets ignored in another. Aggregate numbers average that away. Country Analytics puts the two side by side.
You rewrite the banner copy and hope. Layer Analytics tells you whether the change moved decisions on the first layer or just pushed people into the preference centre.
Consent Analytics is built as a funnel of detail. Start on the dashboard, drill into engagement, then segment until you find the cause.
The landing screen answers one question first: is consent being collected at all? A live Banner Status chip sits above everything else, because if it isn't green, no other number on the page means anything.
Read it in context. Consent Trends is a share of decisions, not of views. A perfect accept rate on a handful of clicks is a small sample, not a win.
Four numbers that always reconcile, plus two charts that show you when things changed. This is the screen you open when analytics traffic drops and you need to know whether the banner is the cause.
Displays = Interactions + Ignores
397 = 29 + 368
// if these ever disagree, it's a data-integrity signal
The same events, sliced three ways. Each segment shows its display volume alongside two bars — interaction rate in amber, accept rate in blue — so you can see engagement and outcome in one row.
10 mobile displays against 387 desktop is unusual for consumer traffic — the kind of anomaly that only surfaces once you segment.
| Metric | Formula | Denominator | What it tells you |
|---|---|---|---|
| Display | count(render) | — | The banner was presented to a visitor. The base unit of everything. |
| Interaction | count(action) | — | Accept, reject, save preferences, or open a deeper layer. |
| Ignore | displays − interactions | — | Seen, not answered. Not a rejection — but not consent either. |
| Interaction rate | interactions ÷ displays | Displays | Whether your banner is being answered at all. |
| Accept rate | accepted ÷ decisions | Interactions | What people choose, once they choose something. |
| Accepted | "Accept all" | Decisions | Consent to every category. |
| Rejected | "Reject all" | Decisions | Consent withheld from all non-essential categories. |
| Custom | subset selected | Decisions | Granular consent set in the preference centre. |
Silence is not consent — and it isn't refusal either. Interaction rate is measured out of everyone who saw the banner. Accept rate is measured out of everyone who answered it. Two different denominators, deliberately. An ignored banner never inflates or deflates your accept rate, because it was never a decision.
A consent experience isn't one screen — it's a stack. Measuring them together hides the story. Measuring them apart tells you exactly which surface to fix.
The floating consent icon or "Cookie settings" link a visitor uses to revisit their choice. Under opt-in rules, withdrawing consent must be as easy as granting it — this layer is how you prove it's reachable. A permanent zero means nobody can find it.
The first thing a visitor sees, carrying the headline accept and reject actions. This is your volume layer — most decisions should happen here. Low L1 interaction relative to displays means the copy or button hierarchy isn't working.
The granular, per-category screen. Visitors who reach it are deliberate. High L2 volume with a lower accept rate isn't a failure — it's informed, granular consent, and it's the most defensible signal in the whole module.
Watch the gradient. Accept rate should fall from L1 to L2 — that's normal. If it inverts, and people accept more in the preference centre than on the banner, your first layer is confusing enough that visitors are escaping into the settings screen to work out what's being asked.
Banner status confirms consent was being collected. Consent Trends shows the aggregate. The Consent Log produces the timestamped, per-visitor records behind it. Aggregate plus evidence, from the same source of truth.
Open Daily Interaction Rate. A vertical cliff to zero on a specific date almost always maps to a release. You get the date, then your release log gives you the commit.
Compare mobile against desktop interaction rate. A material gap sends you straight to banner layout on small viewports — buttons below the fold, a preference centre that won't scroll, tap targets under 44px.
Find the countries with high displays and near-zero interaction, then check whether you're serving them a banner in a language they read. Translation is usually the cheapest interaction-rate win available.
Cookie Summary prints the scan date on the card. If it's stale, or the discovered cookies aren't all categorised, your banner isn't governing everything it should — and your accept rate is measuring an incomplete picture.
Non-zero Layer 0 activity is direct evidence that visitors can find and use the re-open control. It's a compliance metric, not a growth metric — its job is to exist, not to be large.
One tag, before your other scripts. CookieLet renders the banner, blocks non-essential cookies until a decision is made, and starts recording displays and interactions immediately.
The scanner discovers what's actually setting cookies on your site and sorts it into consent categories. Cookie Summary reports the count and the scan date so you know the picture is current.
Set your baseline. Change one thing — copy, placement, a translation. Watch the Daily Interaction Rate chart for a full week before you conclude anything. Repeat.
It is trivially easy to raise an accept rate. Make the reject button grey and small. Pre-tick the categories. Bury the preference centre three clicks deep. Every one of those will move the number on this screen — and every one of them invalidates the consent behind it.
Consent Analytics is built to show you the real shape of visitor behaviour, including the parts that are inconvenient. Interaction rate and accept rate are kept separate for exactly this reason: so you can't quietly count silence as agreement.
FAQ
No. Ignores are counted separately and excluded from accept rate. Functionally, though, under opt-in regimes an ignored banner means no consent — so non-essential cookies must not be set for that visitor.
Period filters are applied per chart, not per page. That's deliberate — it lets you hold a long-run baseline next to a recent window. Always check the filter chip before comparing two numbers.
The segment is known to the report — from an earlier period or from your configuration — but recorded no banner displays in the window you're currently viewing.
The analytics screens present aggregate, anonymised metrics. Individual consent records, with the identifiers needed for audit, live separately in the Consent Log.
Metrics update on an ongoing basis as events arrive. Cookie Summary is the exception — it reflects the last completed scan, and prints that date on the card.
It varies enormously by industry, region and banner design, so treat external benchmarks with caution. The number that matters is your own trend line: establish a baseline, make one change, and read the daily chart.
Consent records are available from the Consent Log for audit and regulatory response. For bulk export of aggregate analytics, talk to support.
No. Consent Analytics is part of the banner. Once the CookieLet script is installed, displays and interactions are recorded automatically — there are no additional events to instrument.
Drop in the script, scan your cookies, and read your first opt-in numbers the same day.