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 7 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
78 changes: 78 additions & 0 deletions src/privacy/consent-management/consent-in-engage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
title: Consent in Engage Audiences
plan: consent-management
---

Segment uses the [consent object](/docs/privacy/consent-in-unify/#segment-consent-preference-event) on Segment events, including the [Segment Consent Preference Updated](/docs/privacy/consent-in-unify/#segment-consent-preference-updated-event) Track event, to evaluate and store consent preferences on an end user's Profile.

Once an end user's consent preferences are stored on their Profile, you can create Engage Audiences that respect end user consent preferences to better comply with privacy regulations.

> warning "Consent in Engage Audiences is in public beta"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are public beta info bubbles now warnings? I thought they've been info bubbles

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no you're right - it should be an info bubble!

> 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.
>
> During the public beta, only Profiles Audiences are supported by Consent in Engage Audiences.

## Enforce consent preferences in your Audiences

Before using an end user's consent preferences to create your Audiences, you must complete the following prerequisites:
- You've previously set up [Consent in Segment Connections](/docs/privacy/consent-management/consent-in-segment-connections) 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.
- You generate the [Segment Consent Preference Updated](/docs/privacy/consent-management/consent-in-unify#segment-consent-preference-updated-event) Track event each time a user updates their consent preferences. This event stamps each Profile with a user's consent preferences.

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

Once your consent categories are set up and mapped and each of your Profiles is stamped with the Segment Consent Preference Updated event, you're ready to enable Consent Management in your Unify space. You must enable Consent Management in each Unify space that you'd like to enforce consent preferences. If you've chosen not to enable Consent Management for a Unify space but you've previously set up Consent Management for Reverse ETL or Segment Connections, Segment will continue to stamp consent preferences on your Profiles.

> info ""
> In order 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 Unify and select the space where you'd like to enable Consent Management.
2. Select **Unify settings** and navigate to the **Space management** tab.
3. Select the **Consent management** setting and enable the toggle to turn on Consent Management for your Unify space.
4. On the **Enable consent enforcement for [Space Name]?** popup, enter the name of your Unify space and click **Enable enforcement**.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the ? supposed to be there?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes - in the UI it reads "Disable consent enforcement for Space Name?" so I copied the title of the popup here


After you've enabled Consent Management in your Unify space, you can create an Audience that only includes users that have consented to the use of their data for a particular purpose.

> warning "Consent enforcement is not automatically applied 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: only Profiles that consented to the category mapped to your destination will re-enter the Audience and be sent downstream to your destination. All Audiences created after you enable Consent Management for a space only contain Profiles that consented to the use of their data for the mapped destination(s).


### Step 2: Create your Audience

> info "Consent preferences can affect Audience sync size"
> The number of profiles that sync to your Audience 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.

During the public beta, you can create Profiles Audiences from your users' consent preferences.

To create a Profiles Audience that includes consent traits:
1. Navigate to **Engage > Audiences** and click **+ New audience**, then select **Audience**.
2. On the Select Audience Type screen, select **Profiles audience** then click **Next**.
3. Add a condition and select **Have a consent trait**, then select your intended consent category, operator, and true/false value.
4. Continue building your Audience, adding additional conditions as you see fit. When you're satisfied with your Audience conditions, click **Next**.
5. Select one or more destinations that you'd like to receive your Audience.

Destinations mapped to a consent category only receive the Profiles of users that have consented to that category. Destinations not mapped to a consent category receive all Profiles in an Audience, regardless of the Profile's consent preferences. If 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, and Snowflake receives all profiles that have consented to Analytics, independent of their Advertising preferences.

## Verify that your Audiences respect consent preferences

After you've enabled consent management in your Unify space and created a new audience with a consent trait, Segment automatically filters out data from 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.

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

To verify that your end user's consent preferences match the category that you mapped to your destination:
1. Navigate to the connected destination and select a Profile.
2. Return to Segment and compare the consent preferences of that Profile against the consent category of the connected destination.
3. Verify that the consent preferences of your selected user match the consent category that you mapped to your destination.

### Use Delivery Overview

You can use 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. If you cannot find a `FILTERED_BY_END_USER_CONSENT` discard reason, either wait a few minutes for more events to flow to your destination before reviewing the discard reasons again or revisit the conditions that you used to generate your Audience.
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 preference 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 are 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.