the consent gap index · august 2026 · 1,007 sites
Almost every consent banner is answered too late.
We loaded the 1,000 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.
the finding
Having a banner barely changes what happens before you answer it.
Of 1,007 sites measured, 83% 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 382 sites where we detected one, 365 had already contacted a third party.
The fifteen widest gaps
Ranked by companies contacted before the banner could be answered.
| Site | Before consent | Total | First contact | Consent tool |
|---|---|---|---|---|
| techcrunch.com | 34 | 34 | 82ms | IAB TCF consent tool |
| elmundo.es | 34 | 38 | 683ms | IAB TCF consent tool |
| apnews.com | 24 | 30 | 340ms | IAB TCF consent tool |
| rocketmoney.dev | 24 | 26 | 990ms | no consent tool |
| datadoghq.com | 22 | 24 | 535ms | no consent tool |
| businessinsider.com | 22 | 22 | 224ms | IAB TCF consent tool |
| time.com | 22 | 26 | 157ms | IAB TCF consent tool |
| haberler.com | 22 | 22 | 312ms | IAB TCF consent tool |
| theverge.com | 21 | 21 | 271ms | OneTrust |
| indiatimes.com | 20 | 30 | 969ms | no consent tool |
| redfin.com | 20 | 21 | 467ms | OneTrust |
| pikabu.ru | 20 | 24 | 715ms | no consent tool |
| lanacion.com.ar | 20 | 20 | 396ms | IAB TCF consent tool |
| ynet.co.il | 20 | 27 | 506ms | IAB TCF consent tool |
| nikkansports.com | 20 | 23 | 291ms | no 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 6% 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 several are small — a 100% on eleven sites is not the same claim as 94% on a hundred and seventy-seven.
| Consent platform | Fired before its own banner | Share | Median companies |
|---|---|---|---|
| OneTrust | 167 of 177 | 94% | 5 |
| IAB TCF consent tool | 149 of 155 | 96% | 6 |
| Usercentrics (small sample) | 15 of 16 | 94% | 4 |
| Cookiebot (small sample) | 13 of 13 | 100% | 6 |
| Osano (small sample) | 11 of 11 | 100% | 6 |
| CookieYes (small sample) | 7 of 7 | 100% | 4 |
| Iubenda (small sample) | 3 of 3 | 100% | 8 |
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
Four things that can make early contact perfectly correct.
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 until 1,000 measurements succeeded. 1492 were attempted and 485 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.
Measured 5 August 2026 · Download the raw data (JSON, 1,007 sites) · CC BY 4.0, so quote it freely with a link.