Usercentrics - PUBLIC
How to transfer consent to your Customer Data Solutions (CDP)
This article provides insights into the integration of the Usercentrics CMP into your customer data solutions such as CDPs and gives guidance on how to store a copy of consent in those systems. |
---|
Overview
Introduction
In today’s evolving privacy landscape, companies are taking control over user data to address user privacy needs while moving their business forward. More and more companies are storing first party user data on their servers, often turning to solutions such as Customer Data Platforms (CDP) running in their cloud. Understanding user consent is critical in ensuring data is managed in a manner that is consistent with user expectations and compliant with regulation. Companies storing first party data should ensure their solutions can integrate with their Consent Management Platform (CMP).
Usercentrics Server Integration
Usercentrics is committed to providing a CMP solution that is highly interoperable and easy to integrate regardless of technology stack. Available today are Usercentrics Web APIs and Usercentrics App SDKs that enable companies to retrieve and store user consent preferences. These consent preferences can be used to drive business logic on how data is collected, stored, and activated.
Beta Capabilities
The shift from a client-centric approach to user data management to a server-centric approach is a paradigm shift that enables new use cases and capabilities. There are a number of innovations enabled by customer data solutions to improve the user experience and manage customer privacy preferences. The first set of features reduce unnecessary re-consent and enable synchronization of consent preferences. These new Beta capabilities are live today with a limited number of customers.
Interested companies should reach out to a Usercentrics representative or fill out this form.
Evolution of CMP Deployment
Many companies continue to gather user consent and integrate with vendors completely in the web browser or mobile app. The CMP gathers and stores visitor consent preferences which are used in real time to determine how data is collected and shared with third parties. This approach is self-contained, which makes it easy for companies to integrate with various vendors using javascript tags or mobile SDKs. However, the client-centric approach has limitations that require workarounds. A common issue is cross-domain consent. Web browsers make it challenging to share user consent preferences across company domains. A user who has provided consent on http://example.de , then navigates to http://example.com will be prompted to re-consent, as http://example.com has no knowledge of the consent already provided to the company.
Companies that adopt customer data solutions that store first party user data have more end-to-end control over their data. This approach introduces a new set of privacy complexities and opportunities, as data activation is no longer solely in the client in real time. Companies can share data with vendors using server-to-server integrations. This approach enables companies to specify exactly what user data is shared with third parties including the ability to hide details such as user IP Address. Companies are no longer limited to real-time integrations, as data activation can happen after user interaction. It is critical for companies to have insight into the consent preferences for users to ensure data is managed appropriately.
Server-side tracking is a hybrid solution that improves page load times and security by moving integrations from the user’s client to the company’s server. The major difference is that the company does not store user data. Data is sent from the client to the server where companies can determine what data is shared with third parties using server-to-server integrations. Server-side tracking solutions can retrieve user consent preferences using the same Usercentrics client APIs to determine how data should be used.
To learn more, refer to the article on Server-side tracking.
Storing a copy of user consent
Usercentrics provides a set of APIs for Javascript and App SDKs that enable you to get the latest consent preferences for a visitor and store a copy with your customer data.
Web
Event based solution
The event based solution is used to update the consent status of your user in the CDP after user interaction with the CMP.
// Listen to usercentrics sdk event.
window.addEventListener('UC_SDK_EVENT', function (event) {
// Listen to usercentrics sdk event.
// (excluding onInitialPageLoad action as we only want to react on user interactions)
if(!event.detail || event.detail.action === 'onInitialPageLoad' || event.detail.event !== 'consent_status') {
return;
}
// Update this section based on your business requirements and cpd/data warehouse requirements.
// (cpd functions used here are just for illustration.)
// sample case: use consent status of data processing services "Google Ads Remarketing"
// and "Mailchimp" and push it to your cdp
var user = myCDP.Identity.getCurrentUser();
var consentState = myCDP.Consent.createConsentState();
consentState.addGDPRConsentState("GoogleAdsPurpose", event.detail['Google Ads Remarketing']);
consentState.addGDPRConsentState("MailchimpPurpose", event.detail['Mailchimp']);
user.setConsentState(consentState);
});
});
Direct / synchronous solution
The direct solution can be used to fetch the consent status at any given time directly and use the result to update your CDP.
var serviceInfo = UC_UI.getServicesBaseInfo();
var googleAdsConsent = (serviceInfo.find(e => e.name == 'Google Ads Remarketing')? serviceInfo.find(e => e.name == 'Google Ads Remarketing').consent.status:false);
var mailchimpConsent = (serviceInfo.find(e => e.name == 'Mailchimp')? serviceInfo.find(e => e.name == 'Mailchimp').consent.status:false);
var user = myCDP.Identity.getCurrentUser();
var consentState = myCDP.Consent.createConsentState();
consentState.addGDPRConsentState("GoogleAdsPurpose", googleAdsConsent);
consentState.addGDPRConsentState("MailchimpPurpose",mailchimpConsent);
user.setConsentState(consentState);
App SDK
Event based solution
The event based solution is used to update the consent status of your user in the CDP after user interaction with the CMP.
UsercentricsEvent.shared.onConsentUpdated { event in
let consentList = event.consents
// Look for consent given to Google Analytics via the UCTemplateID
let analyticsConsent = self.findConsentIn(consentList for:<AnalyticsTemplateID>)
// Pass consent to Google Analytics API
myCDP.setConsent([
.analyticsStorage: analyticsConsent
])
}
Direct / synchronous solution
The direct solution can be used to fetch the consent status at any given time directly and use the result to update your CDP.
Do you need further help?
How can I get help with technical questions?
Usercentrics - PUBLIC