To set up identity resolution rules, you must first configure your input models. Then, you can define match rules.
This page goes through model configuration steps.
Hightouch supports two types of models:
- Profile models
- Event models
Profile models represent a User, for example users, contacts, or people. When configuring your profile models, you need to select a column to sort
the models table. This column could be a date, for example
created_at, or an id like
Event models are for timestamp ordered events, for example transactions or clicks.
You may use as many models as required in your identity graph, and depending on your use case, you may need a combination of profile and event models.
For example, you may use a users table, a Salesforce contacts table, a transactions table of events and a table of "identify" events.
You'll notice that both model types require you to select a column to determine the ordering of rows in the model.
For profile models, the order by column is used when you have limit rules configured.
For example, if you configure a limit rule to prevent merging more than 10 different
user_id identifiers into a single record, the order of your profile model is used to determine which 10 users are merged.
This is, the first 10 users are merged and the subsequent users aren't.
Event models are similar, but the order column is also used for incremental processing. Hightouch will only pull in new events on subsequent runs to prevent re-processing rows that have already been processed. This significantly improves performance of the identity resolution process and reduces cost on your warehouse.
After you select your model, you need to configure which identifiers are present on this model. You can choose from some defaults, or you can create your own by typing anything into the identifier text box.
You must map the identifier to a column in one or more models to use it in a merge or limit rule.
The order in which you sequence your models may be important. For example, if you have a limit rule that prevents more than 3 users merging together, Hightouch merges the first two users based on the sequence provided here. More users won't merge in to the same record.
If you don't have any limit rules, then the sequence doesn't have any impact on your identity graph.
Models are ordered via the model sequence and rows ordered within models based on the model order by column.
Hightouch imposes a "total ordering" on all rows in the identity resolution process by using the model order, then the order by column within each model.
Based on the data and limit rules you configure, rows of higher priority models may merge together while rows of lower priority models may not be.