Overview
Permutive operates as a data processor, processing personal data on behalf of publishers who act as data controllers. Publishers are responsible for obtaining user consent and signaling that consent to Permutive.For complete information about Permutive’s consent mechanisms, see the Consent documentation.
Consent Modes
Permutive provides two consent modes that publishers can configure for their deployment.Consent-by-Default
By default, Permutive assumes the data controller has consent to track their users’ data. In this configuration mode, the collection of user data starts from the first time Permutive’s SDK loads without requiring a consent token.Consent-by-Token
As a data controller, you may need to receive consent from the user before tracking data against them. WhenconsentRequired: true, no user data is collected until the data controller has received consent from the user and passed the user’s consent token to the Permutive SDK. Once the SDK has been granted consent, it will start collecting user data from this moment on. The user can revoke this consent at any point.
The consent() Method
Granting Consent
Once you have obtained consent for the user, pass it to Permutive by calling the SDKconsent method:
| Parameter | Type | Description |
|---|---|---|
opt_in | boolean | Whether user has consented |
token | string | Consent token (required when opt_in: true) |
About the Consent Token
The consent token can have any value. Generally, this is used if an ID gets generated when the user gives consent via a Consent Management Platform to provide some transparency, but the actual value has no meaning to Permutive. As long asopt_in is true and the token is not null, Permutive considers consent to be given.
Some customers use a fixed value like
"CONSENT_CAPTURED" for simplicity. Choose whatever approach works best for your consent management workflow.Opt Out
You may choose or be required to offer users the option to opt out of tracking. All future tracking is then disabled for the user until the point they opt back in. Whether the SDK is configured in consent-by-default or consent-by-token mode, a user can be opted out by setting the consentopt_in field to false:
What Happens on Opt Out
- Tracking stops - No new events are sent
- State reset - User ID and session cleared
- localStorage cleared - Cohorts and identity data removed
- Cookies cleared -
permutive-idcookie deleted
Opt Back In
Users can opt back in by callingconsent() with opt_in: true:
CMP Integration Examples
Generic CMP Pattern
OneTrust Example
Cookiebot Example
TCF Registration
For customers who must use a consent management platform that relies on the Global Vendor List (GVL), Permutive is registered on the GVL for IAB Europe’s Transparency & Consent Framework (TCF).| Detail | Value |
|---|---|
| GVL ID | 361 |
| Purpose | Purpose 1 (store and/or access information on a device) |
| TCF Version | 2.3 |
As a data processor, Permutive primarily relies on consent obtained by the publisher through the consent mechanisms described above (
consent-by-default or consent-by-token). The TCF registration is provided for customers with specific GVL requirements.Consent State
Consent Persistence
Consent status is stored in localStorage and persists across sessions. The SDK automatically respects the stored consent state on subsequent page loads.Checking Consent Status
Troubleshooting
Events not tracking with consentRequired
Events not tracking with consentRequired
Problem: SDK loaded but no events appearing.Solutions:
- Verify
consent()is called withopt_in: trueand a non-nulltoken - Enable debug mode (
?permutive_debug=true) to see consent status - Check localStorage for
permutive-consentkey
Consent not persisting
Consent not persisting
Problem: User must consent on every page load.Solutions:
- Check localStorage is not being cleared
- Verify CMP integration is consistent across pages
- Ensure consent token is not null