Skip to content

Commit 30e3233

Browse files
committed
Update Merge Protection Sections DOC-575
1 parent c4d1103 commit 30e3233

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

src/personas/faqs.md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,13 @@ Lookback windows are precise down to the hour, so a 90-day lookback window will
6969
The trait and audience will automatically update going forward as historical events exceed the lookback window.
7070

7171
## How does Personas handle identity merging?
72-
Each incoming event is analyzed and external IDs are extracted (`user_id`, `anonymous_id`, `email`). The simplified algorithm works as follows:
72+
Each incoming event is analyzed and external IDs are extracted (`user_id`, `anonymous_id`, `email`, and so on). The simplified algorithm works as follows:
7373

74-
- Segment first searches the Identity Graph for incoming external IDs.
75-
- If Segment find no users, it creates one.
76-
- If one user is returned, then that user is chosen.
77-
- If multiple users are returned, merge protection kicks in and checks the validity of all of the provided external IDs.
78-
- If the merge protection checks pass, Segment creates a new merge connection between those two users. The first user profile ever created becomes the parent profile, and all merged users become child profiles.
79-
- If the merge protection checks fail, Segment discards the lowest precedence external ID and re-run the algorithm.
74+
1. Segment first searches the Identity Graph for incoming external IDs.
75+
2. If Segment find no matching profile(s), it creates one.
76+
3. If Segment finds one profile, it merges the incoming event with that profile. (This means that Segment adds the external IDs on the incoming message and resolves the event to the profile.)
77+
4. If Segment finds multiple matching profiles, Segment applies the identity resolution settings for merge protection. Specifically, Segment uses identifier limits and priorities to add the correct identifiers to the profile.
78+
5. Segment then aplies [Personas default profile limits](/docs/personas/product-limits/#identity) to ensure profiles remain under these limits. Segment doesn't add any further merges or mappings if the profile is at either limit, but event resolution for the profile will continue.
8079

8180
![Identity graph merging](images/merging_1.png "Flowchart of Segment receiving an incoming event")
8281

@@ -118,12 +117,15 @@ The audience in the image below includes all users that have Product Added in th
118117
## What happens to conflicting and non-conflicting profile attributes?
119118
If two merged user profiles contain conflicting profile attributes, Segment selects the newest, or last updated, attributes when querying the profile.
120119

121-
## What is Personas Merge Protection?
122-
Personas merge protection algorithm protects your identity graph from unnecessary merges by finding and removing untrusted external IDs. Here's an example:
120+
## How does Personas perform merge protection?
121+
122+
Segment uses the Personas space's [identity resolution settings](/docs/personas/identity-resolution/) to prevent inaccurate profile merges. Segment uses identifier priorities and limits to determine how to add new merges and mappings to profiles.
123+
124+
In the following example, the identity resolution settings for `user_id` are `Priority 1` and `Value Limit 1`:
123125

124126
![Merge protection](images/merge_protection.png "An image representing the merge protection flow")
125127

126-
In this example, `anonymous_id: a1` is not reset during a `User Logout`. Without merge protection, Segment would merge `user_id u1` and `user_id u2`. Instead, the Merge Protection algorithm detects that such a merge would break user_id uniqueness and prevents the merge.
128+
In this example, `anonymous_id: a1` is not reset during a `User Logout`. Without merge protection rules, Segment would merge `user_id u1` and `user_id u2`. Instead, the identity resolution algorithm detects that such a merge would break `user_id` uniqueness and prevents the merge.
127129

128130
This is especially helpful for preventing "blob users" that are merged together by non-unique anonymous IDs or by common group emails like `[email protected]`.
129131

src/personas/product-limits.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ To learn more about custom limits and upgrades, contact your dedicated Customer
3030

3131
| name | Limit | Details |
3232
| ----------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
33-
| Identity Merges | 100 merges | Personas supports up to 100 merges per profile in its identity graph. Merges occur when a common `external_id` joins two existing profiles. For example, if a user initiates a mobile session but then signs in through a web application, a common identifier like `user_id` will join the two user profiles. Segment drops additional message merge attempts, which usually indicate corrupt profiles. Once the limit is reached, Segment rejects additional events. |
34-
| Identity Mappings | 1000 mappings | Personas supports up to 1000 mappings per profile in its identity graph. Mappings are external identifier values like a `user_id`, email, mobile advertising `id`, or any custom identifier. Segment drops additional message mapping attempts, which usually indicate corrupt profiles. This limit counts mappings across all merged profiles. |
33+
| Identity Merges | 100 merges | Personas supports up to 100 merges per profile in its identity graph. Merges occur when a common `external_id` joins two existing profiles. For example, if a user initiates a mobile session but then signs in through a web application, a common identifier like `user_id` will join the two user profiles. No additional merges will be added once the profile reaches this limit. Event resolution for the profile, however, will continue. |
34+
| Identity Mappings | 1000 mappings | Personas supports up to 1000 mappings per profile in its identity graph. Mappings are external identifier values like a `user_id`, email, mobile advertising `id`, or any custom identifier. No additional mappings will be added once the profile reaches this limit. Event resolution for the profile, however, will continue. |
3535
| Identify calls | 300 traits | Personas rejects Identify events with 300 or more traits. If your use case requires more than 300 traits, you can split the traits into multiple Identify calls. |
3636

3737

@@ -63,4 +63,4 @@ To learn more about custom limits and upgrades, contact your dedicated Customer
6363
| Step Name | Maximum length of 170 characters | Once the limit is reached, you cannot add additional characters to the name. |
6464
| Key | Maximum length of 255 characters | Once the limit is reached, you cannot add additional characters to the key. |
6565
| Journey Name | Maximum length of 73 characters | Once the limit is reached, you cannot add additional characters to the name. |
66-
| Compute credits | Half a credit for each step | Each step in a published Journey consumes half of one compute credit. |
66+
| Compute credits | Half a credit for each step | Each step in a published Journey consumes half of one compute credit. |

0 commit comments

Comments
 (0)