Skip to main content
OneTrustOneTrust

OneTrust cookie banner: speed and features

In our tests, OneTrust showed its cookie banner in a median 3.92 s on an emulated mid-tier phone. It delayed the main content by 476 ms (95% interval 444 ms to 508 ms). Accept responded in 16 ms and Reject in 16 ms. It held trackers back in all 4 consent checks.

On desktop, the banner took 629 ms. Per vendor docs, OneTrust supports IAB TCF, IAB GPP, Google Consent Mode v2, Google CMP certification and Global Privacy Control.

Version tested
Hosted
Vendor
OneTrust
Website
onetrust.com (opens in a new tab)

Results for

Framework

How fast is OneTrust’s cookie banner?

How fast does the banner appear?

3.92 s
Moderate

Median of 15 visits.

7th fastest of 10 measured. Field median 2.71 s. OneTrust: 3.92 s.
All 10 CMPs, best first
  1. c15t240 ms
  2. Osano2.15 s
  3. CookieYes2.42 s
  4. Cookie Control2.47 s
  5. iubenda2.66 s
  6. Enzuzo2.75 s
  7. OneTrust3.92 s
  8. Usercentrics4.16 s
  9. Didomi4.41 s
  10. Ketch7.95 s

Does it slow the page down?

+476 ms95% interval 444 ms to 508 ms
Small

Compared with the same page without a consent manager.

4th of 10 measured, from least to most delay. Field median 552 ms. OneTrust: 476 ms.
All 10 CMPs, best first
  1. CookieYes176 ms
  2. c15t408 ms
  3. Osano424 ms
  4. OneTrust476 ms
  5. Cookie Control492 ms
  6. iubenda612 ms
  7. Enzuzo768 ms
  8. Usercentrics844 ms
  9. Didomi1.28 s
  10. Ketch1.74 s

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 28 ms. OneTrust: 16 ms.
All 10 CMPs, best first
  1. Didomi16 ms
  2. OneTrust16 ms
  3. Usercentrics16 ms
  4. Cookie Control24 ms
  5. CookieYes24 ms
  6. c15t32 ms
  7. iubenda32 ms
  8. Ketch40 ms
  9. Enzuzo56 ms
  10. Osano128 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 7 of 10 measured to pass every check. Field median 100%. OneTrust: 100%.
All 10 CMPs, best first
  1. c15t100%
  2. Didomi100%
  3. Enzuzo100%
  4. iubenda100%
  5. Ketch100%
  6. OneTrust100%
  7. Usercentrics100%
  8. Cookie Control75%
  9. CookieYes75%
  10. Osano50%

Which standards and features does OneTrust support?

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

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

Which frameworks does OneTrust support?

First-party SDKs
None
Script tag
Supported
Measured in this run
Script tag, React, Next.js, Nuxt, Astro and TanStack Start

Support per OneTrust’s documentation (opens in a new tab).

OneTrust’s results by framework, mobile (emulated)

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

OneTrust results by framework on the mobile profile: banner time, page delay, click response and tracker blocking
FrameworkBanner appearsPage slowed byClick responds inTrackers blocked
Script tag
3.68 sModerate
+812 ms95% interval 760 ms to 836 msNoticeable
16 msOne visit measuredFast
4 of 4 passed
React
3.66 sModerate
+300 ms95% interval 264 ms to 348 msSmall
16 msOne visit measuredFast
4 of 4 passed
Next.jsShared with every CMPShown above
3.92 sModerate
+476 ms95% interval 444 ms to 508 msSmall
16 msOne visit measuredFast
4 of 4 passed
Nuxt
3.85 sModerate
+716 ms95% interval 688 ms to 744 msNoticeable
24 msOne visit measuredFast
4 of 4 passed
Astro
3.70 sModerate
+860 ms95% interval 812 ms to 904 msNoticeable
16 msOne visit measuredFast
4 of 4 passed
TanStack Start
3.79 sModerate
+472 ms95% interval 452 ms to 492 msSmall
24 msOne visit measuredFast
4 of 4 passed

When does OneTrust 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 OneTrust start loading?

The banner was visible at 3.92 s. The published results do not show when OneTrust started to load.

OneTrust load timeline, Mobile (emulated), Next.js: milliseconds from navigation
EventTime from navigation
First byte (TTFB)6 ms
First paint (FCP)248 ms
Banner visible3.92 s
Largest paint (LCP)3.93 s
CMP requested
CMP loaded
Consent state known

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.

OneTrust page vitals, Mobile (emulated), Next.js, with the difference from a page without a consent manager
MeasureWith OneTrustDifference
TTFBTime to first byte6 msNo measurable difference95% interval −3 ms to 2 ms
FCPFirst Contentful Paint248 msNo measurable difference95% interval −12 ms to 20 ms
LCPLargest Contentful Paint3.93 s+476 ms95% interval 444 ms to 508 ms
CLSCumulative Layout Shift0.00No measurable difference95% interval: 0.00
Primary content paintThe page’s main content, not the banner4.54 s+1.09 s95% interval 1.08 s to 1.11 s

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.

OneTrust after Accept, Mobile (emulated), 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.

OneTrust network use during the first load, Mobile (emulated), Next.js
MeasureWith OneTrustDifference
Initial transferBytes before the page settles824 KB+211 KB95% interval: 211 KB
Deferred transferBytes loaded laterNot compared
RequestsAll requests22+12No interval reported
Third-party requestsRequests to other hosts12+12No interval reported

Does it block the main thread?

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

OneTrust long-task time during load, Mobile (emulated), Next.js
MeasureWith OneTrustDifference
Long-task timeBlocking time during load183 ms+116 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 OneTrust

Answers use both test profiles.

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