How fast does the banner appear?
Median of 15 visits.
All 6 integrations, best first
- Astro412 ms
- Script tag424 ms
- React443 ms
- TanStack Start463 ms
- Next.js477 ms
- Nuxt480 ms
In our tests with its Astro integration, Enzuzo showed its cookie banner in a median 412 ms on desktop. It delayed the main content by 8 ms. Accept responded in 16 ms and Reject in under 16 ms. It held trackers back in all 4 consent checks.
On an emulated mid-tier phone, the banner took 2.31 s. Per vendor docs, Enzuzo supports IAB TCF, Google Consent Mode v2, Google CMP certification and Global Privacy Control. We could not confirm IAB GPP.
On Astro. We measured other CMPs on Next.js only, so this comparison uses Enzuzo’s other integrations.
Median of 15 visits.
Compared with the same page without a consent manager. There were too few paired visits to calculate an interval.
Reject responded in under 16 ms. Under 200 ms feels instant.
No tracker ran and the page set no cookie before the visitor chose.
Each status comes from Enzuzo’s documentation. CookieBench does not test these features unless a line says so.
| Feature | Status |
|---|---|
| IAB TCF | Growth plan and up (vendor documentation, opens in a new tab) |
| IAB GPP | Unknown |
| Google Consent Mode v2 | Per vendor docs (vendor documentation, opens in a new tab) |
| Google-certified CMP | Per vendor docs (vendor documentation, opens in a new tab) |
| Global Privacy Control | Per vendor docs (vendor documentation, opens in a new tab) |
| Feature | Status |
|---|---|
| Geo-targeted banners | Growth plan and up (vendor documentation, opens in a new tab) |
| Script blocking | Per vendor docs (vendor documentation, opens in a new tab) |
| Consent records | Per vendor docs (vendor documentation, opens in a new tab) |
| Cookie scanning | Per vendor docs (vendor documentation, opens in a new tab) |
| Feature | Status |
|---|---|
| Open source | Hosted embed only (vendor documentation, opens in a new tab) |
| Self-hostable | Hosted embed only (vendor documentation, opens in a new tab) |
| Headless UI | Enterprise plan (vendor documentation, opens in a new tab) |
| TypeScript types | Unknown |
| Feature | Status |
|---|---|
| Free tier | 5,000 visitors a month (vendor documentation, opens in a new tab) |
Support per Enzuzo’s documentation (opens in a new tab).
Each row is a separate app. We measured each one against the same app without a consent manager. The rows compare integrations, not frameworks.
| Framework | Banner appears | Page slowed by | Click responds in | Trackers blocked |
|---|---|---|---|---|
| Script tag | 424 ms | 0 ms | Under 16 msOne visit measured | 4 of 4 passed |
| React | 443 ms | −4 ms | 16 msOne visit measured | 4 of 4 passed |
| Next.jsShared with every CMP | 477 ms | +4 ms | 24 msOne visit measured | 4 of 4 passed |
| Nuxt | 480 ms | +4 ms | 16 msOne visit measured | 4 of 4 passed |
| AstroShown above | 412 ms | +8 ms | 16 msOne visit measured | 4 of 4 passed |
| TanStack Start | 463 ms | +4 ms | 24 msOne visit measured | 4 of 4 passed |
Lab detail for engineers. All Core Web Vitals are here. The summary leaves some of them out.
The banner was visible at 412 ms. The published results do not show when Enzuzo started to load.
| Event | Time from navigation |
|---|---|
| First byte (TTFB) | 5 ms |
| First paint (FCP) | 64 ms |
| Largest paint (LCP) | 96 ms |
| Banner visible | 412 ms |
| CMP requested | |
| CMP loaded | |
| Consent state known |
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.
| Measure | With Enzuzo | Difference |
|---|---|---|
| TTFBTime to first byte | 5 ms | +1 msNo interval reported |
| FCPFirst Contentful Paint | 64 ms | +8 msNo interval reported |
| LCPLargest Contentful Paint | 96 ms | +8 msNo interval reported |
| CLSCumulative Layout Shift | 0.00 | 0.00No interval reported |
| Primary content paintThe page’s main content, not the banner | 96 ms | +8 msNo interval reported |
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.
The screen responded to Accept in 16 ms.
| Event | Time from the click |
|---|---|
| Screen responds | 16 ms |
| Banner gone | |
| Consent applied | |
| Analytics active |
Initial transfer happens before the page settles. Deferred transfer comes after.
| Measure | With Enzuzo | Difference |
|---|---|---|
| Initial transferBytes before the page settles | 651 KB | +153 KBNo interval reported |
| Deferred transferBytes loaded later | Not compared | |
| RequestsAll requests | 6 | +2No interval reported |
| Third-party requestsRequests to other hosts | 2 | +2No interval reported |
Long tasks are stretches over 50 ms when the page cannot respond to taps or keys.
| Measure | With Enzuzo | Difference |
|---|---|---|
| Long-task timeBlocking time during load | 44 ms | +44 msNo interval reported |
A visitor who accepted on an earlier visit comes back. We check that the banner stays hidden.
matrix-2026-10-11On desktop, it appeared in a median 477 ms, against 471 ms for the median of the 10 CMPs measured. On an emulated mid-tier phone, it appeared in a median 2.75 s, against 2.71 s for the median of the 10 CMPs measured.
On desktop it delayed the main content by 4 ms. On an emulated mid-tier phone it delayed the main content by 768 ms. Delay is the extra time before the main content appears. We compare Largest Contentful Paint on the same page, with and without a consent manager.
It passed 4 of 4 checks on desktop and on an emulated mid-tier phone. A check fails if a tracker runs, the page sets a cookie or data leaves the page before the visitor chooses.
Per vendor docs, Enzuzo supports IAB TCF, Google Consent Mode v2, Google CMP certification and Global Privacy Control. We could not confirm IAB GPP. Feature support comes from Enzuzo’s documentation. CookieBench did not test these features itself.