# Ketch vs OneTrust: cookie banner speed and features

On desktop, OneTrust showed its banner sooner, in a median 629 ms against 1.68 s for Ketch. Ketch delayed the main content by 0 ms. OneTrust added no measurable delay. Both held trackers back in every check. Per vendor docs, only Ketch offers open-source code and a free tier. Per vendor docs, only OneTrust offers self-hosting.

We measured both in the same run, in a Next.js app. We measured each against the same page without a consent manager. They also share Script tag, React, Nuxt, Astro, TanStack Start integrations.

## Which is faster on desktop?

Desktop profile: 1365 × 768 · No CPU slowdown · 12.5 MB/s, no added latency.

| Question | Ketch | OneTrust | Difference |
| --- | --- | --- | --- |
| How fast does the banner appear? | 1.68 s | 629 ms | OneTrust’s banner appeared 1.05 s sooner. |
| Does it slow the page down? | 0 ms | No measurable change | Ketch delayed the main content by 0 ms. OneTrust added no measurable delay. |
| How fast does a click respond? | 40 ms | 24 ms | OneTrust responded 16 ms sooner. Both are under 200 ms, which feels instant. |
| Does it block trackers until consent? | 4 of 4 checks passed | 4 of 4 checks passed | Both held trackers back in every check. |
| How much does it add to the page? | +532 KB | +211 KB (95% interval: 211 KB) | OneTrust added 321 KB less to the first load. |

## Which is faster on mobile?

Mobile (emulated) profile: 390 × 844, DPR 3 · Mid-tier phone CPU (4× slowdown) · 200 KB/s, 150 ms latency.

On emulated mobile, OneTrust showed its banner sooner, in a median 3.92 s against 7.95 s for Ketch. OneTrust delayed the main content 1.27 s less. Both held trackers back in every check. Per vendor docs, only Ketch offers open-source code and a free tier. Per vendor docs, only OneTrust offers self-hosting.

| Question | Ketch | OneTrust | Difference |
| --- | --- | --- | --- |
| How fast does the banner appear? | 7.95 s | 3.92 s | OneTrust’s banner appeared 4.03 s sooner. |
| Does it slow the page down? | +1.74 s | +476 ms (95% interval 444 ms to 508 ms) | OneTrust delayed the main content 1.27 s less. |
| How fast does a click respond? | 40 ms | 16 ms | OneTrust responded 24 ms sooner. Both are under 200 ms, which feels instant. |
| Does it block trackers until consent? | 4 of 4 checks passed | 4 of 4 checks passed | Both held trackers back in every check. |
| How much does it add to the page? | +532 KB | +211 KB (95% interval: 211 KB) | OneTrust added 321 KB less to the first load. |

## Which features differ?

| Feature | Ketch | OneTrust |
| --- | --- | --- |
| IAB TCF | Per vendor docs (TCF v2.2) | Per vendor docs (TCF v2.2 and v2.3) |
| IAB GPP | Per vendor docs | Per vendor docs |
| Google Consent Mode v2 | Per vendor docs | Per vendor docs |
| Google-certified CMP | Per vendor docs | Per vendor docs |
| Global Privacy Control | Per vendor docs | Per vendor docs |
| Geo-targeted banners | Per vendor docs | Per vendor docs |
| Script blocking | Per vendor docs (Tag orchestration) | Per vendor docs |
| Consent records | Per vendor docs | Per vendor docs |
| Cookie scanning | Per vendor docs | Per vendor docs |
| Open source | Partial (SDKs and samples only) | Not supported (Proprietary) |
| Self-hostable | Not supported (Hosted service) | Partial (Script only; hosted backend) |
| Headless UI | Per vendor docs | Partial (Mobile and CTV only) |
| TypeScript types | Per vendor docs | Unknown |
| Free tier | Per vendor docs (5,000 users) | Not supported (Quote-based pricing) |
| Script tag | Per vendor docs | Per vendor docs |
| React SDK | Not supported (Script tag only) | Not supported (Script tag only) |
| Next.js SDK | Not supported (Script tag only) | Not supported (Script tag only) |
| Vue SDK | Not supported (Script tag only) | Not supported (Script tag only) |
| Nuxt SDK | Not supported (Script tag only) | Not supported (Script tag only) |
| Svelte SDK | Not supported (Script tag only) | Not supported (Script tag only) |
| SvelteKit SDK | Not supported (Script tag only) | Not supported (Script tag only) |
| Astro SDK | Not supported (Script tag only) | Not supported (Script tag only) |
| TanStack Start SDK | Not supported (Script tag only) | Not supported (Script tag only) |

## Which should you choose?

### Choose Ketch if

- You want open-source code and a free tier

### Choose OneTrust if

- You want self-hosting
- A fast banner matters to you: OneTrust’s banner appeared 1.05 s sooner
- Page load time matters to you: Ketch delayed the main content by 0 ms. OneTrust added no measurable delay
- Page weight matters to you: OneTrust added 321 KB less to the first load

## Questions about this pair

### Is Ketch slower than OneTrust?

On the desktop profile, OneTrust’s banner appeared in a median 629 ms and Ketch’s in 1.68 s. Ketch delayed the main content by 0 ms. OneTrust added no measurable delay.

### Do Ketch and OneTrust both support IAB TCF?

Both document it. Statuses come from vendor docs.

### Do Ketch and OneTrust block trackers before consent?

Both held trackers back in every check. Each check loads the page. Then it looks for trackers that ran, cookies that the page set or data that left the page before the visitor chose.

## Related comparisons

- [c15t vs OneTrust](https://cookiebench.com/compare/c15t-vs-onetrust.md)
- [c15t vs Ketch](https://cookiebench.com/compare/c15t-vs-ketch.md)
- [OneTrust vs Didomi](https://cookiebench.com/compare/onetrust-vs-didomi.md)
- [CookieYes vs OneTrust](https://cookiebench.com/compare/cookieyes-vs-onetrust.md)
- [OneTrust vs Usercentrics](https://cookiebench.com/compare/onetrust-vs-usercentrics.md)
- [Osano vs OneTrust](https://cookiebench.com/compare/osano-vs-onetrust.md)

Methodology [cookiebench-v3.2.4](https://cookiebench.com/methodology). inth, the team behind c15t, maintains CookieBench. c15t is one of the consent managers we measure ([disclosure](https://cookiebench.com/methodology)). Feature support comes from vendor documentation unless a row says "Verified by test".
