Skip to content
ShopAssist Docs
Widget

Consent and CMP

How the widget reads consent from your consent management platform, the supported CMPs and category mappings, and manual mode.

The chat itself is a service the shopper asks for, so it works without consent (strictly necessary). Optional features need consent:

CategoryUsed for
PreferencesContinuing a conversation in a new tab, remembering proactive message cooldowns
AnalyticsA device-level visitor id for returning-visitor analytics and assisted-session attribution
MarketingNothing in the widget itself; newsletter sign-ups have their own explicit consent in the form

Nothing is written to the shopper's device before they open the chat (storage disclosure).

Supported CMPs

With Privacy → Consent tool set to Automatic, the widget detects the first of these on the page:

CMPDetected byMapping
Shopify Customer PrivacyShopify storefrontsFixed
IAB TCF v2.2 (any TCF CMP)__tcfapiPreferences = purpose 1; analytics = 1 and 8; marketing = 1, 3 and 4 (overridable)
CookiebotCookiebotFixed (statistics → analytics)
OneTrustOnetrustActiveGroupsC0003, C0002, C0004 (overridable)
CookieYesgetCkyConsentfunctional, analytics, advertisement (overridable)
Usercentrics__ucCmp / UC_UIRequires a category map
WP Consent APIwp_has_consentFixed
Magento cookie restrictiondata-cookie-restriction="1"Accepted → all; otherwise none

Consent changes apply immediately: keys of withdrawn categories are deleted.

Category map

For CMPs with custom categories, map them in Privacy → Consent tool → Category map, for example {"analytics": ["C0002"], "preferences": ["C0003"]}. A purpose is granted only when all listed categories are granted. Usercentrics needs a map (cmp_category_map_required otherwise).

Without a CMP

Without a CMP decision, the default is "no optional consent" for visitors in the EEA, UK, Switzerland or an unknown region. Outside those regions you can choose to allow preferences and analytics by default. Global Privacy Control (Sec-GPC) turns analytics and marketing off when no CMP has decided.

Manual mode

Set data-consent="managed" (or Consent tool → Manual) and call setConsent from your own consent code:

ShopAssist.setConsent({ preferences: true, analytics: false, marketing: false })

Last updated on

On this page