How we cut the cookie banner weight by 95% across our sites
The cookie banner is the silent killer of Core Web Vitals. We learned that the hard way, managing dozens of sites for clients and ourselves. When you install a serious CMP that handles GDPR + ePrivacy + Consent Mode v2 properly, you end up with 35 KB, 120 KB, sometimes 200 KB or more of scripts and CSS, just for consent.
When we set out to build Lean Cookie Consent, the first requirement wasn't compliance, and it wasn't design. It was byte count. A cookie banner that weighs as much as the rest of the homepage is an engineering failure, and like every engineering failure, you measure it and you fix it.
This post is about the numbers we measured, publicly, on real configurations.
What we measured
The Lean Cookie Consent Performance Benchmark 2026 compares the initial weight of the CMP only, before any user interaction, across the most popular products on the market. The methodology is reproducible and public:
- Measurement: Chromium CDP encodedDataLength on the initial CMP payload
- Compression: Brotli HTTP body where capturable
- State: empty cache and empty storage on every run, cold load
- Fixture: a clean HTML page with only the CMP snippet, no CMS, no analytics, no images
Lean tested on 2026-08-16, competitors on 2026-08-08. All raw data and evidence files are at leancookieconsent.com/benchmark-data/.
The benchmark numbers
| CMP | Initial bytes | Brotli body | Initial requests | Vs Lean mono |
|---|---|---|---|---|
| Lean Cookie Consent (mono) | 5,256 | 4,956 | 1 | - |
| Lean Cookie Consent (bilingual) | 5,442 | 5,142 | 1 | +3.5% |
| Lean Cookie Consent (7 languages) | 6,944 | 6,644 | 1 | +32% |
| CookieYes | 35,728 | - | 12 | -85.3% |
| CookieScript | 43,704 | - | 2 | -88.0% |
| iubenda | 120,549 | - | 5 | -95.6% |
| Cookiebot | 153,456 | - | 5 | -96.6% |
| OneTrust | 213,417 | - | 14 | -97.5% |
A word of caution. The competitor rows were captured on public configurations, often the vendor-owned marketing sites. Some customers may run slimmer configs than what we measured. Treat the comparison as "upper bound vs Lean", not as "Lean always beats everyone in every possible config".
The 95% in the title matches the delta vs iubenda: from 120,549 bytes to 5,256 bytes, -95.6%. Against OneTrust we reach -97.5%. Against Cookiebot -96.6%.
Real-world case: blacklotus.eu
To make sure those numbers actually held on a live site, not just on an empty fixture, we ran Lighthouse 13.4.1 headless against blacklotus.eu, Black Lotus Consulting's corporate site, with Lean Cookie Consent installed since August 11.
Mobile, Moto G4 emulation with simulated 4G throttling

Performance 75/100, Accessibility 96/100, Best Practices 100/100, SEO 100/100. Total Blocking Time 0 ms, Cumulative Layout Shift 0.001, Largest Contentful Paint 6.1 seconds. Total page weight 301 KiB, the whole homepage, not just Lean.
Desktop, no throttling

Performance 62/100, Accessibility 96/100, Best Practices 100/100, SEO 100/100. TBT 0 ms, CLS 0, LCP 6.1 seconds.
The Performance score isn't great. It would be dishonest to pretend otherwise. The reason isn't the banner. It's the homepage rendering, with heavy above-the-fold images and font swap. The banner contributes 0 ms of blocking time and 0 of layout shift, which is what matters for the signals Google actually weighs.
How we got down to 5 KB
No magic, a few trade-offs, and five specific choices.
- One file only. The payload is a single
.jsserved from a CDN with aggressive caching. No separate CSS, no iframe, no web components with polyfills. - Inline-ready install. The snippet is a single async defer script line. No parse blocking, no render blocking, no extra DNS lookups.
- Brotli first. The server delivers with
Content-Encoding: br. Lean mono comes in at 4,956 bytes on the wire. - Localisation that scales. Each language adds about 250 bytes, not separate files. Going from mono to seven languages costs 1.7 KB total.
- No third-party trackers. No analytics pixels in the banner, no fingerprinting SDK, no required tag manager.
What it means for multi-site operators
Cookie banner weight scales linearly with the number of sites you run. Manage thirty client sites and each one drags 100 KB of useless payload just for consent, and you're gifting away 3 MB of bandwidth per aggregated pageview, 300 ms of average TBT across the portfolio, and a nice slice of Google crawl budget. Not to mention the Garante Privacy fine risk if the banner isn't compliant.
Lean is built to install in a few minutes on any site, whether that's PHP, Node, static, WordPress, or headless, with a single account handling up to N sites from one dashboard.
Try it on your sites
Free 14-day trial, no credit card, at leancookieconsent.com/prova-gratuita.
The whole benchmark is verifiable: raw files (cmp-performance-2026-08-08.csv, cmp-performance-2026-08-08.json), full methodology (methodology.md), and the supported claims, all at leancookieconsent.com/benchmark-data/. If you find a lighter competitor, tell us. We'll publish the update.
Technical post by Black Lotus Consulting S.r.l., Milan. Also published on blacklotus.eu/blog/how-we-cut-cookie-banner-by-95-percent/.