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 source rows to existing destination records.
To do this, Hightouch asks you to select the source column and destination field to match on.
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.
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.
Refer to the record matching section of each destination doc for more information.
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.
Source column selection
When selecting which source 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 source column you choose is often the same as the primary key column you select for your model.
For example, you may have
user_id fields in your source. Which you choose for record matching depends on:
- Which fields in the your destination are available and expected for matching
- Which 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.