- TLC Home Home
- Discussions & Ideas Discussions & Ideas
- Product Guides Product Guides
- Knowledge Base Knowledge Base
- Developer Docs Developer Docs
- Education Education
- Blog TLC Blog
- Support Desk Support Desk
The CCPA Consent Manager makes it easy to allow users to opt-out of the sale of personal information and set preferences for the sale of personal information. This tool adds the ability to add a privacy banner and popup to your site to inform your visitors about your sale of personal information policy and to provide opt-out options. The CCPA Consent Manager can be fully customized to match your site requirements and it supports translated content for your global visitors.
Learn about more features of Tealium Consent Management.
In this article:
The CCPA Consent Manager notifies your users of your policy for processing personal information and allows them to opt-out of the sale of their personal information or control how their personal information is sold. This solution can be deployed to your site either as a privacy banner and popup or just as a popup to integrate with your existing banner.
The banner informs your users about your policy and provides a link to your "Do Not Sell My Information" page required by CCPA. The popup is triggered from the banner and allows a visitor to opt-out of the sale of personal information or set preferences for the sale of their personal information.
This feature is integrated with your Tealium iQ Tag Management account to make it easy to configure and categorize vendor tags that might be governed by CCPA. The tags that you identify as selling information can be categorized as “Dot Not Sell” and presented to your users in the popup.
Once deployed to your website using the Universal Tag (utag.js), the CCPA Consent Manager operates automatically – no additional coding is needed for it to function. The banner and popup is displayed based on the configured load rule and the presence of a "do not sell" cookie. When the cookie is not set, the CCPA Consent Manager is triggered automatically on pages that match the load rule. Once a preference is set, the cookie is created and subsequent page views will not trigger the banner or popup.
The CCPA Consent Manager can be displayed programmatically using the JavaScript helper functions.
The CCPA Consent Manager offers the following features:
The CCPA Consent Manager is set up using the following screens:
This feature does not require additional code on your site. All of the configuration is bundled with your existing installation of the Universal Tag (utag.js).
Once you activate and configure the CCPA Consent Manager the changes are included in your next publish.
The parameters used in the CCPA Consent Manager can be set globally at the account level. This allows you to set the titles, messages, and labels once and have each profile inherit those values.
To learn more, see Managing Global Consent Content Parameters.
Use the following steps to begin setting up the CCPA Consent Manager:
To get started, choose the user experience option that matches your site:
On the Content screen, customize the text displayed in the banner and popup, add languages for translated content, define custom parameters, and show a preview of the banner and popup.
The Consent Manager uses parameters to construct the final text that displays on your site. It uses templates so that custom content can be easily added. Parameters are referenced in the templates in the format {{parameter_name}}
.
The standard built-in content parameters are:
{{title}}
{{message}}
{{details_button}}
{{continue_button}}
{{privacy_policy_url}}
{{privacy_policy_text}}
{{cookie_statement_url}}
{{cookie_statement_text}}
{{title}}
{{message}}
{{do_not_sell_description}}
{{confirmation_button}}
{{company_logo_url}}
{{do_not_sell_description}}
To edit the content of the standard parameters, modify the text fields and click Finish.
Sample HTML code with parameters:
<div class="privacy_prompt consent_doNotSell">
<div class="privacy_prompt_content">
<h1>{{title}}</h1>
<img src="{{company_logo_url}}" class="logo">
<p>{{message}}</p>
<input id='consent_doNotSell_checkbox' type='checkbox' />
{{do_not_sell_description}}
</div>
<div class="privacy_prompt_footer">
<div class="button right" id="consent_doNotSell_submit">{{confirmation_button}}</div>
</div>
<div class="close_btn_thick"></div>
</div>
Custom parameters can be added to further customize the Consent Manager. These parameters can be referenced within the standard parameters or in the templates.
Best Practice: Avoid putting translatable text directly in the HTML or JavaScript. Instead, construct the code with {{parameters}}
and define the values using custom parameters.
To add a custom parameter:
The Consent Manager is built with automatic language detection. The banner and popup detects the language setting in the browser (two-character language code) and presents the corresponding version if that language has been configured. The prompt is configured in English (en) by default.
You can optionally override the language with a value provided in the data layer if it is in the ISO format.
To override a language, use a preloader extension to set the gdprDLRef
override:
window.utag_cfg_ovrd = window.utag_cfg_ovrd || {};
window.utag_cfg_ovrd.gdprDLRef = utag_data.site_language;
To add a language:
The default language is used to display the Consent Manager when the user's detected browser language does not have a matching language configured.
To set a default language:
On the Customization screen, you will see the code behind the banner and popup – the CSS, HTML, and JavaScript. This code can be edited to adjust the look and design of the banner and popup to match your website and customer needs.
The JavaScript code is minified before it is published into the utag.js file. If the minification process fails for any reason (such as a syntax error), the publish process halts and returns a warning message in Tealium iQ. Upon successful publish, when utag.js executes on the page, the Consent Manager JavaScript code is injected into the <head>
of the page.
On the Affected Tags screen you select the tags that are governed by your Do Not Sell policy--that is, tags that will be blocked if the user opts out of Do Not Sell.
To select tags affected by your Do Not Sell policy:
On the Display Rule screen, you will select the load rule to determine when to load the banner and popup and display it to customers. You can select an existing load rule or create one to satisfy your legal criteria.
The prompt relies on a cookie named CONSENTMGR
. The presence of this cookie and the values it contains will determine the behavior of the prompt and reflect the state of the visitor's choice. The key/value pairs are delimited by the pipe ("|") character.
The CONSENTMGR
cookie stores the following key/value pairs related to the Do Not Sell Prompt:
true
– the visitor opted-in to Do Not Sellfalse
–the visitor opted-out of Do Not SellExample value of the CONSENTMGR
cookie: ts:1525369619|dns:true
This cookie has a default expiry of 13 months from the time it is set or changed.
Once enabled and published, the CCPA banner and popup introduces JavaScript utility functions into the utag
namespace to allow you to integrate additional functionality. The namespace utag.gdpr
contains all of the consent management utility functions.
Displays the CCPA banner. By default, this function is called when the display rule evaluates to true
.
Optionally set the language as a parameter when calling the function. This will override all other language detection logic.
utag.gdpr.showDoNotSellBanner("EN");
Displays the CCPA popup. If you are not using the banner, integrate this function into your site banner to provide visitors a way to change their consent setting.
Optionally set the language as a parameter when calling the function. This will override all other language detection logic.
Example:
<a href="javascript: utag.gdpr.showDoNotSellPrompt('EN')">Change Consent</a>
Returns the value of the dns
consent cookie.
Example:
utag.gdpr.dns.getDnsState()
true
Set the value of the dns
consent cookie. Recognized values: true, false, 1, 0, "true", "false".
Example:
utag.gdpr.dns.setDnsState(true);
Returns an object of key/value pairs from the CONSENTMGR
cookie, accessible in the data layer object as utag.data['cp.CONSENTMGR']
.
Example of consent declined:
utag.gdpr.getCookieValues() {
ts: "1525369619",
consent: "true",
dns: "false"
}
Copyright All Rights Reserved © 2008-2021