Search documentation...

ChangelogBook a demoSign up

Record matching

If you're using update, upsert, or archive mode to sync data, one of the first steps of your sync configuration is defining how Hightouch should match rows from your model to existing destination records.

To do this, Hightouch asks you to select the model column and destination field to match on.

Record matching in Hightouch UI

"Columns" vs. "fields" vs. "properties": Though some may use these terms interchangably, Hightouch uses the term "columns" to refer to a set of vertical data values in a source or model and "fields" or "properties" to refer to them in a destination.

Destination field selection

It's often best to start by selecting the destination field to match on because some destinations have requirements or recommendations on the field to use.

For example, some destinations require matching on PII fields like email or phone number. Hightouch only displays permitted fields in the dropdown when selecting a destination field to match records on.

For example, Attentive allows you to match users on several fields, including email, phone number, and various IDs.

Record matching in Hightouch UI

If there is a recommended field, Hightouch displays (recommended) next to the field name. For example, Salesforce recommends using an external ID field like External_ID__c for matching.

Record matching in Hightouch UI

Refer to the record matching section of each destination doc for more information.

External IDs

Some destinations, for example, Facebook Conversions API and Salesforce, use the concept of external IDs. External IDs refer to unique identifiers from another system "external" to the destination platform. This allows the platform to maintain its own primary unique identifiers while enabling associations with data from other platforms.

Each platform may have different specifications for fields used as external IDs. For example, Salesforce requires External ID type fields to be the explicit External ID type in Salesforce, not just an external ID field by practice. Ensure that any destination field you select for record matching complies to the platform's specifications.

Model column selection

When selecting which model column to use, you need to consider more than the destination requirements.

Since the column you select is used to identify which records to update, it's imperative to choose a column with unique values. For that reason, the model column you choose is often the same as the primary key column you select for your model. Though the model's primary key can be used for record matching, this isn't mandatory.

For example, you may have email and user_id fields in your model. Which you choose for record matching depends on:

  • Which fields in your destination are available and expected for matching
  • Which field is guaranteed to be unique

If both fields are accepted by the destination for matching, you should choose the one which you are more confident is strictly unique.

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.

Last updated: Apr 17, 2023

On this page

Destination field selectionExternal IDsModel column selection

Was this page helpful?