Consent Manager

Implement consent management into your iOS, tvOS, and watchOS app.

This guide shows how to use Tealium Consent Manager for iOS, tvOS, and watchOS using Objective-C which can help your app to comply with legal obligations, such as GDPR. Once implemented, your user will be able to easily consent to or decline tracking, and the Tealium SDK will store and respect their choice from that point on.

How It Works

When the Consent Manager is enabled, all events will be queued until consent has been granted by the user. A user can grant full consent, grant partial consent (by category), or decline consent. Prior to any input from the user, the consent status is set to “unknown”. The result of these options is defined as follows:

Grant Full Consent

Queued events are sent

Consent state is stored permanently, and will be checked each time a new tracking call is made

If Consent Logging is enabled, an event is sent to track the user’s consent state for auditing purposes only.

Grant Partial Consent (by category)

If the user has set customized preferences, and consented only to specific categories, these categories will be respected when tags or connectors are fired in Tealium iQ and EventStream respectively

If Consent Logging is enabled, an event is sent to track the user’s consent preferences for auditing purposes only.

Decline Consent

All queued tracking calls will be purged.

All future tracking calls will be ignored.

No events will be sent to the UDH. Declined consent state cannot be tracked in the UDH.

The Consent Manager module is disabled by default.

Supported Platforms

iOS, tvOS, watchOS

Recommended Usage

Usage of this module is recommended.

It is automatically included in CocoaPods framework builds.

Included Variables

The following variables will be transmitted with each tracking call while the module is enabled:

Variable Name

Description

Example Value

policy

The policy under which consent was collected

gdpr

consent_status

The user’s current consent status

Consented

consent_categories

The user’s current categories they are consented to

@[@“analytics”]

Video Walk-Through

Use Case: Simple Opt-in

[_tealium.consentManager setUserConsentStatus:Consented];

This example shows you how to give your users a simple “Opt-in/Opt-out” option. If the user consents, they will be automatically opted-in to all tracking categories. If they revoke their consent, no categories will be active, and no tracking calls will be sent.

Define and call the following method in your Tealium Helper class when your app user consents to or declines tracking. If the user consents to tracking, the Consent Manager will automatically opt them in to all tracking categories.

Use Case: Grouped Opt-in

This example shows a category-based consent model, where tracking categories are grouped into a smaller number of higher-level categories, defined by you. For example, you may choose to group the Tealium consent categories “analytics”, “monitoring”, “big_data”, “mobile”, and “crm” under a single category called “performance”. This may be easier for the user than selecting from the full list of categories. You may choose to represent this in a slider interface, ranging from least-permissive to most-permissive (all categories).

Use Case: Category-based Opt-in

This example shows a category-based consent model where the user must explicitly select each category from the full list of categories. The default state of the Consent Manager is “Unknown”, which will queue hits until the user provides their consent. If the user consents to any category, events are dequeued, and the consented category data is appended to each tracking call.