diff --git a/src/privacy/consent-in-unify.md b/src/privacy/consent-in-unify.md index 9af6ab463d..afd4c6b6f2 100644 --- a/src/privacy/consent-in-unify.md +++ b/src/privacy/consent-in-unify.md @@ -47,3 +47,26 @@ If you use Protocols, the Segment app automatically adds the Segment Consent Pre > 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. + +## Reconcile profile conflicts +You might encounter a profile with a consent value of `conflict` if one of your end users consents to different categories on different devices or if two distinct IDs are linked to one Unify profile. + +> success "" +> Profile conflicts only impact profiles used in Engage spaces. + +### Device-level conflict +A device conflict occurs when consent for one user ID is collected from two distinct devices. This conflict is automatically resolved to accept consent from the most recent interaction. + +For example, if a user first didn't consent to advertising on their mobile phone, and then later consented to advertising on their desktop computer, their consent for the `advertising` category would be set to `true`. + +![A diagram showing different consent being reconciled for one profile.](images/device-level-consent-conflcit.png) + +### Profile-level conflict +A profile-level conflict occurs when two distinct userIDs with different consent preferences are merged into one Unify profile. A profile-level conflict can also occur when a userID and an anonymousID (one without a linked userID) are linked to the same profile by an external ID, like an email address or phone number, and the consent preferences of both profiles do not match. + +![A diagram showing different users linked to one profile.](images/profile-level-consent-conflict.png) + +To avoid profile-level conflicts, Segment recommends that you take the following steps: +1. **Use `user_id` to identify a profile or person.** Using other identifiers, like a phone number, email, or `anonymous_id`, can result in a profile-level conflict. +2. **Set `user_id` as the highest priority identifier in the [Identity Resolution](/docs/unify/identity-resolution/identity-resolution-settings/#priority) settings.** +3. **Maintain the default `reset()` behavior.** When a user explicitly logs out of your application, call `analytics.reset()` to prevent any further event activity from being associated with the logged out user and generate a new `anonymousId` for subsequent activity (until the user logs in again). diff --git a/src/privacy/images/device-level-consent-conflcit.png b/src/privacy/images/device-level-consent-conflcit.png new file mode 100644 index 0000000000..da417be3bf Binary files /dev/null and b/src/privacy/images/device-level-consent-conflcit.png differ diff --git a/src/privacy/images/profile-level-consent-conflict.png b/src/privacy/images/profile-level-consent-conflict.png new file mode 100644 index 0000000000..0832ea8ced Binary files /dev/null and b/src/privacy/images/profile-level-consent-conflict.png differ