@cookiepal-oss/integrations
v1.1.0
Published
Consent integrations for third-party platforms. Each integration maps cookiepal category consent to the platform's native consent signals. Consumed by `@cookiepal-oss/consent` via the `integrations` config.
Readme
@cookiepal-oss/integrations
Consent integrations for third-party platforms. Each integration maps cookiepal category consent to the platform's native consent signals. Consumed by @cookiepal-oss/consent via the integrations config.
Available integrations
| Key | Name | What it does |
|---|---|---|
| gcm | Google Consent Mode v2 | Emits gtag('consent', 'update', …) whenever consent changes |
| shopify | Shopify | Calls Shopify's customer privacy API with the current consent map |
| wordpress | WordPress (WP Consent API) | Calls window.wp_set_consent(category, 'allow' \| 'deny') for the five WP categories whenever consent changes |
WordPress mapping
The wordpress integration forwards cookiepal's category state to the WP Consent API plugin. Mapping:
| WP category | Source | Notes |
|---|---|---|
| functional | always allow | matches WP Consent API's "strictly necessary" semantics |
| preferences | cookiepal functional | |
| statistics | cookiepal analytics | |
| statistics-anonymous | cookiepal analytics | same source, separate category required by WP |
| marketing | cookiepal advertisement | |
The integration syncs on install, on every cookiepal_consent_update, and on cookiepal_banner_load. If window.wp_set_consent isn't available (plugin not installed), the integration silently no-ops; turn on debug to see a warning instead.
Usage
From the consent SDK:
import { cookiepal } from '@cookiepal-oss/consent';
cookiepal.run({
categories: [{ slug: 'necessary', required: true }, { slug: 'analytics' }],
integrations: {
gcm: { enabled: true },
shopify: { enabled: true },
wordpress: { enabled: true },
},
});Direct use (if you're embedding the engine yourself):
import { gcmIntegration, shopifyIntegration, wordpressIntegration } from '@cookiepal-oss/integrations';
const integrations = [gcmIntegration(), shopifyIntegration(), wordpressIntegration()];License
MIT. See repo root.
