Supported Consent Providers
Which consent management platforms PixelsCleared automatically detects.
How Auto-Detection Works
The PixelsCleared widget reads the first-party consent cookies and JavaScript APIs set by your consent management platform (CMP). These are standard cookies on your own domain, readable by any script on the page.
The widget polls for these signals every second for up to 10 seconds after page load. Once a consent signal is detected, it begins collecting and sending events with the consent categories attached.
Supported Providers
Cookiebot
- Cookie:
CookieConsent - Format: JSON string
- Categories detected:
- marketing -- from marketing: true
- analytics -- from statistics: true
- functional -- from preferences: true
Cookiebot is one of the most widely used CMPs. No configuration is needed -- the widget reads the CookieConsent cookie that Cookiebot sets automatically when a visitor accepts.
OneTrust
- Cookie:
OptanonConsent - Format: URL-encoded string with group flags
- Categories detected:
- marketing -- from C0004:1 (targeting/advertising group)
- analytics -- from C0002:1 (performance group)
- functional -- from C0003:1 (functional group)
OneTrust also exposes window.OptanonWrapper as a callback. The widget uses this as a fallback if the cookie is not yet set when the script loads.
CookieYes
- Cookie:
cookieyes-consent - Format: Key-value string
- Categories detected:
- marketing -- from analytics:yes (CookieYes bundles marketing under analytics)
- analytics -- from analytics:yes
- functional -- from functional:yes
Complianz
- Cookie:
cmplz_cookie_consent - Format: JSON string
- Categories detected:
- marketing -- from marketing: true
- analytics -- from statistics: true
- functional -- from preferences: true
Complianz is popular with WordPress sites. The widget reads the cookie directly.
GDPR Cookie Compliance (Moove)
- Cookie:
moove_gdpr_popup - Format: URL-encoded string
- Categories detected:
- marketing -- from thirdparty: "1"
- analytics -- from advanced: "1"
- functional -- from functional: "1"
This is the most common GDPR cookie plugin for WordPress.
IAB TCF v2 Framework
- API:
window.__tcfapi - How it works: The widget calls
__tcfapi('getTCData', 2, callback)and reads thepurpose.consentsobject. - Categories detected:
- marketing -- from purposes 1 (store/access), 3 (ad profile), 4 (ad selection)
- analytics -- from purpose 8 (measure content performance)
- functional -- from purpose 1 (store/access information on a device)
TCF v2 is the IAB Europe's Transparency and Consent Framework. Many CMPs (Quantcast Choice, Sourcepoint, TrustArc) implement this API. If your CMP supports TCF v2, the widget will detect consent even if the specific CMP is not listed above.
Shopify Cookie Consent
- API:
window.Shopify.customerPrivacy - How it works: The widget calls
Shopify.customerPrivacy.getTrackingConsent()and reads the return value. - Categories detected:
- marketing -- from tracking consent status
- analytics -- from analytics consent status
Shopify stores have a built-in consent banner. The widget detects it automatically.
Generic / Manual
If your CMP is not listed above, the widget also checks for these generic cookie names:
cookie_consentconsent_giventracking_consent
These are checked for values of "true", "1", or "accepted" (case-insensitive). If any of these cookies is found, the widget treats consent as granted with no category breakdown (both marketing and analytics are assumed).
If your CMP uses a different cookie name or format, use the Manual Consent API to grant consent programmatically.
Category Mapping
All detected consent categories are normalized into the same three categories in the _consent_meta object:
{
"granted": true,
"source": "cookiebot",
"categories": {
"marketing": true,
"analytics": true,
"functional": true
}
}
The source field identifies which provider was detected. This is recorded in the gateway audit log and visible in the Gateway > Events consent source breakdown.
What If No Provider Is Detected
If the widget cannot find any consent cookie or API signal within 10 seconds, it stays idle. No events are collected or sent.
You can override this by calling the Manual Consent API:
window.PixelsCleared('consent', true);
This is useful for custom consent UIs or server-side rendered sites where consent state is known before the banner appears.