Choose your project type
DinMo Identity Resolution covers two capabilities. Pick the one that matches your use case β you can add the other later.
Detect and merge duplicate customer records across different source models, using rule-based matching. Use it when your CRM, e-commerce, or app tables describe the same people.
Stitch anonymous and identified activity into a single customer journey, using graph-based matching. Use it when you need to connect pre-login behavior to logged-in events.
Pick by use case
Build a one-row-per-customer table for your data team and CRM
Profile Resolution
Resolves duplicate records, picks winning values, gives you dinmo_id as a stable join key.
Detect duplicate customer records pre-activation
Profile Resolution
Merge B2B accounts, contacts, or households
Profile Resolution
Anchor matching on email, domain, or account ID with anchored fuzzy matching when needed.
Analyze a user journey across anonymous and identified events
Event Stitching
Connects events through identifier observations without needing a master profile first.
De-anonymize visitors after they log in
Event Stitching
The event profile graph naturally connects pre-login and post-login activity through shared identifiers.
Pick by data you have
Customer, account, contact, or subscriber tables with stable primary keys
Profile Resolution
Event, session, activity, or interaction tables with identifier columns
Event Stitching
Both
Both β configured as two separate projects, joined in the warehouse on a shared identifier.
Neither (raw or semi-structured data)
Model the data first into either profile-like or event-like tables, then come back to this page.
Side-by-side
Input
Profile-like source models
Event source models
Primary ID
dinmo_id
dinmo_stitched_profile_id
Main output
identity_golden, one row per resolved customer
Event profile graph and per-event attribution
Matching style
Exact and anchored fuzzy matching
Deterministic, priority-based stages
Creates new IDs
Yes β dinmo_id
Yes β dinmo_stitched_profile_id (independent from dinmo_id)
Changes existing IDs
Profiles can merge across runs
Event profiles can merge with redirect history
Idempotent on rerun
Yes
Yes
Probabilistic?
No (anchored fuzzy stays conservative)
No (fully deterministic)
Touches the other capability's outputs
No
No
Best for
Single source of truth per customer
Behavioral analysis across anonymous and known activity
When to use both
The most common pattern in production:
Run Profile Resolution on your customer-like tables. You get
dinmo_idand a golden record per resolved customer.Run Event Stitching on your event tables. You get
dinmo_stitched_profile_idand per-event attribution into a separate event profile graph.Join them in your warehouse when you need attribution. Use
identity_event_profile_identifier_valuesto surface the identifiers on an event profile, then join those identifiers toidentity_matched_idsto land on thedinmo_id.
DinMo does not auto-link dinmo_id and dinmo_stitched_profile_id today. The two ID spaces stay independent so each capability can be trusted on its own. You define the join on identifiers whose data quality you control, and you decide whether a join row is strong enough to act on.
Once you adopt both, you have a foundation for use cases like hyper-personalisation, lifecycle marketing, and next best action β all rooted in your own warehouse.
What to read next
Profile Resolution first
Event Stitching first
Both eventually
Start with one. Add the other once the first is trusted in production.
You need vocabulary first
Frequently asked questions
Should I always run Profile Resolution before Event Stitching?
No. They are independent. Run Profile Resolution when you need a canonical customer master. Run Event Stitching when you need a behavioral journey graph. Many teams run Event Stitching first because their first business question is about behavior, not about a master ID.
Can Event Stitching replace Profile Resolution?
No. Event Stitching produces dinmo_stitched_profile_id, which is a behavioral grouping key. It is not designed to be a customer master ID for activation, CRM joins, or analytics that need one canonical row per customer.
Can Profile Resolution replace Event Stitching?
No. Profile Resolution does not process event-level grain. It works on profile-like records with stable primary keys.
How do I join Profile Resolution and Event Stitching outputs?
Today, the join is yours to define in the warehouse, on a shared identifier such as email or user ID. DinMo intentionally keeps the two ID spaces independent so each can be trusted on its own, and so you can choose which identifier you trust for the join.
Is this the same as an identity graph?
Profile Resolution implements an identity graph at the customer-profile grain. Event Stitching builds a separate graph at the event-profile grain. They share the underlying concept β linking records through identifiers β but they operate on different inputs and produce different outputs.
Last updated

