In Hightouch, Mapping refers to the establishment of a one-to-one relationship between a column or field in your model and a record's property or field in a destination. Depending on your sync's destination, you can map your data with either the basic mapper, which does column-based mapping, or the advanced mapper, which gives the additional options of mapping with static values, with variables, or with Liquid templating.
With the basic mapper, you tell Hightouch which columns in your source should get fed into which fields in your destination. In column mapping, it's expected that every row has different values for each column.
Click 'suggest mappings' to auto-complete a column-based mapping based on column and field titles. Auto-completion works by searching for matching and near matching column and field titles. You should confirm that the auto-completion has made the correct selections:
For destinations where the Advanced Mapper is enabled, you have the additional capability to create mappings that include a static value, a sync-based variable value, or complex values using the Liquid templating language. We're in the process of rolling out our Advanced Mapper to all existing destinations, and any new destinations will automatically be released with this new capability. Please let our CS team know if there's a specific destination or use case that is a high priority for you to leverage this.
With static mapping, you can specify a constant value to include in the mapping. Select 'static value', the value's data type, and enter the value in the field provided. Click 'apply'.
In this example, We're mapping the string 'EMEA' to the 'region' field in our destination. 'EMEA' will be inserted into every record's 'region' field:
With variable mapping, you can include a variable with meta-data about your sync and send it to a field in your destination. Select 'variable value', the variable you would like to include, and click 'apply':
In this example, We're mapping the current time to the 'Time sent' field in our destination. An ISO timestamp (YYYY-MM-DD) will be inserted into every record's 'Time sent' field:
With template mapping, you can create more complex mappings using our library of Liquid-inspired functions as well as standard functions of the Liquid templating language. Please visit Liquid's documentation for more information on usage.
Select 'template', then select a variable and a function. The function's code will automatically appear in the editor window:
In this example, We're checking if a row's last_name column includes the string "Stark". If it does, the row is processed. If it doesn't, the row is rejected.
The template mapper can also implement all of Liquid's regular functionality (see the Liquid Reference), beyond the Liquid-inspired functions we have provided for you in the UI.
Variables follow this format:
{{ row['company']}}
The double-handlebars enclose a Liquid snippet that is generating output. The name of the column should go in between the single quotes inside the square brackets (akin to array field notation).
Functions follow this format:
{{ row['last_name'] | includes : 'Stark' }}
A single pipe comes after the variable, then the name of the function and any necessary parameters. See the Liquid Reference or Liquid Cheatsheet for a full list of available functions.
All of the model's column names will have a corresponding variable. You also have access to a variable for the name of the model and the timestamp for the sync's run:
The Template Mapper is especially useful in situations where your chosen destination requires that your data be sent in a very specific format and you don't want to 'bake' this specificity into your model.
Webflow requires slugs to not have any special characters. Use regex_replace to remove them.
Enable lead routing in your destination using Liquid conditionals without touching your central dbt model.
Validate emails for Mailchimp.
Ready to get started?
Jump right in or a book a demo. Your first destination is always free.