Skip to content

Commit 60b3929

Browse files
Merge pull request #6097 from segmentio/master
master back into develop after one-off
2 parents c2317c8 + bd3d0b7 commit 60b3929

File tree

10 files changed

+98
-93
lines changed

10 files changed

+98
-93
lines changed

src/_data/sidenav/main.yml

+12
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,18 @@ sections:
512512
title: Complying With GDPR
513513
- path: /privacy/user-deletion-and-suppression
514514
title: User Deletion and Suppression
515+
- section_title: Consent Management
516+
slug: privacy/consent-management
517+
expanded: true
518+
section:
519+
- path: /privacy/consent-management
520+
title: Consent Management Overview
521+
- path: /privacy/consent-management/consent-in-segment-connections
522+
title: Consent in Segment Connections
523+
- path: /privacy/consent-management/configure-consent-management
524+
title: Configure Consent Management
525+
- path: /privacy/consent-management/consent-in-unify/
526+
title: Consent in Unify
515527
- path: /privacy/account-deletion
516528
title: Account & Data Deletion
517529
- path: /privacy/hipaa-eligible-segment

src/connections/delivery-overview.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The pipeline view shows the following steps:
2424
- **Successfully received**: Events that Segment ingested from your source
2525
- **Failed on ingest**: Events that Segment received, but were dropped due to internal data validation rules
2626
- **Filtered at source**: Events that were discarded due to schema settings or [Protocols](/docs/protocols/) Tracking Plans
27-
- **Filtered at destination**: Events that were discarded due to [Destination Filters](/docs/guides/filtering-data/#destination-filters), [filtering in the Integrations object](/docs/guides/filtering-data/#filtering-with-the-integrations-object), or [per source schema integration filters](/docs/guides/filtering-data/#per-source-schema-integrations-filters). [Actions destinations](/docs/connections/destinations/actions/) also have a filtering capability: for example, if your Action is set to only send Identify events, all other event types will be filtered out. Actions destinations with incomplete triggers or disabled mappings are filtered out at this step. Beta users of [Consent Management](/docs/privacy/consent-management/) also see events discarded due to consent preferences.
27+
- **Filtered at destination**: Events that were discarded due to [Destination Filters](/docs/guides/filtering-data/#destination-filters), [filtering in the Integrations object](/docs/guides/filtering-data/#filtering-with-the-integrations-object), or [per source schema integration filters](/docs/guides/filtering-data/#per-source-schema-integrations-filters). [Actions destinations](/docs/connections/destinations/actions/) also have a filtering capability: for example, if your Action is set to only send Identify events, all other event types will be filtered out. Actions destinations with incomplete triggers or disabled mappings are filtered out at this step. [Consent Management](/docs/privacy/consent-management/) users also see events discarded due to consent preferences.
2828
- **Failed delivery**: Events that have been discarded due to errors or unmet destination requirements
2929
- **Successful delivery**: Events that were successfully delivered to the destination
3030

src/privacy/consent-in-unify.md

-49
This file was deleted.

src/privacy/consent-management.md

-26
This file was deleted.

src/privacy/configure-consent-management.md renamed to src/privacy/consent-management/configure-consent-management.md

+7-9
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22
title: Configure Consent Management
33
related:
44
- "/privacy/consent-management/"
5-
- "/privacy/consent-in-segment-connections/"
6-
- "/privacy/consent-in-unify/"
5+
- "/privacy/consent-management/consent-in-segment-connections/"
6+
redirect_from: "/privacy/configure-consent-management"
77
---
8-
> info "Consent Management is in public beta"
9-
> This means that Consent Management features are in active development, and some functionality may change before it becomes generally available. [Contact Segment](https://segment.com/help/contact/){:target="_blank"} with any feedback or questions.
108

11-
After setting up your consent management platform (CMP), you can enforce the consent collected from your users by adding the [consent object](/docs/privacy/consent-in-segment-connections/#consent-object) to your events.
9+
After setting up your consent management platform (CMP), you can enforce the consent collected from your users by adding the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object) to your events.
1210

1311
Once you've configured consent in the Segment app and updated your sources to contain consent preference in every event, your events are routed only to the categories your end users consented to share data with. Events without the consent preference will continue to flow to destinations without consent enforcement.
1412

@@ -44,8 +42,8 @@ Before you can configure consent in Segment, take the following steps:
4442
## Step 2: Integrating your CMP with Segment
4543

4644
Once you've created consent categories in the Segment app, you need to integrate your CMP with Segment. Segment recommends using a CMP wrapper, but you can use any solution provided it meets the following criteria:
47-
- Reads the end user consent preference from your CMP and includes the [consent object](/docs/privacy/consent-in-segment-connections/#consent-object) in every event
48-
- If using Unify and Engage, generates the [Segment Consent Preference](/docs/privacy/consent-in-unify/#segment-consent-preference-event) event every time a user provides or updates their consent preferences with their anonymousId and userId
45+
- Reads the end user consent preference from your CMP and includes the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object) in every event
46+
- If using Unify and Engage, generates the [Segment Consent Preference Updated](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-updated-event) event every time a user provides or updates their consent preferences with their anonymousId and userId
4947

5048
Segment provides a OneTrust wrapper for the following sources:
5149
- **Analytics.js**: Please follow the instructions from the README in the [@segment/analytics-consent-wrapper-onetrust](https://github.com/segmentio/analytics-next/tree/master/packages/consent/consent-wrapper-onetrust){:target="_blank"} repository.
@@ -60,9 +58,9 @@ If you'd like to integrate with any other CMP, Segment requires you to build you
6058
6159
### Validate your CMP integration
6260

63-
Customers with Analytics.js 2.0 sources can use the [Segment Inspector](/docs/connections/sources/catalog/libraries/website/javascript/#segment-inspector) to confirm that events from their source contain the [consent object](/docs/privacy/consent-in-segment-connections). Unify and Engage users can also verify that the [Segment Consent Preference event](/docs/privacy/consent-in-unify/#segment-consent-preference-event) emits every time end users update their consent preferences.
61+
Customers with Analytics.js 2.0 sources can use the [Segment Inspector](/docs/connections/sources/catalog/libraries/website/javascript/#segment-inspector) to confirm that events from their source contain the [consent object](/docs/privacy/consent-management/consent-in-segment-connections). Unify and Engage users can also verify that the [Segment Consent Preference Updated event](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-updated-event) emits every time end users update their consent preferences.
6462

65-
All users can validate that events contain the consent object and that the Segment Consent Preference event is present using Segment's [Source Debugger](/docs/connections/sources/debugger/).
63+
All users can validate that events contain the consent object and that the Segment Consent Preference Updated event is present using Segment's [Source Debugger](/docs/connections/sources/debugger/).
6664

6765
You can also confirm your events flow to destinations or are blocked from destinations according to the consent categories you created in [Step 1: Create consent categories in the Segment App](#step-1-create-consent-categories-in-the-segment-app), if already connected to the destination.
6866

src/privacy/consent-in-segment-connections.md renamed to src/privacy/consent-management/consent-in-segment-connections.md

+5-7
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,18 @@
22
title: Consent in Segment Connections
33
related:
44
- "/privacy/consent-management/"
5-
- "/privacy/configure-consent-management/"
5+
- "/privacy/consent-management/configure-consent-management/"
6+
redirect_from: "/privacy/consent-in-segment-connections"
67
---
78

8-
> info "Consent Management is in public beta"
9-
> This means that Consent Management features are in active development, and some functionality may change before it becomes generally available. [Contact Segment](https://segment.com/help/contact/){:target="_blank"} with any feedback or questions.
10-
119
Segment Connections users can add the [consent object](#consent-object) to their sources to stamp events with the end user consent preferences captured by your consent management platform (CMP) and send them downstream to destinations in categories that an end user consented to share data with. Events without the consent object continue to flow to destinations without consent enforcement.
1210

13-
For more information about configuring consent categories, see the [Configure Consent Management](/docs/privacy/configure-consent-management/#step-1-create-consent-categories-in-the-segment-app) documentation.
11+
For more information about configuring consent categories, see the [Configure Consent Management](/docs/privacy/consent-management/configure-consent-management/#step-1-create-consent-categories-in-the-segment-app) documentation.
1412

1513
If your sources also contain the integrations object, Segment will look at the consent object first, and then take into account the integrations object according to the table in the [Reconcile consent object and integrations object](#reconcile-consent-object-and-integrations-object-conflicts) documentation.
1614

1715
> info "Unify users must send an additional event to add consent preferences to Profiles"
18-
> If you use Unify, see the [Consent in Unify](/docs/privacy/consent-in-unify) documentation for more information about the Segment Consent Preference event, which Segment uses with the consent object to add consent preference to Profiles.
16+
> If you use Unify, see the [Consent in Unify](/docs/privacy/consent-management/consent-in-unify) documentation for more information about the Segment Consent Preference Updated event, which Segment uses with the consent object to add consent preference to Profiles.
1917
2018
## Consent object
2119

@@ -76,4 +74,4 @@ If there is a category configured in Segment (`functional`) that is not mapped i
7674

7775
## Content observability
7876

79-
Events discarded due to consent preferences appear in [Delivery Overview](/docs/connections/delivery-overview/) at the "Filtered at destination" step with the discard reason *Filtered by end user consent*.
77+
Events discarded due to consent preferences appear in [Delivery Overview](/docs/connections/delivery-overview/) at the "Filtered at destination" step with the discard reason *Filtered by end user consent*.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Consent in Unify
3+
related:
4+
- "/privacy/consent-management/"
5+
- "/privacy/consent-management/configure-consent-management/"
6+
- "/privacy/consent-management/consent-in-segment-connections/"
7+
redirect_from: "/privacy/consent-in-unify/"
8+
---
9+
10+
> info "Consent in Unify and Twilio Engage is currently unavailable."
11+
> However, Segment's OneTrust consent wrappers automatically generate the Segment Consent Preference Updated Track event, which will be required for future integrations with Unify and Twilio Engage.
12+
13+
Segment uses Profiles in [Unify](/docs/unify/) as the source of truth of an end user's consent preference when enforcing consent in Twilio Engage. To get consent preference on the Profile, Segment requires the use of the [Segment Consent Preference Updated event](#segment-consent-preference-updated-event) and [Identify](/docs/connections/spec/Identify) events to route events to Unify. The Segment Consent Preference Updated and Identify events should include the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object).
14+
15+
## Segment Consent Preference Updated event
16+
Every time an end user provides or updates their consent preferences, Segment requires you to generate a **Segment Consent Preference Updated** event. If you are using [Segment's OneTrust consent wrappers](/docs/privacy/consent-management/configure-consent-management/#step-2-integrating-your-cmp-with-segment), Segment automatically generates a Segment Consent Preference Updated event. This event is required to add the end user’s consent preference on their Profile in Unify.
17+
18+
For example, if an end user agreed to share their information for functional and advertising purposes but not for analytics or data sharing, the Segment Consent Preference Updated [Track call](/docs/connections/spec/track/) demonstrating their new consent preferences would have the following format:
19+
20+
``` json
21+
{
22+
"anonymousId": "23adfd82-aa0f-45a7-a756-24f2a7a4c895",
23+
"type": "track",
24+
"event": "Segment Consent Preference Updated",
25+
"userId": "u123",
26+
"traits": {
27+
"email": "peter@example.com",
28+
"phone": "555-555-5555",
29+
}
30+
"timestamp": "2023-01-01T00:00:00.000Z",
31+
"context": {
32+
"consent": {
33+
"categoryPreferences" : {
34+
"Advertising": true,
35+
"Analytics": false,
36+
"Functional": true,
37+
"DataSharing": false
38+
}
39+
}
40+
}
41+
}
42+
```
43+
44+
If you use Protocols, the Segment app automatically adds the Segment Consent Preference Updated event to all your existing Tracking Plans and for every new Tracking Plan. Segment recommends you don’t edit or delete the default fields in the Segment Consent Preference Updated events, but you can add new fields as needed.
45+
46+
> info "Segment Consent Preference Updated is a reserved event name"
47+
> Segment has standardized a series of reserved event names that have special semantic meaning and maps these events to tools that support them.
48+
>
49+
> See the [Semantic Events](/docs/connections/spec/semantic/) docs for more details.

0 commit comments

Comments
 (0)