Consent Management

 

NOTE: This documentation references many concepts addressed in the glossary of terms. Please visit this page before you continue.

Many data protection and privacy regulations require you and your company to obtain consent from users before collecting data about them, and to honor users' requests for how you use their data. The Salesforce DMP provides multiple methods for you to record and manage consent from your consumer. Based on consent signals that you provide, DMP functionality is restricted to only the users who provided consent.

Setting Consent

There are four methods available to pass consent into the DMP:

  1. API
  2. JavaScript Consent Tag
  3. Inside the DMP
  4. File

Plan to pass a consent signal for every user you see for every consent flag that exists. Otherwise, product functionality may be unnecessarily gated.

API

We recommend this method for passing consent signals to the DMP. Please reference the technical documentation for technical details on using the API.

JavaScript Consent Tag

The JavaScript Consent Tag allows you to pass consent calls asynchronously without a browser refresh. The JavaScript Consent Tag can be called after the page is loaded to send any consumer consent information that should be tracked. Please reference the technical documentation for further details.

Note: The JavaScript Consent Tag requires the Salesforce DMP JavaScript Control Tag to be deployed on the page. The JavaScript Consent Tag must be used as is: any edit or modification of the tag will not be supported by Salesforce DMP and may result in compliance failure. Please consult with your legal team accordingly.

The JavaScript Consent Tag snippet can be retrieved by navigating to Manage>> Sites in the Salesforce DMP UI and clicking the </> (Actions) button on the right.

Below is an example of the JavaScrip Consent Tag format.

Krux('ns:NAMESPACE', 'consent:ROUTE', parameters, callback)

Inside the DMP

You can use DMP controls to define consent for a user. We recommended this option only for one-off cases when managing consumer objections and change requests.

Follow these steps to set consent for a user.

  1. Navigate to the Consumer Rights Management tile in Consent Management
  2. Click Raise a new request and select Update consent request
  3. Choose a user identification type
  4. Specify bridge key or device type
  5. Enter the applicable user identifiers
    1. Enter an ID for each user
    2. Enter IDs for multiple users one at a time
  6. Enter your consent settings values
    1. Select the value for each consent flag
    2. Specify a policy regime
  7. Click Submit

GDPRConsent3.png

GDPRConsent4.png

 

File

If you choose not to integrate via other supported methods, you can pass consent signals via file. All consent collected through files process daily, so the system will not register the request until after daily jobs have processed.

Location

Please upload files to the following location.

s3://krux-partners/client-{NAME}/uploads/consent-data/{DATE}/

Format

Device Format:
idt^dt^idv^ACTION^PR^{FLAGS}^TS

Bridge Key Format:
idt^bk^idv^ACTION^PR^{FLAGS}^TS

Note: Policy regime (pr) and timestamp (ts) are optional. Flags are required if the action is set. For more detail on the consent flags format, please refer to Consent Flags section of the DMP Consumer Rights Management Concepts and Glossary document.

Examples of valid records:


device^kxcookie^abcdef123^set^global^dc=1&tg=1&al=1&cd=1&sh=0&re=1^1515471711277000

device^idfa^6D92078A-8246-4BA4-AE5B-76104861E7DC^set^gdpr^dc=1&tg=0&al=0&cd=1&sh=0&re=0^1515471711277000

bk^email_sha256^f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a^set^global^dc=0&tg=1&al=0&cd=1&sh=0&re=1^1515471711277000

bk^email_sha256^f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a^remove^^^

bk^email_sha256^f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a^portability^^^


Regardless of whether or not you submit data for the optional timestamp or policy regime, include all of the delimiters. Data will not process without all delimiters.

Compression

The DMP supports gzip and lzo compression types, but recommends lzo with an lzo index file. If you choose to use gzip, the maximum supported size is 1GB per file submitted. Alternatively, the DMP does support plain text files.

Consent Resolution

After you have started providing consent information to the DMP, it is important to understand how the DMP processes this information and assigns all devices in the account with a set of consent values.

As noted in the glossary, there are many different sources of consent. Additionally, it is important to recognize that not every device seen in an organization will have provided consent directly. Some devices may provide indirect consent or some combination of multiple types of consent. Finally, consent is not static. It can change over time, and this must be reflected for each user.

Given this complexity, the DMP resolves consent for each device based on the most recent signal based on the prioritization below:

  1. Direct consent (first-party)
  2. Indirect consent (second-party)
  3. Indirect third-party data provider consent (third-party)
  4. DMP Default Consent

For example, if Device 1 provides consent on your website on day 1 and is exposed to an ad impression on day 3, the consent signal from the most recent direct consent event is still respected. This setting remains the same even though the most recent consent event was an ad impression. On day 5, the consumer provides consent again through a direct source, such as API or file. We respect the settings from day 5, as they are the most recent.

Industry Opt-Out

In addition to consent signals provided by you, the DMP has obligations to other regulatory bodies such as the NAI and DAA. As part of these obligations, the DMP respects generic opt-out from the NAI, DAA, and the DMP opt-out page across ALL organizations.

For example, if a data subject opts out using the NAI opt out tool, we remove all targeting functionality for that device for all instances in the DMP.

 

GDPRConsent10.png

Checking Consent

You can get information on the most recent consent signal for a given ID Value (device or bridge key). The DMP supports five methods to check consent.

API

In addition to passing consent, the same API supports your request for the latest consent signals. For more information on this API, review the API technical documentation.

Consent Audit Logs

Consent audit logs are available and part of the regular data feeds going forward.

Location

S3://krux-partners/client-{CLIENTNAME}/krux-exports/$date/consent-audit-logs/consent
S3://krux-partners/client-{CLIENTNAME}/krux-exports/$date/consent-audit-logs/portability
S3://krux-partners/client-{CLIENTNAME}/krux-exports/$date/consent-audit-logs/rtbf

Format

Device:
idt^dt^idv^kuid^orgUuid^consentSource^TS^{FLAGS}^ACTION^PR^PRSRC^IP^REQID

Bridge Key:
idt^dt^idv^kuid^orgUuid^consentSource^TS^{FLAGS}^ACTION^PR^PRSRC^IP^REQID

Examples

Portability

device^kxcookie^akuidstr^akuidstr^45e0a0b2-7f30-456c-875c-1cfa507d72b6^api^1515476195538000^^portability^^^127.0.0.1^WDZa5kQF4gJNmv5RGh
device^aaid^1234-568-2222232^1234-568-2222232^45e0a0b2-7f30-456c-875c-1cfa507d72b6^api^1515476041270000^^portability^^^127.0.0.1^WDZaT5UGcPpnQHdadM

Delete


device^kxcookie^akuidstr^akuidstr^45e0a0b2-7f30-456c-875c-1cfa507d72b6^api^1515476230697000^^remove^^^127.0.0.1^WDZbCIsqeUvESYa8R

Consent:


device^kxcookie^BaC67850^BaC67850^e9eaedd3-c1da-4334-82f0-d7e3ff883c87^api^1515471630097000^cg=63&dc=1&cd=1&re=1&tg=1&al=1&sh=1^set^gdpr^req^127.0.0.1^WDZJe6wGyuwGSIw0B
device^kxcookie^Lrq8sEA6^Lrq8sEA6^e9eaedd3-c1da-4334-82f0-d7e3ff883c87^api^1515471775728000^cg=63&dc=1&cd=1&re=1&tg=1&al=1&sh=1^set^global^ip^127.0.0.1^WDZKCfUJe6wGyuJ
device^kxcookie^Lrq8sEA6^Lrq8sEA6^e9eaedd3-c1da-4334-82f0-d7e3ff883c87^api^1515471711279000^cg=63&dc=1&cd=1&re=1&tg=1&al=1&sh=1^set^gdpr^req^127.0.0.1^WDZJyvgGig9GAhHliK
device^aaid^2569153A051D1B24-4000010360003FE3^2569153A051D1B24-4000010360003FE3^e9eaedd3-c1da-4334-82f0-d7e3ff883c87^api^1515471711276000^cg=63&dc=1&cd=1&re=1&tg=1&al=1&sh=1^set^gdpr^req^127.0.0.1^WDZJyvgGig9GAhHliK
bk^email_sha256^2579D5F3051D3556-40000106C00D7D39^KpcNiz2N^e9eaedd3-c1da-4334-82f0-d7e3ff883c87^api^1515471711277000^cg=63&dc=1&cd=1&re=1&tg=1&al=1&sh=1^set^gdpr^req^127.0.0.1^WDZJyvgGig9GAhHliK
bk^email_sha256^2579D5F3051D3556-40000106C00D7D39^LDDDwze_^e9eaedd3-c1da-4334-82f0-d7e3ff883c87^api^1515471711277000^cg=63&dc=1&cd=1&re=1&tg=1&al=1&sh=1^set^gdpr^req^127.0.0.1^WDZJyvgGig9GAhHliK
device^kxcookie^BaC67850^BaC67850^45e0a0b2-7f30-456c-875c-1cfa507d72b6^api^1515476157361000^cg=63&dc=1&cd=1&re=1&tg=1&al=1&sh=1^set^gdpr^req^127.0.0.1^WDZawPYDAKMCvkR6f_

Aggregate Consent Report

Within the admin console in the DMP UI, you can check the population sizes for each consent flag. For more information, visit documentation on the UI configuration settings.

Respecting Consent

All consent provided for the organization, or set of linked organizations (depending on the configuration), is respected based on the most recent signal for a device. For example, a user provided content to targeting on Monday but changed to non-consent on Tuesday. In this case, the DMP removes that user from all outbound segments until that user provides consent again. The DMP Customer is expected to properly define and record consent so that the DMP may respect those consent signals.

Data Collection

DMP restricts data collection based on this consent signal. If the DMP observes a device that doesn't include consent for data collection, the DMP does not fire the following data collection tags.

  1. pixel.gif
  2. event.gif
  3. transaction.gif
  4. usermatch.gif

Additionally, the DMP will not fire any tags via SuperTag that have a data collection designation.

Please note, this only applies to events where the Salesforce DMP Control Tag is loaded on the page. We do not restrict collection for all file based data collection methods and any beacon (e.g. heartbeat.gif) that is not managed directly through the control tag. In these cases, the DMP Customer is expected to ensure consent exists to fire this infrastructure or send personal data via file.

Managing Data Collection Tags In Supertag

All tags that fire via SuperTag include a data collection designation. This simply denotes whether or not a tag collect data. All tags that are designated as data collection tags are restricted when a user does not consent to data collection via the Consent Mana. This designation allows you to use SuperTag to fire tags that do not collect data, but simply render content on your page.

To update the data collection designation for a tag, perform these steps.

  1. Navigate to SuperTag within the DMP UI
  2. Edit Tag
  3. Set the “Data Collection Tag” checkbox as desired
  4. Click Save

SuperTag.png

 

Targeting

The DMP removes all users that have provided negative consent for targeting from segments sent to any third-party system. Because targeting requires analytical jobs via segment processing to run, consent for analytics is a pre-requisite for targeting.

Analytics

DMP removes all users that have provided negative consent for analytics from analytical jobs that run within the DMP.

Cross-device

DMP removes all users that provide negative consent for cross-device from all predictive and declared user match tables for the organization in question.

Data Sharing

DMP removes all users that have not provided consent for data sharing from any segments or events being shared via Data Studio. After filtering users based on the source organization, the consent restrictions on usage of that data are based on the receiving organization.

For example, Device 1 is in a the “sports lovers” segment shared from Organization 1 to Organization 2. In Organization 1, the user consented to data sharing and targeting. However, the user did not consent to targeting in Organization 2. In this case, the user would not be targetable.

Reidentification

DMP removes all users that provided negative consent for re-identification from segments sent to Email Studio or any other internal reidentification platform.

Consent Backfilling

One challenging aspect of introducing consent requirements for all devices is what to do with historical devices and the data associated with them. You may not start collecting consent until May, which could mean that you have many devices for which you have not received consent. Similarly, you may have data associated with devices that have churned and can never be seen again, making consent collection impossible.In either of these cases, the result may be that you have a lack of consent for many devices in your account, potentially leading to segment population declines.

To address this day zero implementation issue, we have introduced a one time use feature which will enable you to backfill consent for all historical devices. This allows you to define the consent you have with each user per your contracts, and have that associated with all devices in your account. This consent will be applied to all devices in your account just before May 25th, and can never again be set. Ultimately, it allows you to slowly ramp up your consent management collection without enduring through population declines.

For more information on how to set your backfill defaults, please click here.

 

 

 

 

Have more questions? Submit a request

0 Comments

Article is closed for comments.