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.
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.
iOS, tvOS, watchOS
Usage of this module is recommended.
It is automatically included in CocoaPods framework builds.
The following variables will be transmitted with each tracking call while the module is enabled:
The policy under which consent was collected
The user’s current consent status
The user’s current categories they are consented to
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.
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).
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.