What we check
In the HTML: does the page load the SDK of a known consent platform? The scan knows eleven: OneTrust, Cookiebot, Usercentrics (v2 and v3), Didomi, Borlabs, Klaro, consentmanager, TrustArc, Iubenda, Complianz and CookieYes. It matches script URLs and JS markers, never prose; the words "cookie banner" in a footer do not count. A match means "ok" with the vendor name. No match is critical as soon as cookie tags sit in the source, and a note ("not applicable") when only cookieless tools were detected.
In the deep scan: the consent simulation operates the banner with the detected vendor's selectors, and for unknown banners through the visible button text. For Borlabs the scan also reads the configuration file and shows which tags load only after consent.
What the scan cannot see: a home-built banner with no platform behind it, a CMP loaded late through the tag manager, and vendors outside the list. All three end up as "no consent layer" in the result. Rightly so, most of the time.
Why it matters
The banner is the visible half of consent. The invisible half is blocking: no tag may run before someone has agreed, and since the VG Hannover ruling that includes the tag manager itself. Without a CMP there is neither, and without a consent log there is no proof when it is disputed.
Which platform fits which setup is covered in the comparison of OneTrust, Usercentrics and Cookiebot.
Common causes
- There simply is no CMP, and the tracking has run without a consent layer for years.
- The CMP only loads on the homepage. Campaign landing pages or a separate shop run without a banner.
- A home-built banner without a CMP backend: visible yes, but with no audit trail and no tag-blocking behind it.
- After a relaunch the CMP script no longer loads from an old template. Nobody notices, because the banner cookie still sits in their own browser.
- The CMP is loaded through the tag manager and thereby loses exactly the window in which it should block tags.