Skip to content

Consent in Engage Audiences (public beta) #7763

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 19 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/_data/sidenav/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,8 @@ sections:
title: Consent Stored on the Profile
- path: /privacy/consent-management/consent-in-retl
title: Consent in Reverse ETL
- path: /privacy/consent-management/consent-in-engage
title: Consent in Engage Audiences
- path: /privacy/consent-management/consent-faq
title: Consent FAQs
- path: /privacy/data-retention-policy
Expand Down
72 changes: 72 additions & 0 deletions src/privacy/consent-management/consent-in-engage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: Consent in Engage Audiences
plan: consent-management
---

Once an end user's consent preferences are [stored on their Profile](/docs/privacy/consent-management/consent-in-unify#segment-consent-preference-updated-event), you can create Engage Audiences that respect end user consent preferences to better comply with privacy regulations.

> info "Consent in Engage Profiles Audiences is in public beta"
> Consent in Engage Audiences is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available.
>
> Consent in Engage Audiences does **not** support Engage Accounts Audiences, Linked Audiences, Predictions, Computed Traits, and Journeys. Segment does not automatically enforce consent for the [LiveRamp Audiences](/docs/connections/destinations/catalog/actions-liveramp-audiences/) and [The Trade Desk CRM](/docs/connections/destinations/catalog/actions-the-trade-desk-crm/) destinations.

## Enforce consent preferences in your Audiences

Before enforcing consent preferences in your Profiles Audiences, you must complete the following prerequisites:
- Set up [Consent in Segment Connections](/docs/privacy/consent-management/configure-consent-management) or [Consent in Reverse ETL](/docs/privacy/consent-management/consent-in-retl) and have events stamped with the [consent object](/docs/privacy/consent-management/consent-in-segment-connections#consent-object) streaming from your source or available in your data warehouse.
- Map your Engage Destinations to consent categories. Segment assumes all Engage Destinations not mapped to a consent category do not require consent and will recieve all events containing a consent object.
- Verify that your Profiles have consent preferences by creating an Audience with a consent trait condition. If the majority of Profiles have consent preferences on them, you're ready to enable consent enforcement in your Unify space.

### Step 1: Enable consent in your Unify space

You can enable Consent Management in each Unify space that you'd like Segment to automatically enforce consent preferences. If you've chosen not to enable Consent Management for a Unify space but have set up Consent Management for Reverse ETL or Segment Connections, Segment continues to stamp consent preferences on your Profiles.

> info ""
> To enable Consent Management in your Unify space, you must have a [Workspace Owner role](/docs/segment-app/iam/roles/).

To enable Consent Management in your Unify space:
1. Navigate to **Privacy > Consent Management** and select the Settings tab.
2. Enable the toggle under the Status column to turn on Consent Management for your Unify space.
3. On the **Enable consent enforcement for [Space Name]?** popup, enter the name of your Unify space and click **Enable enforcement**.

### Step 2: Create your Audience

You can create a Profiles Audiences as you normally would and Segment automatically enforces consent in your downstream destinations. If you don't want Segment to automatically enforce consent, disable consent enforcement in your Unify space and manually add the consent trait Audience condition when building your Audiences.

> warning "Consent enforcement doesn't automatically apply to Audiences that existed prior to the enablement of Consent Management in your Unify space"
> Audiences that existed before you enabled Consent Management in a Unify space only enforce consent preferences for new Profiles that enter the Audience after you enabled Consent Management. If you want to ensure each of your Audiences only includes consenting Profiles, request a resync. All Audiences created after you enable Consent Management for a space automatically enforce consent preferences when sharing their data with mapped destination(s).

Destinations mapped to a consent category only receive the Profiles of users who have given consent to that category. Destinations not mapped to a consent category receive all Profiles in an Audience, regardless of the Profile's consent preferences.

If you opt to send your Audience to multiple destinations belonging to multiple categories, then each destination receives data for the Profiles that have consent to the destination’s mapped category. For example, if you have an audience mapped to Google Ads (mapped to the Advertising consent category) and Snowflake (mapped to the Analytics consent category), then:
* Google Ads receives all profiles that have consented to Advertising consent category, independent of users' who consented to Analytics
* Snowflake receives all profiles that have consented to Analytics, independent of their Advertising preferences.

> info "Consent preferences can affect Audience sync size"
> The number of profiles that sync to your Engage destination(s) depends on the number of end users that consented to their data being shared with the destinations connected to your Audience. To see the impact of consent on your Audience, add consent traits to the Audience builder.

If you have Profiles with consent preferences for some, but not all consent categories, Segment adds all available categories to the `categoryPreferences` object on all Identify and/or Track calls and considers missing consent categories to be `false`. If you have Profiles with no consent preferences, Segment automatically adds an empty `categoryPreferences` object and prevents those Profiles from flowing downstream to your destination.

## Verify that your Audiences respect consent preferences

After you enable consent management in your Unify space, Segment automatically filters out end users that have not consented to the category that you mapped to your connected destination.

However, if you'd like to confirm that this behavior is working as intended, you can either [compare an end user Profile against your mapped categories](#compare-an-end-user-profile-to-your-mapped-categories) or verify that [Delivery Overview](#use-delivery-overview) contains a `FILTERED_BY_END_USER_CONSENT` event.

> warning "Consent enforcement does not automatically apply to Audiences that existed prior to the enablement of Consent Management in your Unify space"
> Audiences that existed before you enabled Consent Management in a Unify space only enforce consent preferences for new Profiles that enter the Audience after you enabled Consent Management. If you want to ensure each of your Audiences only includes consenting Profiles, request a resync. All Audiences created after you enable Consent Management for a space automatically enforce consent preferences when sharing their data with mapped destination(s).

### Compare an end user Profile to your mapped categories

You can verify that your Audiences are respecting consent preferences by selecting a user Profile, identifying one category they consented to, and confirming that the user's Profile appears in one of the destinations mapped to that category.

### Use Delivery Overview

You can use [Delivery Overview](/docs/connections/delivery-overview/) to verify that your destination is enforcing your user's consent preferences by checking for the presence of a `FILTERED_BY_END_USER_CONSENT` discard reason.

To verify that your events are being filtered by end user consent:
1. Select the destination connected to your Engage Audience.
2. On the Delivery Overview page, select **Filtered at destination**.
3. Search through the table of discarded events until you find an event with a discard reason of `FILTERED_BY_END_USER_CONSENT`.

If the discard reason `FILTERED_BY_END_USER_CONSENT` is present in the point where your destination discards events, your destination is enforcing your end users' consent preferences appropriately.
21 changes: 13 additions & 8 deletions src/privacy/consent-management/consent-in-unify.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plan: consent-management
redirect_from: "/privacy/consent-in-unify"
---

Segment uses the [consent object](#consent-object) on Segment events, including the [Segment Consent Preference Updated](#segment-consent-preference-updated-event) Track event, to evaluate and store consent preferences on the Profile. Consent on the Profiles serves as the source of truth of an end user’s consent preference when enforcing consent in Twilio Engage or Linked Audiences.
Segment uses the [consent object](#consent-object) on Segment events, including the [Segment Consent Preference Updated](#segment-consent-preference-updated-event) Track event, to evaluate and store consent preferences on the Profile. Consent on the Profiles serves as the source of truth of an end user’s consent preference when enforcing consent in Twilio Engage.

## Consent object

Expand Down Expand Up @@ -77,22 +77,27 @@ If you use Protocols, the Segment app automatically adds the Segment Consent Pre
>
> See the [Semantic Events](/docs/connections/spec/semantic/) docs for more details.

### Sharing consent with Actions destinations
### Share consent with Actions destinations

In addition to enforcing consent in Connections, you may want these preferences to flow to each destination so your destinations can be aware when an end-user revokes their consent. You can use the [Destination Actions framework](/docs/connections/destinations/actions) to edit the destination's mapping and copy the consent preferences from the Segment Consent Preference Updated event to a destination-specified consent field.

If you use Destination Actions to send consent information to your destinations, the Segment Consent Preference Updated event should **only** include information about a user's consent preferences because this event is sent regardless of an end-user's consent preferences.

> info "Sharing consent with Classic Destinations isn't available"
> Segment only supports sharing consent with Actions Destinations.
> Segment only supports sharing consent with Actions Destinations.

## Storing consent preferences on the Profile
Segment stamps consent preference on every Segment event from streaming and Reverse ETL sources to store them on the Profile.
## Store consent preferences on the Profile
Segment stamps consent preferences on every Segment event from streaming and Reverse ETL sources as a trait to store them on the Profile.

> info "Storing consent on the Profile is in public beta"
> Storing consent preferences on a Unify Profile is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available.

If you're using Consent Management and Profiles, you shouldn't give your customers a Custom Trait value that matches one of the consent categories that you set up in the Segment app, as this can lead to unexpected Audience behavior. For example, if your end user consented to the "Marketing" destination category, you shouldn't give them a custom trait of `segment_consent_preference.categories.marketing.<value>`, as this can lead your user to unexpectedly enter or leave an Audience.

> warning "Storing consent on the Profile is in private beta"
> Reach out to your sales contact or [request a demo](https://segment.com/contact/demo){:target="_blank"} to participate in the private beta.
## Consent preference conflicts

When collecting end user consent, you can occasionally capture multiple consent preferences linked to the same user, for example, from a user's cell phone browser and the web browser on their laptop (called a [device-level conflict](#device-level-conflict)) or when two distinct Unify profiles are merged together (called a [profile-level conflict](#profile-level-conflict)).


### Device-level conflicts
A device-level conflict occurs when conflicting consent preferences linked to one user ID are collected from two distinct devices.
Expand Down Expand Up @@ -130,7 +135,7 @@ To avoid Profile-level conflicts, Segment recommends that you take the following
> Profile conflicts only impact Profiles used in Engage spaces.

## Enforcing consent in Twilio Engage
Segment stores consent preferences as traits on the Profile, which you can use to [build Audiences](/docs/engage/audiences/#building-an-audience).
Segment stores consent preferences as traits on the Profile, which you can use to [build Audiences](/docs/privacy/consent-management/consent-in-engage).

## Validating consent preferences stored on a Profile
You can validate consent is present on the Profile by looking for the consent trait provided for a Profile on the consent tab.
Expand Down
4 changes: 3 additions & 1 deletion src/privacy/consent-management/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@ The events, stamped with the consent object, are then sent downstream to any des

For more information about consent in Segment Connections, see the [Consent in Segment Connections](/docs/privacy/consent-management/consent-in-segment-connections) documentation.

If you are a Unify user, you can also see the [Consent in Unify](/docs/privacy/consent-management/consent-in-unify) for more information about the Segment Consent Preference Updated event, which Segment uses to add consent preference to the Profile.
If you're a Unify user, you can also see [Consent in Unify](/docs/privacy/consent-management/consent-in-unify) for more information about the Segment Consent Preference Updated event, which Segment uses to add consent preference to the Profile.

Twilio Engage users can learn more about creating Audiences that respect end-user consent preferences in the [Consent in Twilio Engage](/docs/privacy/consent-management/consent-in-engage) documentation.