Start free trial Log in

Cookie banner traffic loss calculator: visitors GA4 never sees

See your data

A cookie banner rarely shrinks real demand. It often shrinks measurable demand for any tag that only loads after consent — usually GA4, ads pixels, and session replay. Dashboards then look like a traffic crash when the change was decline rate (or “ignore and leave denied”), not fewer people on the page.

This free calculator turns that into a number you can put next to a CMP report. Enter monthly (or weekly) visitors, a decline-or-ignore rate, and how much of your measurement stack sits behind consent. Use the EU, UK, or AU presets as planning bands, then override with your CMP’s accept / reject / no-action mix. Output: estimated visitors your consent-gated analytics never counted.

The tool above runs entirely in your browser. There is no login, nothing is sent to SiteLine, and it does not connect to Google Analytics or your CMP. It is arithmetic for planning — not legal advice and not a claim about revenue.

When the gap is large enough that week-over-week GA4 stops being trustworthy, SiteLine offers cookieless product analytics (no first-party analytics cookie) beside a Search Console archive (~16-month backfill on connect, up to 25k rows/day/report, retained while you subscribe) and read-only MCP for agents. Start a 7-day trial (no card) · Pricing from $4.99/mo.

How to use the calculator

  1. Enter the visitor (or session) volume for the period you care about — usually landing-page traffic for the same dates as your analytics report.
  2. Set decline or ignore rate — share who reject analytics cookies or never interact while your CMP defaults to denied. Prefer CMP raw counts over a pretty “consent rate” that ignores no-action.
  3. Set share of measurement behind consent — 100% if GA4 (and the tags you care about) only load after grant; lower if some measurement is already cookieless or server-side.
  4. Optionally pick an EU, UK, or AU preset to fill a planning band, then fine-tune.
  5. Read estimated unseen visitors and the implied % of the input volume. Treat the result as a planning estimate, not a forensic audit.

Full narrative and boundary conditions: How much traffic does a cookie banner cost analytics?.

The formula (and what each input means)

unseen_visitors ≈ eligible_visits × decline_or_ignore_rate × share_behind_consent
Input What to use
eligible_visits Sessions or users you would have counted if the tag always fired (pre-banner baselines, server/CDN estimates, or “if consent were 100%”)
decline_or_ignore_rate Reject + no-action-that-stays-denied, as a fraction of eligible visits — not accept÷(accept+reject) alone
share_behind_consent 1.0 if GA4 only loads after grant; e.g. 0.5 if half your pageviews already come from a cookieless or always-on collector

Example: 100,000 landing visits, 40% decline/ignore, GA4 fully gated → about 40,000 visits GA4 never saw. The product may still have sold. The GA4 chart did not.

EU / UK / AU presets (planning bands, not law)

Consent rates vary by industry, banner design, and whether “reject” is one click. These presets are starting points for the calculator — replace them with your CMP data when you have it.

Preset Rough analytics decline / ignore band When to use it
EU Often 30–60%+ Strict CMPs, equal prominence for reject, heavy EU audience
UK Often 30–55% UK GDPR / PECR-style banners; similar discipline to EU marketing sites
AU Often 15–40% APPs ≠ GDPR; many sites still gate GA4 cookies behind a banner

If your CMP reports consent as accept÷(accept+reject) and ignores non-interaction, your true unseen share is higher than the vendor dashboard suggests. Feed the calculator the worse number if you want a conservative planning estimate.

Step-by-step: estimate without kidding yourself

  1. Pull CMP accept / reject / no-action for the same dates as the analytics report.
  2. Confirm which tags wait for grant (GTM preview or network). If GA4 fires before consent, “share behind consent” is not 100%.
  3. Start with landing-page volume — SEO and paid debates live there; whole-site sessions mix app and logged-in noise.
  4. Run the calculator on your real decline/ignore rate, then once with an EU/UK/AU preset to check sensitivity.
  5. Compare directionally to Search Console for the same URLs and dates. GSC is a different ledger; a GA4 cliff with flat GSC often means measurement, not demand — organic traffic vs Search Console, Search Console clicks vs analytics sessions, combine GSC with cookieless analytics.
  6. Do not call unseen visitors lost revenue without a conversion model. Unseen ≠ unconverted.

What the banner does not cost

Meta Pixel, Hotjar, Ads, and replay behind the same wall still need their own consent story — consent-free analytics, GA4 and the cookie banner.

Worked scenarios

SaaS marketing site — GA4 + Meta Pixel behind one wall

Both tags wait for “Marketing / Analytics” consent. Decline/ignore 35%. Paid and organic landers under-count; in-app signup (first-party) looks fine. Marketing declares a traffic crisis. Run the calculator on lander visits × 35% × 100% before you rewrite the homepage.

Content site that swaps GA4 for cookieless analytics

Share behind consent for analytics can drop toward 0% for the new tracker. The banner may remain for ads/replay only. Week-to-week pageviews become usable again; Search Console stays the SERP ledger.

Agency roll-up of ten client GA4 properties

Each client’s decline rate differs. Averaging “traffic” across consent holes produces fiction. Run the calculator per property (or per locale preset), and report consent-gated analytics separately from Search Console — agency client reporting, why analytics numbers don't match.

When a free estimate is not enough

The calculator answers “about how many visitors did the wall hide?” It does not replace a CMP audit or legal review, recover past GA4 hits that never reached a collector, or archive Search Console days before Google’s ~16-month window drops them.

SiteLine’s product answer: cookieless analytics (so many sites can drop the analytics-cookie reason for a banner) plus a GSC history warehouse (~16 months backfilled on connect, up to 25k rows/day/report, retained while you subscribe) so SEO reporting is not trapped inside consent-gated GA4. Agents read both over read-only MCP — /mcp. Privacy: /docs/privacy.

Start free for 7 days — no card · See pricing from $4.99/mo · Register with MCP intent

Related guide: Cookie banner traffic loss · Related tools: GSC data expiry calculator · GSC regex builder · All free tools

FAQ

Usually no. It reduces tagged visitors for consent-gated scripts. CDN and server metrics can stay flat while GA4 falls. This calculator estimates the tagged gap, not lost humans.

What do the EU, UK and AU presets mean?

They are planning bands for decline-or-ignore rates commonly seen on marketing sites in those audience mixes — not statutes and not your CMP’s real number. Replace them when you have accept / reject / no-action data.

Should I use sessions or users?

Be consistent with the report you are comparing. Landing-page sessions are usually the honest input for SEO/ads debates. Do not mix GA4 “users” with CMP “sessions” without saying so.

Can cookieless analytics replace my CMP entirely?

Only if nothing else on the page needs consent. Ads, replay, and many A/B tools still do. See consent-free analytics and Do I need a cookie banner for analytics?.

Why do GA4 and Search Console disagree after a CMP change?

Different events, different identities, anonymised queries, and GSC lag. Consent holes amplify the gap; they are not the only cause — why analytics numbers don't match.

Does this tool need access to GA4 or my CMP?

No. It only multiplies the numbers you type in your browser. It never calls Google and does not send inputs to SiteLine.

Will SiteLine show the visitors GA4 already missed?

It can show cookieless pageviews for traffic that loads its script going forward. It cannot replay a past month of GA4-denied hits that never reached any collector. Trial is 7 days, no card; plans from $4.99/mo; GSC archive ~16 mo / 25k rows/day/report while subscribed, with MCP.