From a30045878e9270db3fcf0e6bed2a206b62cb6014 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 5 Feb 2024 16:37:29 -0500 Subject: [PATCH 01/12] init consent GA --- src/connections/delivery-overview.md | 2 +- src/privacy/configure-consent-management.md | 2 -- src/privacy/consent-in-segment-connections.md | 3 --- src/segment-app/iam/audit-trail.md | 2 +- 4 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/connections/delivery-overview.md b/src/connections/delivery-overview.md index 6efb10b3b6..35d7e9dfdc 100644 --- a/src/connections/delivery-overview.md +++ b/src/connections/delivery-overview.md @@ -24,7 +24,7 @@ The pipeline view shows the following steps: - **Successfully received**: Events that Segment ingested from your source - **Failed on ingest**: Events that Segment received, but were dropped due to internal data validation rules - **Filtered at source**: Events that were discarded due to schema settings or [Protocols](/docs/protocols/) Tracking Plans -- **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. +- **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. - **Failed delivery**: Events that have been discarded due to errors or unmet destination requirements - **Successful delivery**: Events that were successfully delivered to the destination diff --git a/src/privacy/configure-consent-management.md b/src/privacy/configure-consent-management.md index 4dd238bf36..d856d3a9a7 100644 --- a/src/privacy/configure-consent-management.md +++ b/src/privacy/configure-consent-management.md @@ -5,8 +5,6 @@ related: - "/privacy/consent-in-segment-connections/" - "/privacy/consent-in-unify/" --- -> info "Consent Management is in public beta" -> 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. 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. diff --git a/src/privacy/consent-in-segment-connections.md b/src/privacy/consent-in-segment-connections.md index 4237beed3e..efe672368a 100644 --- a/src/privacy/consent-in-segment-connections.md +++ b/src/privacy/consent-in-segment-connections.md @@ -5,9 +5,6 @@ related: - "/privacy/configure-consent-management/" --- -> info "Consent Management is in public beta" -> 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. - 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. 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. diff --git a/src/segment-app/iam/audit-trail.md b/src/segment-app/iam/audit-trail.md index f2bf2320bb..740113d57d 100644 --- a/src/segment-app/iam/audit-trail.md +++ b/src/segment-app/iam/audit-trail.md @@ -21,6 +21,7 @@ The Audit Trail returns information about the following Segment product areas: - Warehouses - Destinations - Storage +- Consent Management - Tracking Plans - Destination Filters - Transformations @@ -33,7 +34,6 @@ The Audit Trail returns information about the following Segment product areas: - Journeys - Broadcasts - Workspace - To view a list of all events Segment surfaces in the Audit Trail, open the Audit Trail, click **Filters**, and select the **Events** dropdown. From 82d5fe90cbe3ec97dc2b37364af8030c4098d2ca Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 6 Feb 2024 12:01:37 -0500 Subject: [PATCH 02/12] add consent mgmt to sidenav, redirects --- src/_data/sidenav/main.yml | 10 ++++++++++ .../configure-consent-management.md | 2 +- .../consent-in-segment-connections.md | 1 + .../{ => consent-management}/consent-in-unify.md | 0 .../images/consent-overview.png | Bin .../index.md} | 4 +--- 6 files changed, 13 insertions(+), 4 deletions(-) rename src/privacy/{ => consent-management}/configure-consent-management.md (99%) rename src/privacy/{ => consent-management}/consent-in-segment-connections.md (99%) rename src/privacy/{ => consent-management}/consent-in-unify.md (100%) rename src/privacy/{ => consent-management}/images/consent-overview.png (100%) rename src/privacy/{consent-management.md => consent-management/index.md} (85%) diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index 2f53612125..6315bbe7c9 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -499,6 +499,16 @@ sections: title: Complying With GDPR - path: /privacy/user-deletion-and-suppression title: User Deletion and Suppression + - section_title: Consent Management + slug: privacy/consent-management + expanded: true + section: + - path: /privacy/consent-management + title: Consent Management Overview + - path: /privacy/consent-management/consent-in-segment-connections + title: Consent in Segment Connections + - path: /privacy/consent-management/configure-consent-management + title: Configure Consent Management - path: /privacy/account-deletion title: Account & Data Deletion - path: /privacy/hipaa-eligible-segment diff --git a/src/privacy/configure-consent-management.md b/src/privacy/consent-management/configure-consent-management.md similarity index 99% rename from src/privacy/configure-consent-management.md rename to src/privacy/consent-management/configure-consent-management.md index d856d3a9a7..a34d986962 100644 --- a/src/privacy/configure-consent-management.md +++ b/src/privacy/consent-management/configure-consent-management.md @@ -3,7 +3,7 @@ title: Configure Consent Management related: - "/privacy/consent-management/" - "/privacy/consent-in-segment-connections/" - - "/privacy/consent-in-unify/" +redirect_from: "/privacy/configure-consent-management" --- 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. diff --git a/src/privacy/consent-in-segment-connections.md b/src/privacy/consent-management/consent-in-segment-connections.md similarity index 99% rename from src/privacy/consent-in-segment-connections.md rename to src/privacy/consent-management/consent-in-segment-connections.md index efe672368a..77227225c8 100644 --- a/src/privacy/consent-in-segment-connections.md +++ b/src/privacy/consent-management/consent-in-segment-connections.md @@ -3,6 +3,7 @@ title: Consent in Segment Connections related: - "/privacy/consent-management/" - "/privacy/configure-consent-management/" +redirect_from: "/privacy/consent-in-segment-connections" --- 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. diff --git a/src/privacy/consent-in-unify.md b/src/privacy/consent-management/consent-in-unify.md similarity index 100% rename from src/privacy/consent-in-unify.md rename to src/privacy/consent-management/consent-in-unify.md diff --git a/src/privacy/images/consent-overview.png b/src/privacy/consent-management/images/consent-overview.png similarity index 100% rename from src/privacy/images/consent-overview.png rename to src/privacy/consent-management/images/consent-overview.png diff --git a/src/privacy/consent-management.md b/src/privacy/consent-management/index.md similarity index 85% rename from src/privacy/consent-management.md rename to src/privacy/consent-management/index.md index b74ae6d081..397abf128b 100644 --- a/src/privacy/consent-management.md +++ b/src/privacy/consent-management/index.md @@ -5,14 +5,12 @@ related: - "/privacy/consent-in-segment-connections/" - "/privacy/consent-in-unify/" --- -> info "Consent Management is in public beta" -> 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. When an end user visits your web or mobile app, they set **consent preferences**, or make decisions about the types of data they want you to collect, use, and share. These consent preferences are typically presented as a set list of categories that describe how your company intends to use that data. Some common categories include personalization, advertising, and site performance. Segment integrates with your commercial third-party or bespoke consent management platform (CMP) that captures an end user's consent preferences and enforces those preferences by only routing events to the categories consented to by an end user. -![Diagram outlining information flowing from an end user to Segment destinations](/docs/privacy/images/consent-overview.png) +![Diagram outlining information flowing from an end user to Segment destinations](/../images/consent-overview.png) After a user sets their consent preferences on your web or mobile app, Segment requires you to add the [consent object](/docs/privacy/consent-in-segment-connections/#consent-object) to all events. If you are using OneTrust, Segment provides a wrapper for your web and mobile libraries that can add the consent object to your events. If you are using another CMP, you are required to add the consent object to your events by either creating your own wrapper or using another mechanism. For more information, see the [Configure Consent Management documentation](/docs/privacy/configure-consent-management/#step-2-integrating-your-cmp-with-segment). From d32d8d5241b9526f6ecb9b437a4701fe47434484 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 6 Feb 2024 12:08:08 -0500 Subject: [PATCH 03/12] fix broken image [netlify-build] --- src/privacy/consent-management/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/consent-management/index.md b/src/privacy/consent-management/index.md index 397abf128b..3d302838db 100644 --- a/src/privacy/consent-management/index.md +++ b/src/privacy/consent-management/index.md @@ -10,7 +10,7 @@ When an end user visits your web or mobile app, they set **consent preferences** Segment integrates with your commercial third-party or bespoke consent management platform (CMP) that captures an end user's consent preferences and enforces those preferences by only routing events to the categories consented to by an end user. -![Diagram outlining information flowing from an end user to Segment destinations](/../images/consent-overview.png) +![Diagram outlining information flowing from an end user to Segment destinations](/docs/privacy/consent-management/images/consent-overview.png) After a user sets their consent preferences on your web or mobile app, Segment requires you to add the [consent object](/docs/privacy/consent-in-segment-connections/#consent-object) to all events. If you are using OneTrust, Segment provides a wrapper for your web and mobile libraries that can add the consent object to your events. If you are using another CMP, you are required to add the consent object to your events by either creating your own wrapper or using another mechanism. For more information, see the [Configure Consent Management documentation](/docs/privacy/configure-consent-management/#step-2-integrating-your-cmp-with-segment). From a9e39d53dd5cdbcc0b460f100a9838c75d00a6b1 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 6 Feb 2024 12:15:28 -0500 Subject: [PATCH 04/12] fix related content [netlify-build] --- .../consent-management/configure-consent-management.md | 2 +- src/privacy/consent-management/consent-in-unify.md | 4 ++-- src/privacy/consent-management/index.md | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/privacy/consent-management/configure-consent-management.md b/src/privacy/consent-management/configure-consent-management.md index a34d986962..a047b061ec 100644 --- a/src/privacy/consent-management/configure-consent-management.md +++ b/src/privacy/consent-management/configure-consent-management.md @@ -2,7 +2,7 @@ title: Configure Consent Management related: - "/privacy/consent-management/" - - "/privacy/consent-in-segment-connections/" + - "/privacy/consent-management/consent-in-segment-connections/" redirect_from: "/privacy/configure-consent-management" --- diff --git a/src/privacy/consent-management/consent-in-unify.md b/src/privacy/consent-management/consent-in-unify.md index c88c46e8d5..b4532fd0ed 100644 --- a/src/privacy/consent-management/consent-in-unify.md +++ b/src/privacy/consent-management/consent-in-unify.md @@ -3,8 +3,8 @@ title: Consent in Unify hidden: true related: - "/privacy/consent-management/" - - "/privacy/configure-consent-management/" - - "/privacy/consent-in-segment-connections/" + - "/privacy/consent-management/configure-consent-management/" + - "/privacy/consent-management/consent-in-segment-connections/" --- > info "Consent in Unify and Twilio Engage is currently unavailable." diff --git a/src/privacy/consent-management/index.md b/src/privacy/consent-management/index.md index 3d302838db..c9f384990c 100644 --- a/src/privacy/consent-management/index.md +++ b/src/privacy/consent-management/index.md @@ -1,9 +1,8 @@ --- title: Consent Management Overview related: - - "/privacy/configure-consent-management/" - - "/privacy/consent-in-segment-connections/" - - "/privacy/consent-in-unify/" + - "/privacy/consent-management/configure-consent-management/" + - "/privacy/consent-management/consent-in-segment-connections/" --- When an end user visits your web or mobile app, they set **consent preferences**, or make decisions about the types of data they want you to collect, use, and share. These consent preferences are typically presented as a set list of categories that describe how your company intends to use that data. Some common categories include personalization, advertising, and site performance. From 56b31206593b0f7e589589b1bebaf5d6b78a67e8 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 9 Feb 2024 12:42:10 -0500 Subject: [PATCH 05/12] fix redirect --- .../consent-management/consent-in-segment-connections.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/consent-management/consent-in-segment-connections.md b/src/privacy/consent-management/consent-in-segment-connections.md index 77227225c8..a16206c59c 100644 --- a/src/privacy/consent-management/consent-in-segment-connections.md +++ b/src/privacy/consent-management/consent-in-segment-connections.md @@ -2,7 +2,7 @@ title: Consent in Segment Connections related: - "/privacy/consent-management/" - - "/privacy/configure-consent-management/" + - "/privacy/consent-management/configure-consent-management/" redirect_from: "/privacy/consent-in-segment-connections" --- From 5acc3a967a282ec78ff8af32af16d90f7cf8ee84 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 9 Feb 2024 12:43:14 -0500 Subject: [PATCH 06/12] [netlify-build] --- .../consent-management/consent-in-segment-connections.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/consent-management/consent-in-segment-connections.md b/src/privacy/consent-management/consent-in-segment-connections.md index a16206c59c..b9a3e20d57 100644 --- a/src/privacy/consent-management/consent-in-segment-connections.md +++ b/src/privacy/consent-management/consent-in-segment-connections.md @@ -74,4 +74,4 @@ If there is a category configured in Segment (`functional`) that is not mapped i ## Content observability -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*. \ No newline at end of file +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*. From 9b529503ea01d93d18a5e44978a96147fde8d090 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:25:03 -0500 Subject: [PATCH 07/12] link qa [netlify-build] --- .../consent-management/configure-consent-management.md | 8 ++++---- .../consent-management/consent-in-segment-connections.md | 4 ++-- src/privacy/consent-management/consent-in-unify.md | 5 ++--- src/privacy/consent-management/index.md | 6 +++--- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/privacy/consent-management/configure-consent-management.md b/src/privacy/consent-management/configure-consent-management.md index a047b061ec..fc066dc755 100644 --- a/src/privacy/consent-management/configure-consent-management.md +++ b/src/privacy/consent-management/configure-consent-management.md @@ -6,7 +6,7 @@ related: redirect_from: "/privacy/configure-consent-management" --- -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. +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. 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. @@ -42,8 +42,8 @@ Before you can configure consent in Segment, take the following steps: ## Step 2: Integrating your CMP with Segment 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: -- 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 -- 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 +- 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 +- If using Unify and Engage, generates the [Segment Consent Preference](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-event) event every time a user provides or updates their consent preferences with their anonymousId and userId Segment provides a OneTrust wrapper for the following sources: - **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. @@ -58,7 +58,7 @@ If you'd like to integrate with any other CMP, Segment requires you to build you ### Validate your CMP integration -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. +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 event](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-event) emits every time end users update their consent preferences. 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/). diff --git a/src/privacy/consent-management/consent-in-segment-connections.md b/src/privacy/consent-management/consent-in-segment-connections.md index b9a3e20d57..0bcbcce713 100644 --- a/src/privacy/consent-management/consent-in-segment-connections.md +++ b/src/privacy/consent-management/consent-in-segment-connections.md @@ -8,12 +8,12 @@ redirect_from: "/privacy/consent-in-segment-connections" 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. -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. +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. 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. > info "Unify users must send an additional event to add consent preferences to Profiles" -> 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. +> 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 event, which Segment uses with the consent object to add consent preference to Profiles. ## Consent object diff --git a/src/privacy/consent-management/consent-in-unify.md b/src/privacy/consent-management/consent-in-unify.md index b4532fd0ed..6f1f9625f7 100644 --- a/src/privacy/consent-management/consent-in-unify.md +++ b/src/privacy/consent-management/consent-in-unify.md @@ -1,6 +1,5 @@ --- title: Consent in Unify -hidden: true related: - "/privacy/consent-management/" - "/privacy/consent-management/configure-consent-management/" @@ -10,10 +9,10 @@ related: > info "Consent in Unify and Twilio Engage is currently unavailable." > However, Segment's OneTrust consent wrappers automatically generate the Segment Consent Preference Track event, which will be required for future integrations with Unify and Twilio Engage. -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 event](#segment-consent-preference-event) and [Identify](/docs/connections/spec/Identify) events to route events to Unify. The Segment Consent Preference and Identify events should include the [consent object](/docs/privacy/consent-in-segment-connections/#consent-object). +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 event](#segment-consent-preference-event) and [Identify](/docs/connections/spec/Identify) events to route events to Unify. The Segment Consent Preference and Identify events should include the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object). ## Segment Consent Preference event -Every time an end user provides or updates their consent preferences, Segment requires you to generate a **Segment Consent Preference** event. If you are using [Segment's OneTrust consent wrappers](/docs/privacy/configure-consent-management/#step-2-integrating-your-cmp-with-segment), Segment automatically generates a Segment Consent Preference event. This event is required to add the end user’s consent preference on their Profile in Unify. +Every time an end user provides or updates their consent preferences, Segment requires you to generate a **Segment Consent Preference** 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 event. This event is required to add the end user’s consent preference on their Profile in Unify. 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 [Track call](/docs/connections/spec/track/) demonstrating their new consent preferences would have the following format: diff --git a/src/privacy/consent-management/index.md b/src/privacy/consent-management/index.md index c9f384990c..00aea68157 100644 --- a/src/privacy/consent-management/index.md +++ b/src/privacy/consent-management/index.md @@ -11,13 +11,13 @@ Segment integrates with your commercial third-party or bespoke consent managemen ![Diagram outlining information flowing from an end user to Segment destinations](/docs/privacy/consent-management/images/consent-overview.png) -After a user sets their consent preferences on your web or mobile app, Segment requires you to add the [consent object](/docs/privacy/consent-in-segment-connections/#consent-object) to all events. If you are using OneTrust, Segment provides a wrapper for your web and mobile libraries that can add the consent object to your events. If you are using another CMP, you are required to add the consent object to your events by either creating your own wrapper or using another mechanism. For more information, see the [Configure Consent Management documentation](/docs/privacy/configure-consent-management/#step-2-integrating-your-cmp-with-segment). +After a user sets their consent preferences on your web or mobile app, Segment requires you to add the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object) to all events. If you are using OneTrust, Segment provides a wrapper for your web and mobile libraries that can add the consent object to your events. If you are using another CMP, you are required to add the consent object to your events by either creating your own wrapper or using another mechanism. For more information, see the [Configure Consent Management documentation](/docs/privacy/consent-management/onfigure-consent-management/#step-2-integrating-your-cmp-with-segment). The events, stamped with the consent object, are then sent downstream to any destinations in categories that an end user consented to share data with. > info "" > Segment collects consent for both registered users and anonymous users. -For more information about consent in Segment Connections, see the [Consent in Segment Connections](/docs/privacy/consent-in-segment-connections) documentation. +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-in-unify) for more information about the Segment Consent Preference event, which Segment uses to add consent preference to the Profile. +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 event, which Segment uses to add consent preference to the Profile. From f1b7aebade23cea1c4840ae93e7c9ddb2941e83f Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:43:47 -0500 Subject: [PATCH 08/12] spelling error [netlify-build] --- src/privacy/consent-management/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/consent-management/index.md b/src/privacy/consent-management/index.md index 00aea68157..3a34a2dcd4 100644 --- a/src/privacy/consent-management/index.md +++ b/src/privacy/consent-management/index.md @@ -11,7 +11,7 @@ Segment integrates with your commercial third-party or bespoke consent managemen ![Diagram outlining information flowing from an end user to Segment destinations](/docs/privacy/consent-management/images/consent-overview.png) -After a user sets their consent preferences on your web or mobile app, Segment requires you to add the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object) to all events. If you are using OneTrust, Segment provides a wrapper for your web and mobile libraries that can add the consent object to your events. If you are using another CMP, you are required to add the consent object to your events by either creating your own wrapper or using another mechanism. For more information, see the [Configure Consent Management documentation](/docs/privacy/consent-management/onfigure-consent-management/#step-2-integrating-your-cmp-with-segment). +After a user sets their consent preferences on your web or mobile app, Segment requires you to add the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object) to all events. If you are using OneTrust, Segment provides a wrapper for your web and mobile libraries that can add the consent object to your events. If you are using another CMP, you are required to add the consent object to your events by either creating your own wrapper or using another mechanism. For more information, see the [Configure Consent Management documentation](/docs/privacy/consent-management/configure-consent-management/#step-2-integrating-your-cmp-with-segment). The events, stamped with the consent object, are then sent downstream to any destinations in categories that an end user consented to share data with. From d7789fe2d3d0441476d8d574f1ccdc3b670b7013 Mon Sep 17 00:00:00 2001 From: Anand Ramakrishnan Date: Thu, 15 Feb 2024 13:28:37 -0800 Subject: [PATCH 09/12] CONSENT-254: add "Updated" suffix to the event name for consent --- .../configure-consent-management.md | 6 +++--- .../consent-in-segment-connections.md | 2 +- .../consent-management/consent-in-unify.md | 16 ++++++++-------- src/privacy/consent-management/index.md | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/privacy/consent-management/configure-consent-management.md b/src/privacy/consent-management/configure-consent-management.md index fc066dc755..546c6039ce 100644 --- a/src/privacy/consent-management/configure-consent-management.md +++ b/src/privacy/consent-management/configure-consent-management.md @@ -43,7 +43,7 @@ Before you can configure consent in Segment, take the following steps: 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: - 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 -- If using Unify and Engage, generates the [Segment Consent Preference](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-event) event every time a user provides or updates their consent preferences with their anonymousId and userId +- If using Unify and Engage, generates the [Segment Consent Preference Updated](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-event) event every time a user provides or updates their consent preferences with their anonymousId and userId Segment provides a OneTrust wrapper for the following sources: - **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. @@ -58,9 +58,9 @@ If you'd like to integrate with any other CMP, Segment requires you to build you ### Validate your CMP integration -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 event](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-event) emits every time end users update their consent preferences. +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-event) emits every time end users update their consent preferences. -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/). +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/). 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. diff --git a/src/privacy/consent-management/consent-in-segment-connections.md b/src/privacy/consent-management/consent-in-segment-connections.md index 0bcbcce713..0158d99165 100644 --- a/src/privacy/consent-management/consent-in-segment-connections.md +++ b/src/privacy/consent-management/consent-in-segment-connections.md @@ -13,7 +13,7 @@ For more information about configuring consent categories, see the [Configure Co 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. > info "Unify users must send an additional event to add consent preferences to Profiles" -> 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 event, which Segment uses with the consent object to add consent preference to Profiles. +> 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. ## Consent object diff --git a/src/privacy/consent-management/consent-in-unify.md b/src/privacy/consent-management/consent-in-unify.md index 6f1f9625f7..eb44ff0c90 100644 --- a/src/privacy/consent-management/consent-in-unify.md +++ b/src/privacy/consent-management/consent-in-unify.md @@ -7,20 +7,20 @@ related: --- > info "Consent in Unify and Twilio Engage is currently unavailable." -> However, Segment's OneTrust consent wrappers automatically generate the Segment Consent Preference Track event, which will be required for future integrations with Unify and Twilio Engage. +> 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. -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 event](#segment-consent-preference-event) and [Identify](/docs/connections/spec/Identify) events to route events to Unify. The Segment Consent Preference and Identify events should include the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object). +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). -## Segment Consent Preference event -Every time an end user provides or updates their consent preferences, Segment requires you to generate a **Segment Consent Preference** 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 event. This event is required to add the end user’s consent preference on their Profile in Unify. +## Segment Consent Preference Updated event +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. -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 [Track call](/docs/connections/spec/track/) demonstrating their new consent preferences would have the following format: +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: ``` json { "anonymousId": "23adfd82-aa0f-45a7-a756-24f2a7a4c895", "type": "track", - "event": "Segment Consent Preference", + "event": "Segment Consent Preference Updated", "userId": "u123", "traits": { "email": "peter@example.com", @@ -40,9 +40,9 @@ For example, if an end user agreed to share their information for functional and } ``` -If you use Protocols, the Segment app automatically adds the Segment Consent Preference 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 events, but you can add new fields as needed. +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. -> info "Segment Consent Preference is a reserved event name" +> info "Segment Consent Preference Updated is a reserved event name" > Segment has standardized a series of reserved event names that have special semantic meaning and maps these events to tools that support them. > > See the [Semantic Events](/docs/connections/spec/semantic/) docs for more details. diff --git a/src/privacy/consent-management/index.md b/src/privacy/consent-management/index.md index 3a34a2dcd4..11b4dede74 100644 --- a/src/privacy/consent-management/index.md +++ b/src/privacy/consent-management/index.md @@ -20,4 +20,4 @@ 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 event, which Segment uses to add consent preference to the Profile. +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. From de32a80e6f639b11a27c8f53ef9f7b86a6c6daae Mon Sep 17 00:00:00 2001 From: Anand Ramakrishnan Date: Thu, 15 Feb 2024 13:48:17 -0800 Subject: [PATCH 10/12] Update src/privacy/consent-management/configure-consent-management.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/privacy/consent-management/configure-consent-management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/consent-management/configure-consent-management.md b/src/privacy/consent-management/configure-consent-management.md index 546c6039ce..f9b22bb0eb 100644 --- a/src/privacy/consent-management/configure-consent-management.md +++ b/src/privacy/consent-management/configure-consent-management.md @@ -43,7 +43,7 @@ Before you can configure consent in Segment, take the following steps: 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: - 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 -- If using Unify and Engage, generates the [Segment Consent Preference Updated](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-event) event every time a user provides or updates their consent preferences with their anonymousId and userId +- 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 Segment provides a OneTrust wrapper for the following sources: - **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. From ecbda187ef18fc61e10b767518d45cd6e3838b91 Mon Sep 17 00:00:00 2001 From: Anand Ramakrishnan Date: Thu, 15 Feb 2024 13:48:24 -0800 Subject: [PATCH 11/12] Update src/privacy/consent-management/configure-consent-management.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/privacy/consent-management/configure-consent-management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/consent-management/configure-consent-management.md b/src/privacy/consent-management/configure-consent-management.md index f9b22bb0eb..2b39fc07a3 100644 --- a/src/privacy/consent-management/configure-consent-management.md +++ b/src/privacy/consent-management/configure-consent-management.md @@ -58,7 +58,7 @@ If you'd like to integrate with any other CMP, Segment requires you to build you ### Validate your CMP integration -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-event) emits every time end users update their consent preferences. +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. 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/). From 140c60bd0b2fc2f65b9d26dc624478bb80df4958 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 20 Feb 2024 16:50:00 -0500 Subject: [PATCH 12/12] hotfix --- src/_data/sidenav/main.yml | 2 ++ src/privacy/consent-management/consent-in-unify.md | 1 + 2 files changed, 3 insertions(+) diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index 3826b5fffe..4631fbb3ec 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -522,6 +522,8 @@ sections: title: Consent in Segment Connections - path: /privacy/consent-management/configure-consent-management title: Configure Consent Management + - path: /privacy/consent-management/consent-in-unify/ + title: Consent in Unify - path: /privacy/account-deletion title: Account & Data Deletion - path: /privacy/hipaa-eligible-segment diff --git a/src/privacy/consent-management/consent-in-unify.md b/src/privacy/consent-management/consent-in-unify.md index eb44ff0c90..8159d872dc 100644 --- a/src/privacy/consent-management/consent-in-unify.md +++ b/src/privacy/consent-management/consent-in-unify.md @@ -4,6 +4,7 @@ related: - "/privacy/consent-management/" - "/privacy/consent-management/configure-consent-management/" - "/privacy/consent-management/consent-in-segment-connections/" +redirect_from: "/privacy/consent-in-unify/" --- > info "Consent in Unify and Twilio Engage is currently unavailable."