Skip to Content
Identity Resolution

Identity Resolution

Identity Resolution connects records from different sources into one Vendo customer profile. It powers Customer 360, attribution, feature computation, segments, and destination syncs that need a stable customer identity.

Use this guide when you are setting up a new source, correcting identity mappings, or investigating why a customer profile did not resolve as expected.

Where to Find It

Open Customer 360 and select the Identity Resolution tab. Identity settings also live under Data → Identity Graph in the Data Preferences group.

The tab lets you:

  • Add source tables that should contribute identity fields
  • Map source columns to identity types
  • Rank source trust
  • Enable or pause mappings
  • Run identity resolution manually
  • Review identity coverage and resolution stats

Identity Concepts

ConceptMeaning
Vendo profile IDStable Vendo identifier for a resolved customer profile.
IdentifierA value used to connect records, such as email, phone, platform user ID, anonymous ID, or external customer ID.
Identity mappingConfiguration that tells Vendo which source column contains which identifier type.
Source rankTrust order used when multiple sources provide overlapping or conflicting identifiers.
Identity graphThe resolved relationship between source records, identifiers, and Vendo profile IDs.

Setup Workflow

1. Add Sources

Add only sources that contain useful person-level identifiers. Good starting sources are:

  • Commerce sources such as Shopify or Stripe
  • Product analytics sources such as Mixpanel or Amplitude
  • CRM or messaging sources such as HubSpot, Klaviyo, Customer.io, or OneSignal
  • First-party tracking sources that include anonymous IDs, user IDs, or emails

Avoid adding tables that only contain aggregate campaign metrics unless they also contain user-level identifiers.

2. Map Identifier Columns

For each source, map available columns to the correct identifier type.

Identifier typeUse when
EmailThe column contains a customer email address. This is usually the strongest cross-tool identifier.
PhoneThe column contains phone numbers. Normalize country code formatting where possible.
Platform IDThe column contains a tool-specific ID, such as Shopify customer ID, Stripe customer ID, Mixpanel distinct ID, or OneSignal user ID.
Anonymous IDThe column contains anonymous web/app IDs that may later connect to known users.
External IDThe column contains a stable ID from your own system.

Map the source column exactly as it appears in the source table. If a source has both raw and normalized versions of the same field, prefer the normalized field.

3. Rank Source Trust

Rank sources from most trusted to least trusted.

Common trust order:

  1. CRM or commerce system
  2. Payment system
  3. Product analytics
  4. Messaging platform
  5. Ad platform
  6. Anonymous web tracking

Use your own business logic when a specific platform is known to be more reliable.

4. Run Identity Resolution

Click Run Identity Resolution after adding or changing mappings.

Run it manually when:

  • A new source was connected
  • A new identity column was mapped
  • Source trust order changed
  • A destination needs resolved identifiers before its next sync
  • You are validating a support issue

Scheduled runs will keep the graph fresh after setup.

Validating Results

After a run completes, check:

  • Total source records considered
  • Total resolved profiles
  • Identifier coverage by source
  • Duplicate profile count
  • Profiles with unusually high identifier counts
  • Destination fields that depend on resolved identifiers

Then open a few individual customer profiles and confirm:

  • Emails and platform IDs are attached to the expected profile
  • Events from multiple sources appear under the same customer
  • Properties come from the expected source
  • No obviously unrelated people were merged

Troubleshooting

Profiles Are Not Merging

Common causes:

  • The two source records do not share any mapped identifier
  • The expected identifier column is not mapped
  • The identifier values are formatted differently across sources
  • One of the mappings is paused
  • The identity run has not completed since mappings changed

What to check:

  1. Confirm both sources are active.
  2. Confirm both tables contain the expected identifier values.
  3. Confirm the columns are mapped to the same identifier type.
  4. Run Identity Resolution again.
  5. Open the customer profile and review attached identifiers.

Too Many Records Merged Into One Profile

Common causes:

  • A shared or placeholder email was mapped, such as unknown@example.com
  • A device or anonymous ID is reused across multiple people
  • A low-trust source is ranked too high
  • A column was mapped to the wrong identifier type

What to check:

  1. Search for placeholder values in the mapped column.
  2. Pause the suspicious mapping and rerun resolution.
  3. Lower the trust rank of the noisy source.
  4. Use a more stable identifier when available.

Destination Sync Is Missing IDs

Destinations often require a specific identifier, such as email, phone, advertising ID, OneSignal ID, or platform user ID.

What to check:

  1. Confirm the destination field is present on the resolved profile.
  2. Confirm the source that provides the field is active in Identity Resolution.
  3. Confirm the destination mapping uses the resolved identifier, not a source-only field.
  4. Rerun Identity Resolution before rerunning the destination sync.

Identity Run Failed

What to check:

  1. Confirm source syncs completed successfully.
  2. Check whether any mapped source table or column was renamed.
  3. Check whether the mapped table still exists in the warehouse.
  4. Review the related job logs.
  5. Pause the newest mapping and rerun to isolate the failure.

Best Practices

  • Start with two or three high-quality sources rather than every source.
  • Prefer stable, person-level identifiers over session-level identifiers.
  • Keep source trust order simple and explicit.
  • Avoid mapping placeholder values.
  • Re-run after each mapping change.
  • Validate with real customer examples before using resolved IDs in destinations.
Last updated on