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
| Not provided or empty object | Not provided or empty object | Message delivered to all destinations |
112
-
| Empty consent object <br><br> `"context": {`<br>` "consent": {`<br>` }`<br>`}` <br> OR <br> `"context": {`<br>` "consent": {`<br>` "categoryPreference": {` <br>` }`<br>` }` <br> `}`| Not provided or empty object | Data **NOT** delivered - consent is considered to be `false` for all categories |
113
-
| Not provided or empty object <br><br> `"context": {` <br>`}`|`{facebook: true,`<br>`amplitude: false}`| Message and metadata delivered to Facebook |
114
-
| Empty consent object <br><br> `"context": {`<br>` "consent": {`<br>` }`<br>`}` <br> OR <br> `"context": {`<br>` "consent": {`<br>` "categoryPreference": {` <br>` }`<br>` }` <br> `}`|`{facebook: true,`<br>`amplitude: false}`| Data **NOT** delivered - consent is considered to be `false` for all categories |
115
-
|`{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 **NOT** delivered |
116
-
|`{ad: true,` <br>`analytics: false}`<br> <br>_ad = facebook, google ads_ <br> | Not provided or empty object | Data delivered to destinations that map to consented purpose. In this case, data is delivered to all ad destinations (Facebook and Google Ads).<br><br> No data delivered to analytics destinations |
117
-
|`{ad: true,` <br>`analytics: false}`<br><br>_ad = facebook, google ads_ <br> _analytics = amplitude_|`{facebook: true,`<br>`amplitude: false}`| Data delivered to all ad destinations even though Google Ads is not present in the integrations object.<br> Metadata is sent from Facebook. <br><br> Data **NOT** delivered to analytics destinations. |
118
-
|`{ad: true,` <br>`analytics: false}`<br><br>_ad = facebook, google ads_ <br> _analytics = amplitude_|`{facebook: false,`<br>`amplitude: false}`| Data delivered only to Google Ads, not to Facebook. Data **NOT** delivered to analytics destinations. |
119
-
|`{ad: true,` <br>`analytics: true}`<br><br>_ad = facebook, google ads_ <br> _analytics = facebook, amplitude_|`{facebook: true,`<br>`amplitude: false}`| Data delivered to all ad destinations, including Facebook, because analytics is true. <br> Metadata is sent from Facebook. <br> No data is sent to Amplitude because it is `false` in the integrations object. |
120
-
|`{ad: false,` <br>`analytics: true}` <br><br>_ad = facebook, google ads_ <br> _analytics = facebook, amplitude_|`{facebook: true,`<br>`amplitude: false}`| Data **NOT** delivered to ad destinations. Data delivered to Facebook for analytics only and not to Amplitude. |
111
+
| Not provided <br><br> `"context": {` <br>`}`| Not provided or empty object | Message flows to all destinations |
112
+
| Empty consent object <br><br> `"context": {`<br>` "consent": {`<br>` }`<br>`}` <br> OR <br> `"context": {`<br>` "consent": {`<br>` "categoryPreference": {` <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. |
113
+
| 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. |
114
+
| Empty consent object <br><br> `"context": {`<br>` "consent": {`<br>` }`<br>`}` <br> OR <br> `"context": {`<br>` "consent": {`<br>` "categoryPreference": {` <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. |
115
+
|`{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. |
116
+
|`{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. |
117
+
|`{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. |
118
+
|`{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. |
119
+
|`{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. |
120
+
|`{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. |
121
+
|`{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. |
121
122
122
123
### Reconcile CMP and Segment consent category conflicts
Copy file name to clipboardExpand all lines: src/privacy/reconcile-consent.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,8 @@ hidden: true
5
5
6
6
Segment sends data only to destinations in categories consented to by the end user. When conflicts arise between the consent object and integrations object or your consent management tool, Segment reconciles consent according to the following tables.
7
7
8
+
<!--- Only use case is Engage --->
9
+
8
10
> info "Consent Management is in private beta"
9
11
> 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
12
@@ -22,6 +24,8 @@ If a user has conflicting preferences (for example, they consented yes for a cat
<!--- can you treat mobile/web data differently? -->
27
+
<!-- Conflict resolution would "stack" - could have device level and identifier level conflicts (3 devices out of sync - most recent strategy is what could use)
28
+
Would want a matrix in the docs if you "stacked" device/identifier conflict resolution -->
25
29
26
30
## Reconcile consent object and integrations object conflicts
0 commit comments