The open benchmark for what consent banners actually cost.
We run every major consent banner under identical, fixed conditions and score it on banner speed, page impact, network cost and visitor experience. Open source, reproducible, and rerun as vendors change.
Compare by
Scores out of 100 · Higher is better
| # | Provider | 0–100 against published anchors: Banner Speed 30%, Page Impact 25%, Network Cost 25%, Visitor Experience 20%. Good ≥ 80, Fair 60–79, Poor < 60. | From navigation start until the consent banner was detected as visible. | Bytes transferred beyond the no-SDK control on the same condition, read off the wire. | Share of the first viewport the banner's bounding box occupied when detected. | Largest Contentful Paint delay How much later the biggest element on screen, usually the main image or headline, renders than on the no-SDK control under the same condition. Reported, not scored. | Cumulative Layout Shift added How much more content jumps around than on the no-SDK control under the same condition, for example when a banner pushes it down. 0 means the banner moved nothing. Reported, not scored. | Total Blocking Time added How much longer scripts kept the browser too busy to respond to a tap or click than on the no-SDK control under the same condition, counting only the part of each long task past 50 ms. Scored in Page Impact. | First Contentful Paint delay How much later the first text or image appears than on the no-SDK control under the same condition, so the site's own load time is taken out. Scored in Page Impact. |
|---|---|---|---|---|---|---|---|---|---|
| 1 | CookieYes@cookieyes/nextjs@0.6.0 | 92Good | 451ms | 19.5KB | 11.7% | 521ms | 0.000 | 25ms | 17ms |
| 2 | CookieYes@cookieyes/react@0.8.0 | 91Good | 506ms | 22.7KB | 11.7% | 552ms | 0.000 | 19ms | 95ms |
| 3 | c15t@c15t/nextjs@2.2.1 (offline) | 81Good | 1.1s | 59.7KB | 27.8% | 117ms | 0.000 | 4ms | 117ms |
| 4 | c15t@c15t/react@2.2.1 (offline) | 80Good | 1.3s | 59.7KB | 27.8% | 180ms | 0.000 | 5ms | 180ms |
| 5 | CookieYesVendor CDN script | 79Fair | 1.9s | 28.3KB | 10.0% | 1.5s | 0.000 | 4ms | 182ms |
| 5 | EnzuzoVendor CDN script | 79Fair | 1.1s | 117.5KB | 9.4% | 671ms | 0.000 | 61ms | 632ms |
| 7 | OsanoVendor CDN script | 75Fair | 1.7s | 82.3KB | 12.8% | 415ms | 0.000 | 46ms | 415ms |
| 8 | IubendaVendor CDN script | 72Fair | 1.3s | 132.1KB | 23.5% | 397ms | 0.000 | 52ms | 397ms |
| 9 | c15t@c15t/react@2.2.1 | 69Fair | 2.9s | 59.7KB | 27.8% | 39ms | 0.000 | 9ms | 39ms |
| 10 | c15t@c15t/nextjs@2.2.1 | 68Fair | 3.0s | 59.8KB | 27.8% | 126ms | 0.000 | 0ms | 126ms |
| 11 | OneTrustVendor CDN script | 57Poor | 2.2s | 205.2KB | 16.4% | 735ms | 0.002 | 36ms | 0ms |
| 12 | KetchVendor CDN script | 49Poor | 3.3s | 353.0KB | 16.9% | 0ms | 0.000 | 236ms | 0ms |
No published installation matches that search. A provider that is not benchmarked yet is a fact about this benchmark, not about the provider — see what is published.