Consent Integrations
This article provides an overview of Tealium iQ Consent Integrations.
The new Consent Enforcement Framework is a core feature of Tealium iQ Consent Integrations that enables robust and reliable enforcement of consent signals captured outside of Tealium iQ Tag Management. This feature blocks tracking when customer consent is not given or is ambiguous.
Tealium iQ Consent Integrations provides the option for both opt-in (GDPR-style) and opt-out (CCPA-style) enforcement patterns for the supported consent management platforms (CMPs). Integrations can be written in the form of templates to support most CMPs or custom solutions.
Tealium iQ Consent Integrations has a dependency on the latest utag version 4.49. To enable support in previous versions, edit the uTag Loader template and add ##UTCM##
under the ##UTGEN##
publish engine flag.
The following terms are related to the consent integrations framework:
- Purpose - A specific data use purpose to which your website users can consent (or withhold consent).
- Purpose group - A list of purposes. A representation of an enforcement policy in the form of a group of consent purposes to which tags are assigned.
- Exemption - A case where no enforcement is necessary and no tags need to be blocked based on consent decisions. Enforcement exemptions differ from the behavior when no consent integration enforcement rules apply. Unless there’s an explicit exemption, or matching consent integration and the appropriate consent decision, no tags are allowed to fire.
- Enforcement rule - Rules that determine when to enforce a consent integration or exemption.
- Consent decision - An array of purposes that have been consented to. Consent decision is determined with a
type
attribute and is eitherexplicit
orimplicit
, depending on whether the user has made an active decision (explicit
) or not (implicit
). - Implicit decision - A decision inferred from a user’s behavior. By visiting a site, a user consents to the necessary tags as described in the site’s privacy policy. A user can object to the sale of their data, but by default this is enabled (there is an implicit ‘it’s OK, to share/sell my data’ decision).
- Explicit decision - A clear and precise consent decision by a user about what tracking they consent to.
- Integration A set of features and configurations (pre-loaded or custom) that capture a consent decision from a specified CMP. An integration is associated with a purpose group.
How it works
Tealium iQ Consent Integrations enables you to integrate with supported non-Tealium consent management platforms. Your CMP prompts end-users for purpose-based consent as needed, and then captures and stores those user consent decisions. When an integration is active, tags must be assigned to purposes within a purpose group before they can be triggered. A purpose must be consented to before tags assigned to that purpose can be triggered.
Each consent integration instructs the underlying framework how to communicate with a single CMP. Only one integration may be active simultaneously. However, you can use Enforcement Rules to conditionally apply multiple active integrations without conflict, if needed.
Tags that inject CMPs into the page are not compatible with Tealium iQ Consent Integration. Integrations require a signal from the CMP before tags are loaded. To integrate your CMP with Consent Integrations, use a Pre Loader or DOM Ready extension, or add the CMP to the page outside of Tealium iQ.
You can set up an integration with a supported CMP in the Tealium iQ dashboard, or create a custom integration by editing the Custom template.
Supported integrations
See Supported Vendor Integrations for a full list of currently supported integrations.
Tag refire
Each tag has a Tag Refire switch in the Map Tags screen:
If you enable this option, the tag can be triggered up to twice for each user action (once with the implicit decision and once with the explicit decision). Tags are not triggered if the mapped purposes are not consented to.
Most tags don’t need to be triggered again if they have consent in each of these cases. Triggering tags a second time might result in double tracking, which should be avoided.
Accounts with server-side connectors (especially event connectors) can benefit from refiring the Tealium Collect tag and using the tci.purposes_with_consent_unprocessed
attribute to ensure that server-side connectors are not refired for the same event. Using the tci.purposes_with_consent_unprocessed
attribute allows server-side connectors to trigger as quickly as possible without duplication.
Server-side attributes - using Collect with Consent Integrations
Tealium Collect, like all other tags, must be mapped to a consented purpose. However, the refiringAllowed
option allows tags to be refired on new decisions. This process indicates that the tag is being used for a variety of server-side purposes, and available server-side filters and logic are used to ensure that the signal is only processed appropriately while allowing it to refire.
Depending on which server-side tools you use, Tealium Collect is triggered with the following event-level attributes for each event:
tci.purposes_with_consent_unprocessed
(with refiring)tci.purposes_with_consent_all
(without refiring)
Accessing the consent decision within Tealium iQ
Consent decisions are added to the data layer for each event. These variables can be used in tags and are automatically sent by the Tealium Collect tag, but are not directly available in extensions.
tci.consent_type
- The consent decision type (implicit
orexplicit
).tci.purposes_with_consent_all
- The full array of both processed and unprocessed consented purposes.tci.purposes_with_consent_processed
- The array of processed consented purposes.tci.purposes_with_consent_unprocessed
- The array of unprocessed consented purposes.
Accessing the consent decision from extensions
To access the current consent decision object in an extension, use the method tealiumCmpIntegration.GetCurrentConsentDecision()
.
The following command adds the current consent decision to the b
object:
b.current_consent_decision = tealiumCmpIntegration.getCurrentConsentDecision()
Using the JavaScript console
When active, you can interact with a consent integration in the JavaScript console on pages where utag.js (Tealium iQ) is implemented. Using the JavaScript console allows you to get the current consent decision that is retrieved from the CMP on every event. The consent decision is never cached, which ensures that it is always up to date.
For more information, see Validate and debug consent integrations.
Consent register
Consent integrations can use the Tealium consent register to emit events when consent settings are loaded or updated. These changes are available globally on the page, making it easier for you to manage consent decisions across your website. For more information, see Tealium consent register.
Consent register requires the consent integrations framework template version 1.2.0 or later. To update this template, see Update a template.
This page was last updated: March 20, 2024