After Hightouch runs identity resolution (IDR) on your graph, Hightouch outputs tables into your warehouse so they can be used for any business need.
Your marketing team can use them for paid campaigns, your sales team for deduplicating outreach efforts, or data scientists for fraud dection.
The output of IDR can also helpful in constructing models or parent models in Hightouch.
Assuming you provide the following configuration:
Hightouch creates two output tables:
- A resolved table consisting of every row from your input models (
<your_output_table>_resolved
)
- This table has the columns:
ht_id
,model_pk
, andmodel
. Themodel_pk
is the primary key from your model and themodel
is the model slug - This table has a column for each identifier you have mapped in your project. If the model doesn't have a column for that identifier, the value is
null
- A resolved identities table consisting of all the rows of your profile models (
<your_output_table>_resolved_identities
)
- This table has a
ht_id
for each row as well as an array containing all the identifiers of that profile
Using the output tables
If you need to select just one identifier from a user profile, the resolved
output table provides every identifier for all users across all models, along with a HT_ID
that can be used to identify which identities should be merged together.
This table gives you full control over how you choose which identifier to use on an identity, for example:
- most frequent email
- most recent user id
- most recent device id
The resolved_identities
table collapses all the merged users into a single row with multiple identifiers in an array (for example ["kevin.tran@gmail.com", "kevin@hightouch.com"].)
This gives a unified view of all the user profiles and their associated identifiers.
Example: how you can use IDR lookup tables
You should leverage the output of IDR in your parent models that are used in Customer Studio.
Below is a small example to use a users table, and find the most frequent email for that user, after running the users model through IDR.
There are 3 steps:
- Create the parent model
- Create the related model
- Configure the Traits
In this example, there is a table called users
and the output table from IDR was accounts_activity
.
- Parent model
The parent model SQL is as follows:
SELECT users.*, idr.HT_ID
FROM HIGHTOUCH_PLANNER.accounts_activity_resolved AS idr
JOIN USERS AS users ON idr.PK = users.USER_ID;
The base table is the users
table and the generated Hightouch ID is joined in so it can be used later.
- Related model
The next step is to create a 1:many related model with resolved table and join it with the parent model on the Hightouch ID.
select * from HIGHTOUCH_PLANNER.accounts_activity_resolved
- The Traits
Each row in users
may have multiple emails in the IDR output table. Traits can be used to quickly aggregate which email to use for a campaign.
For example, you may want to create a trait that grabs the most frequent email detected in the IDR output table.
Alternatively, you can order the IDR table by timestamp and grab the most recent email detected in the IDR output table.