ChangelogBook a demoSign up

Deterministic matching

Audience: Platform admin, data or analytics engineer
Prerequisites: IDR overview →, Setup steps →, Prepare your data →, Golden Record →

Use deterministic matching when your data includes stable, specific identifiers that can be matched exactly.


What is deterministic matching?

Deterministic matching links records when one or more identifier values match exactly—like email == email or user_id == user_id. It doesn’t use fuzzy logic or similarity scoring. Matches either qualify or don’t.

For example:

  • john.doe@gmail.com matches john.doe@gmail.com
  • It does not match johndoe@company.com or john.doe+promo@gmail.com

When to use it

Use deterministic matching if:

  • You have structured, consistent data
  • You need precise control (e.g. for compliance or operations)
  • You want clean merges with no ambiguity
  • Your systems use shared, unique IDs like user ID or email

Benefits

  • High precision with low risk of incorrect merges
  • Simple to understand and debug
  • Fast and scalable for large datasets

Limitations

  • Doesn’t handle typos or inconsistent formatting
  • Can’t link identities across disconnected systems without shared IDs
  • Won’t catch cases like john.doe@gmail.com vs johndoe@company.com

How to enable it

Deterministic matching in Hightouch links records when shared identifiers—like email, user_id, or anonymous_id—have an exact match across models.

Deterministic matching is enabled automatically when you assign identifiers to your models. There’s no toggle or confidence threshold to manage.

To use it effectively, you’ll need to:

  • Assign identifiers in your source models

  • Prioritize which identifiers Hightouch should use first when evaluating matches

  • Optionally, set limit rules to prevent over-matching (e.g. when a shared device ID connects too many users)

Once configured, Hightouch creates identity groups by linking records that share the same value for a prioritized identifier.

Learn more → Prepare your data to build a customer identity graph

How to QA your results

After your model runs:

  • Open the Summary tab to review the number of identities created
  • Use the Profiles tab to inspect merged records
  • Check that each profile contains only exact matches

You should see one row per identity, each tied to an HT_ID.

Learn more → Match summary & profile review

When to activate deterministic matches

Use deterministic matching when you activating using sensitive information:

  • ✅ Lifecycle campaigns that reference past purchases
  • ✅ Rewards or loyalty program emails
  • ✅ Supporting operations teams

What’s next?

Want to expand coverage with fuzzy matching? Learn about probabilistic identity resolution →

Or get started:

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Privacy PolicyTerms of Service
On this page

Was this page helpful?