M MurmTools

the consent gap index · august 2026 · 5,294 sites

Almost every consent banner is answered too late.

We loaded 5,294 of the most-visited websites once each, in a clean browser, and counted how many separate companies each page contacted before a consent banner could realistically have been read and answered. Not what they collected — nobody outside those companies can see that. Just who was contacted, and when.

Counted figure. 96% of sites with a consent banner fired before it 1,945 of the 2,033 sites where we detected a consent tool had already contacted a third party inside the window.
Counted figure. 5 companies, median, before you could answer On sites that have a banner and fire anyway. The worst reached 56.
Counted figure. 659 ms to first contact, median The fastest was 46ms. No banner has been read in 46 milliseconds.
Refused figure. No such number exists and none can be measured. What any of them collected A request is not proof of collection, and nobody outside those companies can see what was sent. We measured contact, so we report contact.

the finding

Having a banner barely changes what happens before you answer it.

Of 5,294 sites measured, 92% contacted at least one outside company inside the two-second window. That much is unsurprising. The surprise is that installing a consent tool made almost no difference to it: of the 2,033 sites where we detected one, 1,945 had already contacted a third party.

The fifteen widest gaps

Ranked by companies contacted before the banner could be answered.

SiteBefore consentTotalFirst contactConsent tool
fr.ru 56 63 1541ms no consent tool
eltiempo.com 42 42 534ms no consent tool
atlasobscura.com 39 51 300ms OneTrust
haaretz.com 38 38 306ms OneTrust
thedailybeast.com 36 37 751ms OneTrust
polovniautomobili.com 36 38 429ms IAB TCF consent tool
jpost.com 35 42 299ms OneTrust
oantagonista.com.br 35 39 251ms IAB TCF consent tool
techcrunch.com 34 34 82ms IAB TCF consent tool
elmundo.es 34 38 683ms IAB TCF consent tool
mobiledokan.com 34 36 1064ms IAB TCF consent tool
acorns.com 34 36 291ms OneTrust
financialpost.com 34 60 250ms no consent tool
mainichi.jp 33 38 724ms IAB TCF consent tool
ghanaweb.com 33 35 331ms IAB TCF consent tool

Being on this table is not an accusation. Read what could make this fine before drawing a conclusion.

by consent platform

No consent platform stopped it on more than 8% of its own sites.

Grouped by the consent tool we detected. The question each row answers is: of the sites running this platform, how many had already contacted an outside company before that platform’s banner could have been answered? Denominators are shown because they differ by orders of magnitude, and a 100% on a handful of sites is not the same claim as 95% on 853.

Consent platform Fired before its own banner Share Median companies
OneTrust 814 of 853 95% 5
IAB TCF consent tool 805 of 846 95% 6
Cookiebot 105 of 106 99% 5
Osano 70 of 71 99% 6
CookieYes 61 of 62 98% 6
Usercentrics 55 of 60 92% 4
Iubenda 21 of 21 100% 8
Termly (small sample) 10 of 10 100% 5
Klaro (small sample) 4 of 4 100% 7

This is not a claim that these platforms are broken. A consent tool governs what fires after a choice; it cannot retroactively govern what the page already loaded before it appeared. That is exactly the gap, and it is the site’s to close, not the vendor’s.

before you draw a conclusion

Every company, platform and country, measured separately.

The index above is the whole corpus at once. These break it apart: one page per company seen on 50 or more sites, per platform, per consent tool and per top-level domain, each carrying only what was measured for it.

Four things that can make early contact perfectly correct.

It may be the site’s own infrastructure A CDN, an image host or an error reporter is a third party by domain and not by intent. Removing it would break the page.
A request is not a collection We record that a connection was made. What crossed it, if anything, is not visible from outside — and your browser or another extension may have blocked it.
The banner may load after our window We stop counting at two seconds. A consent tool that appears at 2.5s is recorded as absent, which understates how many sites have one.
We measured from one country Consent behaviour is geographic. This ran from the Netherlands; a site may behave differently for a visitor elsewhere, in either direction.

We are not saying any of this is unlawful, and the word does not appear anywhere in the data. You get the timestamps. The conclusion is yours.

method

How this was measured, and what was thrown away.

Sites came from the Tranco top-1M, visited in rank order. 10,491 were attempted and 5,197 were excluded — mostly infrastructure domains that serve no homepage (gtld-servers.net, gstatic.com), plus timeouts, certificate errors and non-HTML responses. Every exclusion and its reason is in the raw data.

Each site got one cold load in headless Chrome with an empty cookie jar, so no consent choice was ever remembered: this is the first visit, every time. No banner was clicked. Measurement is MurmStack’s own collector — the same code the extension runs — so if the index and the extension ever disagreed, the extension would be wrong.

Domains are merged to their parent company, and the site’s own sibling domains are excluded, so a publisher serving assets from a second domain it owns is not counted as contacting an outside company. Two figures are deliberately absent: bytes transferred, because browsers hide transfer size for most cross-origin requests, and per-company blocking time, because the browser exposes only a page-wide figure that cannot honestly be divided up.

0% of the sites measured (0) contacted nobody outside themselves at all. The most-contacted company across the whole set was Google, present on 3,207 of 5,294 sites.

Measured 5 August 2026 · Download the raw data (JSON, 5,294 sites) · CC BY 4.0, so quote it freely with a link.

Check any page yourself MurmStack is the tool that produced this. Free, two permissions, no host access.
Add to Chrome — free