Skip to main content
c15tinth

c15t cookie banner: speed and features

In our tests with its React integration, c15t showed its cookie banner in a median 332 ms on desktop. It delayed the main content by 36 ms (95% interval 28 ms to 52 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 1.46 s. 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?

On React. We measured other CMPs on Next.js only, so this comparison uses c15t’s other integrations.

How fast does the banner appear?

332 ms
Moderate

Median of 15 visits.

6th fastest of 6 c15t integrations. Field median 57 ms. c15t: 332 ms.
All 6 integrations, best first
  1. Astro38 ms
  2. Nuxt45 ms
  3. TanStack Start54 ms
  4. Next.js60 ms
  5. Script tag267 ms
  6. React332 ms

Does it slow the page down?

+36 ms95% interval 28 ms to 52 ms
Small

Compared with the same page without a consent manager.

Joint 4th of 6 c15t integrations, from least to most delay. Field median 30 ms. c15t: 36 ms.
All 6 integrations, best first
  1. Script tag8 ms
  2. Next.js16 ms
  3. TanStack Start24 ms
  4. Astro36 ms
  5. React36 ms
  6. Nuxt64 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 6 c15t integrations. Field median 16 ms. c15t: 16 ms.
All 6 integrations, best first
  1. Next.js16 ms
  2. Astro16 ms
  3. TanStack Start16 ms
  4. React16 ms
  5. Script tag16 ms
  6. Nuxt24 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.

All 6 c15t integrations passed every check. Field median 100%. c15t: 100%.
All 6 integrations, best first
  1. Next.js100%
  2. Nuxt100%
  3. Astro100%
  4. TanStack Start100%
  5. React100%
  6. Script tag100%

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
ReactShown above
332 msModerate
+36 ms95% interval 28 ms to 52 msSmall
16 msOne visit measuredFast
4 of 4 passed
Next.jsShared with every CMP
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

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 332 ms. The published results do not show when c15t started to load.

c15t load timeline, Desktop, React: milliseconds from navigation
EventTime from navigation
First byte (TTFB)2 ms
First paint (FCP)108 ms
Largest paint (LCP)180 ms
Consent state known305 ms
Banner visible332 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, React, with the difference from a page without a consent manager
MeasureWith c15tDifference
TTFBTime to first byte2 msNo measurable difference95% interval 0 ms to 1 ms
FCPFirst Contentful Paint108 msNo measurable difference95% interval 0 ms to 44 ms
LCPLargest Contentful Paint180 ms+36 ms95% interval 28 ms to 52 ms
CLSCumulative Layout Shift0.00No measurable difference95% interval: 0.00
Primary content paintThe page’s main content, not the banner180 ms+36 ms95% interval 28 ms to 52 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, React: 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, React
MeasureWith c15tDifference
Initial transferBytes before the page settles652 KB+100 KB95% interval: 100 KB
Deferred transferBytes loaded laterNot compared
RequestsAll requests17+10No interval reported
Third-party requestsRequests to other hosts1+1No 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, React
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
Issues
None recorded in this run

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.