You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
7
+
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). You can then 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.
8
8
9
9
> success ""
10
10
> With the [Destination Actions framework](/docs/connections/destinations/destination-actions), you can send current end user consent preferences to flow to your destination alongside customer interactions so your destinations know when an end user revokes their consent.
@@ -13,7 +13,7 @@ Segment Connections users can add the [consent object](#consent-object) to their
13
13
14
14
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.
15
15
16
-
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.
16
+
If your sources also contain the integrations object, Segment looks at the consent object first, and then takes 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.
17
17
18
18
> info "Unify users must send an additional event to add consent preferences to Profiles"
19
19
> 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.
@@ -41,9 +41,9 @@ Segment requires every event from all of your sources to include the end user co
41
41
42
42
```
43
43
44
-
Events without the consent object will continue to flow to destinations without consent enforcement.
44
+
Events without the consent object continue to flow to destinations without consent enforcement.
45
45
46
-
Events that don't include a context object, a consent object, or that include them but leave them empty, don’t affect [Profile-level consent preferences](/docs/privacy/consent-management/consent-in-unify) and will flow to all destinations.
46
+
Events that don't include a context object, a consent object, or that include them but leave them empty, don’t affect [Profile-level consent preferences](/docs/privacy/consent-management/consent-in-unify) and flow to all destinations.
47
47
48
48
## Reconcile consent conflicts
49
49
@@ -54,30 +54,30 @@ Segment resolves conflicts between your [consent object and your integration obj
54
54
You can add both the integrations object and the consent object to your Segment payloads for greater control over how Segment routes data to your downstream destinations.
55
55
56
56
> success ""
57
-
> For more information about the Integrations object, please see [Filtering your Segment Data](/docs/guides/filtering-data/#filtering-with-the-integrations-object).
57
+
> For more information about the Integrations object, see [Filtering your Segment Data](/docs/guides/filtering-data/#filtering-with-the-integrations-object).
58
58
59
-
If an event includes both an integrations and consent object, Segment will look at the consent object first, and then take into account the integrations object according to the following table:
59
+
If an event includes both an integrations and consent object, Segment looks at the consent object first, and then takes into account the integrations object according to the following table:
| Not provided or empty consent object <br><br> `"context": {` <br>`}` <br>OR<br> `"context": {`<br>` "consent": {`<br>` }`<br>`}`| Not provided or empty object | Data flows to all destinations. |
64
-
| Empty categoryPreferences object <br><br> `"context": {`<br>` "consent": {`<br>` "categoryPreferences": {` <br>` }`<br>` }` <br> `}`| Not provided or empty object | Data does **NOT**flow to any mapped destinations - consent is considered to be `false` for all categories. <br> <br> Data flows to all destinations **NOT** mapped to a consent category. |
64
+
| Empty categoryPreferences object <br><br> `"context": {`<br>` "consent": {`<br>` "categoryPreferences": {` <br>` }`<br>` }` <br> `}`| Not provided or empty object | Data doesn't flow to any mapped destinations - consent is considered to be `false` for all categories. <br> <br> Data flows to all destinations not mapped to a consent category. |
65
65
| Not provided <br><br> `"context": {` <br>`}`|`{facebook: true,`<br>`amplitude: false}`| Data flows to the destinations that are `true` in the integrations object (Facebook). Any metadata provided in the integrations object also flows to your downstream destinations. |
66
-
| Empty consent object <br><br> `"context": {`<br>` "consent": {`<br>` }`<br>`}` <br> OR <br> `"context": {`<br>` "consent": {`<br>` "categoryPreferences": {` <br>` }`<br>` }` <br> `}`|`{facebook: true,`<br>`amplitude: false}`| Data does **NOT**flow to any mapped destinations - consent is considered to be `false` for all categories. <br><br> Data flows to all destinations **NOT** mapped to a consent category, destinations set to `true` in the integrations object, and destinations not included in the integrations object. |
66
+
| Empty consent object <br><br> `"context": {`<br>` "consent": {`<br>` }`<br>`}` <br> OR <br> `"context": {`<br>` "consent": {`<br>` "categoryPreferences": {` <br>` }`<br>` }` <br> `}`|`{facebook: true,`<br>`amplitude: false}`| Data doesn't flow to any mapped destinations - consent is considered to be `false` for all categories. <br><br> Data flows to all destinations not mapped to a consent category, destinations set to `true` in the integrations object, and destinations not included in the integrations object. |
67
67
|`{ad: true,` <br>`analytics: false}`<br> <br>_Segment has no category-to-destination mapping for ad and analytics_| Provided, not provided, or empty object | Data flows to all destinations, as all destinations are unmapped. If the integrations object is present, data flow may be impacted. |
68
68
|`{ad: true,` <br>`analytics: false}`<br> <br>_ad = facebook, google-ads_ <br> | Not provided or empty object | Data flows to destinations that map to a consented purpose. In this case, data flows to all ad destinations (Facebook and Google Ads).<br><br> No data flows to analytics destinations. |
69
-
|`{ad: true,` <br>`analytics: false}`<br><br>_ad = facebook, google-ads_ <br> _analytics = amplitude_|`{facebook: true,`<br>`amplitude: false}`| Data flows to all ad destinations, even though Google Ads is not present in the integrations object.<br><br> Data does **NOT** flow to analytics destinations. |
70
-
|`{ad: true,` <br>`analytics: false}`<br><br>_ad = facebook, google-ads_ <br> _analytics = amplitude_|`{facebook: false,`<br>`amplitude: false}`| Data only flows to Google Ads and not to Facebook, which is `false` in the integrations object. <br><br> Data does **NOT** flow to analytics destinations. |
71
-
|`{ad: true,` <br>`analytics: false}`<br><br>_ad = facebook, google-ads_ <br> _analytics = facebook, amplitude_|`{facebook: true,`<br>`amplitude: false}`| When destinations are mapped to multiple categories, data only flows if consent is `true` for all categories. In this case, data only flows to Google Ads and not to Facebook. <br><br>Data does **NOT** flow to analytics destinations. |
69
+
|`{ad: true,` <br>`analytics: false}`<br><br>_ad = facebook, google-ads_ <br> _analytics = amplitude_|`{facebook: true,`<br>`amplitude: false}`| Data flows to all ad destinations, even though Google Ads is not present in the integrations object.<br><br> Data doesn't flow to analytics destinations. |
70
+
|`{ad: true,` <br>`analytics: false}`<br><br>_ad = facebook, google-ads_ <br> _analytics = amplitude_|`{facebook: false,`<br>`amplitude: false}`| Data only flows to Google Ads and not to Facebook, which is `false` in the integrations object. <br><br> Data doesn't flow to analytics destinations. |
71
+
|`{ad: true,` <br>`analytics: false}`<br><br>_ad = facebook, google-ads_ <br> _analytics = facebook, amplitude_|`{facebook: true,`<br>`amplitude: false}`| When destinations are mapped to multiple categories, data only flows if consent is `true` for all categories. In this case, data only flows to Google Ads and not to Facebook. <br><br>Data doesn't flow to analytics destinations. |
72
72
|`{ad: true,` <br>`analytics: true}`<br><br>_ad = facebook, google-ads_ <br> _analytics = facebook, amplitude_|`{facebook: true,`<br>`amplitude: false}`| When destinations are mapped to multiple categories, data only flows if consent is `true` for all categories. In this case, data flows to Google Ads and Facebook. No data flows to Amplitude because it is `false` in the integrations object. |
73
-
|`{ad: false,` <br>`analytics: true}` <br><br>_ad = facebook, google-ads_ <br> _analytics = facebook, amplitude_|`{facebook: true,`<br>`amplitude: false}`| When destinations are mapped to multiple categories, data only flows if consent is `true` for all categories. <br><br>In this example, data does **NOT** flow to any destination because of the interaction between the integrations and consent objects. |
73
+
|`{ad: false,` <br>`analytics: true}` <br><br>_ad = facebook, google-ads_ <br> _analytics = facebook, amplitude_|`{facebook: true,`<br>`amplitude: false}`| When destinations are mapped to multiple categories, data only flows if consent is `true` for all categories. <br><br>In this example, data doesn't flow to any destination because of the interaction between the integrations and consent objects. |
74
74
75
75
### Reconcile CMP and Segment consent category conflicts
76
76
77
-
If you have a category configured in your consent management tool (for example, `advertising`) and there is no category with the same ID in Segment, the data will flow to unmapped destinations. If destinations are mapped to a different category in the Segment app, data flow will honor end user consent for that category.
77
+
If you have a category configured in your consent management tool (for example, `advertising`) and there is no category with the same ID in Segment, the data flows to unmapped destinations. If destinations are mapped to a different category in the Segment app, data flow honors end user consent for that category.
78
78
79
-
If there is a category configured in Segment (`functional`) that is not mapped in your CMP, data will not flow to destinations mapped to the `functional` category.
79
+
If there is a category configured in Segment (`functional`) that is not mapped in your CMP, data won't flow to destinations mapped to the `functional` category.
80
80
81
81
## Consent observability
82
82
83
-
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*.
83
+
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*.
0 commit comments