Documentation Index

Fetch the complete documentation index at: https://docs.mapp.com/llms.txt

Use this file to discover all available pages before exploring further.

Setting the tracking_consent attribute

Prev Next

Overview

This article explains how to set and manage a contact's email tracking consent in practice. For what the feature does, the four consent states, and how it relates to anonymized tracking, see Email Tracking Consent.

Tracking consent is held in the tracking_consent profile attribute, with two supporting attributes (tracking_consent_source and tracking_consent_source_id) for recording where the consent came from. Because these are custom attributes, you set them the same way as any other contact attribute.


The tracking_consent attribute can hold one of four values: granted, denied, withdrawn, or unknown. A contact with no value stored — an empty or null value — is treated as unknown, which means tracking stays on by default.

The value is evaluated at send-out, when Engage decides whether open and click tracking are included in the message for that recipient.


Setting the value

You can set tracking_consent and the source attributes through the same channels as any other contact attribute:

  • Contact import — include tracking_consent, and where available tracking_consent_source and tracking_consent_source_id, as columns in your contact import.

  • Contact Update API — set the attributes through the existing /contact/update call. See Setting a Contact's Tracking Consent for the payload and field details, including which values to store for compliance.

To record that a contact has withdrawn consent, set tracking_consent to withdrawn (or denied) through the same channels — there is no separate withdrawal action.


Whenever a tracking_consent update is sent to Engage, the time of that update is recorded automatically. You do not need a separate attribute for this, and no action is required on your side.

Note

This records when the update reached Engage, not when the contact actually gave consent. These can differ — for example, a nightly import records the import time, not the moment of consent. If you need to store the actual moment of consent (for example, as proof that a contact opted in at a specific date and time), record it yourself in a separate custom attribute. Two limitations apply: this attribute is not part of the consent export, and a custom attribute holds only one value, so each new update overwrites the previous timestamp.


Changing the default for the Unknown state

By default, contacts with an unknown value are still tracked, so existing reporting does not change. If you want unknown to be treated as denied instead — so that contacts without a stored value are not tracked — this can be configured for your account.

This is not self-service: contact your CSM or account manager to request it. There is no UI for it.


Tracking Override

For messages that must be tracked regardless of a contact's consent — for example, where you have your own lawful basis — a per-message Tracking Override is available in the message's advanced settings. It is off by default. When enabled, it forces open and click tracking for all recipients of that message, including contacts who have denied or withdrawn consent, and you are responsible for the lawful basis. For details, see the Tracking Override section in Email Tracking Consent.


You can export the stored consent values for auditing or review. Go to Data Management → Exports and select the tracking_consent_export export.