User Identity Resolution (User Stitching)

The purpose of user stitching is to create a unified and accurate view of each user across multiple sessions, devices, and identifiers. Users often interact with a platform through different channels—such as mobile apps, websites, or emails—using various identifiers like email addresses, phone numbers, or proem IDs.

Without stitching, each of these interactions might be treated as coming from separate users, leading to fragmented data and incomplete insights.

User stitching solves this by:

  • Connecting multiple identifiers (email, phone, user ID, proem ID) to a single user profile

  • Ensuring campaigns are triggered based on complete and consistent user behavior

  • Avoiding duplication of user records

  • Enabling more personalized, targeted, and efficient engagement strategies

  • Improving reporting accuracy by representing each user only once across systems

Key Identifiers

Identifier

Description

Email

Email address associated with the user

Phone Number

Mobile number used by the user

User ID

Application-generated unique identifier

Proem ID

Device/browser-level identifier generated via us (cookie/device )

Note: A single user can have multiple Proem IDs. This happens when the same user accesses the platform from different browsers, devices (like mobile, desktop, or tablet), or clears cookies, leading to the generation of new Proem IDs. The system intelligently links all known Proem IDs back to the same user profile if other identifiers (like email or User ID) provide a strong match.

Core Stitching Rules

Scenario

Condition

System Action

All identifiers match

All identifiers provided in the incoming event (e.g., Email = [email protected], Phone = 123456, User ID = User_01) exactly match an existing user profile

Merge

Two identifiers match, third is missing/null

Example: Matching Email and User ID, no Phone provided

Merge (safe match)

Two identifiers match, third conflicts

Example: Email and User ID match, but phone differs

No Merge (conflict)

Anonymous → Known user

User transitions from unknown (device only) to identified

Update existing record

New device with existing identifier

Known user logs in from a new device

Append device to profile

Same device used by multiple user IDs

Proem ID is observed with different User IDs

Keep as separate users

Event Tracker Rules

  • A user can have multiple proem IDs (devices, browsers).

  • A proem id can only map to one user_id. If a single proem id is linked to multiple user_ids, the system splits them into separate user records.

  • When a proem id + user_id combination is received and the user_id already exists, the proem id is added to that user's device list

Safe Key & Conflict Resolution

A safe key is a combination of identifiers that can confidently link two records without conflict. A safe key is used to determine if a merge is valid.

Conflict Rules

A merge is blocked if any of the following identifier conflicts are detected. These conflicts occur when the system encounters different non-null values for the same identifier across two records. Even if one or more identifiers match (e.g., email), the presence of conflicting values in others (e.g., phone or user ID) will prevent merging to ensure data integrity.

Conflict Type

What It Means

Email Conflict

Same phone or User ID, but different valid email addresses — considered a conflict

Phone Conflict

Same email or user ID, but different valid phone numbers — considered a conflict

User ID Conflict

The records share matching email or phone, but have differing non-null User IDs — no merge

Note: Missing (null) values do not cause a conflict and are ignored in conflict checks.

Merging Behavior

When merge happens:

  • One record is retained (usually the older or richer record)

  • The other record becomes inactive, and data is consolidated

  • User ID and sources are merged

  • Latest data is updated


Examples & Scenarios

1. Successful Merge

Existing Users

Email

Phone

User ID

Proem IDs

Source

NA

UserID_1

[DeviceID_1]

WEB

NA

123

NULL

[]

TICKETING

Incoming Event

Email

Phone

User ID

Proem IDs

Source

NA

123

UserID_1

[DeviceID_2]

APP

Result

Email

Phone

User ID

Proem IDs

123

UserID_1

[DeviceID_1, DeviceID_2]

Why: No conflicts; email and user ID matched via different paths.


2. Email Conflict

Existing Record

Email

Phone

User ID

1234

UserID_3

Incoming Event

Email

Phone

User ID

1234

UserID_3

Result:

  • Two separate records created (Proem ID 3 and 4)

  • Emails differ → conflict → no merge


3. Phone Conflict

Existing

Email

Phone

User ID

Incoming

Email

Phone

User ID

Result: New record created. Phone mismatch = conflict


4. User ID Conflict

Existing

Email

Phone

User ID

Incoming

Email

Phone

User ID

Result: New record created. User ID mismatch = conflict


5. Anonymous to Known

Initial

Proem ID

Email

Phone

User ID

dom_001

NA

NA

NULL

Later Event

Proem ID

Email

Phone

User ID

dom_001

8888

UserID_15

Result: Same record is enriched with identity.


6. Proem id Linked to Many User IDs

Proem ID

User ID

dom_001

user_1

dom_001

user_2

Result: Two separate Proem IDs created. Cannot share proem id across user_ids.


7. Same User, Multiple Devices

Existing

User ID

Proem IDs

UserID_4

[DeviceID_4]

Incoming

User ID

Proem IDs

UserID_4

[DeviceID_5]

Result: Same user, more devices → Update of deviceID_5 into user_id_4. No conflict.

What This Means for You

  • Our system automatically connects user activity across devices, sessions, and sources—giving you a unified view of each customer.

  • You don’t need to manually merge user records. The platform intelligently handles matching and conflict resolution behind the scenes.

  • In some cases, multiple records may temporarily exist for the same person if the system detects a conflict (like mismatched emails). These are handled carefully to ensure accuracy.

  • When a user first interacts anonymously (without providing an email or phone), their activity is still tracked. Once they identify themselves, their profile is updated and linked to earlier actions.

By ensuring users are accurately identified and merged, we help you:

  • Deliver consistent messaging and campaigns across channels

  • Understand true user behavior across platforms

  • Avoid duplicate reporting or incomplete profiles

If you notice unexpected duplicates or want help understanding how a user was stitched, feel free to contact our support or data team for assistance.

Frequently Asked Questions (FAQ)

Q1: Why do I sometimes see duplicate user records?

Duplicates may appear temporarily when two records have conflicting identifiers—for example, different emails or phone numbers. To maintain data accuracy, the system avoids merging such records unless there's a clear match.

Q2: What happens when a user logs in from a new device?

If the user logs in with an existing identifier (like email, phone, or user ID), their new device is automatically linked to their existing profile. This allows us to track them seamlessly across platforms.

Q3: Can one user have multiple proem IDs?

Yes. A single user may use multiple devices (mobile, desktop, etc.). Our system maps all these proem IDs (called Domain User IDs) to the same user profile once a strong match is found.

Q4: What happens if the same user has different emails on different records?

If both emails are valid and differ, the system treats these as separate users until a trusted linking event resolves the conflict—such as a login with both email and phone or a verified user ID

Q5: Do we store all emails and phone numbers associated with the same device?

Yes,the system does store all email addresses and phone numbers observed from the same device.

Q6:Will anonymous activity be preserved once a user identifies themselves?

Yes. If a user initially browses anonymously and later provides identifiable information (like email or phone), the system links the past activity to their profile—provided the device or session IDs match.

Last updated