Skip to main content
c15tinth

c15t cookie banner: speed and features

In our tests, c15t showed its cookie banner in a median 60 ms on desktop. It delayed the main content by 16 ms (95% interval 8 ms to 40 ms). Accept responded in 16 ms and Reject in 16 ms. It held trackers back in all 4 consent checks.

On an emulated mid-tier phone, the banner took 240 ms. Per vendor docs, c15t supports IAB TCF, IAB GPP, Google Consent Mode v2 and Global Privacy Control, but not Google CMP certification.

Version tested
3.0.0-alpha.10
Vendor
inth
Website
c15t.com (opens in a new tab)

Results for

Framework

How fast is c15t’s cookie banner?

How fast does the banner appear?

60 ms
Fast

Median of 15 visits.

Fastest of 10 measured. Field median 471 ms. c15t: 60 ms.
All 10 CMPs, best first
  1. c15t60 ms
  2. Cookie Control385 ms
  3. CookieYes387 ms
  4. iubenda431 ms
  5. Didomi466 ms
  6. Enzuzo477 ms
  7. OneTrust629 ms
  8. Osano644 ms
  9. Usercentrics672 ms
  10. Ketch1.68 s

Does it slow the page down?

+16 ms95% interval 8 ms to 40 ms
Small

Compared with the same page without a consent manager.

10th of 10 measured, from least to most delay. Field median 0 ms. c15t: 16 ms.
All 10 CMPs, best first
  1. Didomi−4 ms
  2. iubenda−4 ms
  3. CookieYes−4 ms
  4. Ketch0 ms
  5. Osano0 ms
  6. Usercentrics0 ms
  7. Enzuzo4 ms
  8. OneTrust4 ms
  9. Cookie Control8 ms
  10. c15t16 ms

How fast does a click respond?

16 msOne visit measured
Fast

Reject responded in 16 ms. Under 200 ms feels instant.

Joint fastest of 10 measured. Field median 16 ms. c15t: 16 ms.
All 10 CMPs, best first
  1. c15t16 ms
  2. Cookie Control16 ms
  3. Didomi16 ms
  4. iubenda16 ms
  5. Usercentrics16 ms
  6. CookieYes16 ms
  7. Enzuzo24 ms
  8. OneTrust24 ms
  9. Osano32 ms
  10. Ketch40 ms

Does it block trackers until consent?

4 of 4consent checks passed
Blocked

No tracker ran and the page set no cookie before the visitor chose.

One of 8 of 10 measured to pass every check. Field median 100%. c15t: 100%.
All 10 CMPs, best first
  1. c15t100%
  2. Didomi100%
  3. Enzuzo100%
  4. iubenda100%
  5. Ketch100%
  6. OneTrust100%
  7. Osano100%
  8. Usercentrics100%
  9. Cookie Control75%
  10. CookieYes75%

Which standards and features does c15t support?

Each status comes from inth’s documentation for c15t. CookieBench does not test these features unless a line says so.

  • Verified by test
  • Per vendor docs
  • Partial
  • Not supported
  • Unknown

Which frameworks does c15t support?

First-party SDKs
React, Next.js, Vue, Nuxt, Svelte, SvelteKit, Astro and TanStack Start
Script tag
Supported
Measured in this run
Script tag, React, Next.js, Nuxt, Astro and TanStack Start
SDKs not measured yet
Vue, Svelte and SvelteKit

Support per inth’s documentation.

c15t’s results by framework, desktop

Each row is a separate app. We measured each one against the same app without a consent manager. The rows compare integrations, not frameworks.

c15t results by framework on the desktop profile: banner time, page delay, click response and tracker blocking
FrameworkBanner appearsPage slowed byClick responds inTrackers blocked
Script tag
267 msFast
No measurable delay95% interval −8 ms to 24 msNone
16 msOne visit measuredFast
4 of 4 passed
React
332 msModerate
+36 ms95% interval 28 ms to 52 msSmall
16 msOne visit measuredFast
4 of 4 passed
Next.jsShared with every CMPShown above
60 msFast
+16 ms95% interval 8 ms to 40 msSmall
16 msOne visit measuredFast
4 of 4 passed
Nuxt
45 msFast
+64 ms95% interval 36 ms to 84 msNoticeable
24 msOne visit measuredFast
4 of 4 passed
Astro
38 msFast
+36 ms95% interval 20 ms to 48 msSmall
Under 16 msOne visit measuredFast
4 of 4 passed
TanStack Start
54 msFast
+24 ms95% interval 8 ms to 44 msSmall
16 msOne visit measuredFast
4 of 4 passed

Were there problems testing c15t?

We show each missing answer as missing, never as zero.

Desktop

  • c15t makes this route render per request, while the no-CMP page is prerendered. That accounts for most of its added TTFB and FCP.

Mobile (emulated)

  • c15t makes this route render per request, while the no-CMP page is prerendered. That accounts for most of its added TTFB and FCP.

When does c15t load, and what does it cost the page?

Lab detail for engineers. All Core Web Vitals are here. The summary leaves some of them out.

When does c15t start loading?

The banner was visible at 60 ms. The published results do not show when c15t started to load.

c15t load timeline, Desktop, Next.js: milliseconds from navigation
EventTime from navigation
First byte (TTFB)22 ms
Banner visible60 ms
First paint (FCP)92 ms
Largest paint (LCP)148 ms
Consent state known166 ms
CMP requested
CMP loaded

How do page vitals compare with no consent manager?

Each row shows the value on the page with the consent manager. It also shows how far the value moved from the same page without one.

c15t page vitals, Desktop, Next.js, with the difference from a page without a consent manager
MeasureWith c15tDifference
TTFBTime to first byte22 ms+17 ms95% interval 8 ms to 23 ms
FCPFirst Contentful Paint92 ms+28 ms95% interval 8 ms to 52 ms
LCPLargest Contentful Paint148 ms+16 ms95% interval 8 ms to 40 ms
CLSCumulative Layout Shift0.00No measurable difference95% interval: 0.00
Primary content paintThe page’s main content, not the banner148 ms+16 ms95% interval 8 ms to 40 ms

What was the largest element on screen?

LCP times the largest element on screen. If that is the banner, LCP measures the banner instead of the page.

There is no LCP attribution for this profile and framework.

What happens after a visitor clicks Accept?

The screen responded to Accept in 16 ms.

c15t after Accept, Desktop, Next.js: milliseconds from the click
EventTime from the click
Screen responds16 ms
Banner gone
Consent applied
Analytics active

How much does it download?

Initial transfer happens before the page settles. Deferred transfer comes after.

c15t network use during the first load, Desktop, Next.js
MeasureWith c15tDifference
Initial transferBytes before the page settles725 KB+112 KB95% interval: 112 KB
Deferred transferBytes loaded laterNot compared
RequestsAll requests16+6No interval reported
Third-party requestsRequests to other hosts00No interval reported

Does it block the main thread?

Long tasks are stretches over 50 ms when the page cannot respond to taps or keys.

c15t long-task time during load, Desktop, Next.js
MeasureWith c15tDifference
Long-task timeBlocking time during load0 ms0 msNo interval reported

What do returning visitors see?

A visitor who accepted on an earlier visit comes back. We check that the banner stays hidden.

Banner stayed hidden
Consent state known at

What was tested?

Analysis
matrix-2026-10-11

Questions about c15t

Answers use both test profiles.

On desktop, it appeared in a median 60 ms, against 471 ms for the median of the 10 CMPs measured. On an emulated mid-tier phone, it appeared in a median 240 ms, against 2.71 s for the median of the 10 CMPs measured.