Connecting Batch to Hightouch
Modern data architectures demand seamless integration between storage, processing, and actionable platforms. Connecting Batch to your Data Warehouse enables a unified, efficient, and scalable approach to leveraging customer data for engagement.
Hightouch is an excellent tool to send your data to Batch and works great with Snowflake, BigQuery, Redshift, Databricks, ClickHouse, and many more.
By doing so, you ensure keeping your Data Warehouse as the Single Source of Truth, you have complete control over your data update frequency and you can leverage huge data volumes.
Step-by-step guide
In this tutorial, we will send user data to Batch’s Profile API.
We will be sending attributes and events to each of your users profiles using the native Batch destination.
1. Create your data source in your Data Warehouse
The first step is to organize your data in order to have a table storing your user data, transformed and ready to be sent to Batch. NB : Views will work as well.
In our example, we will want to have a table with one row per user.
We will call it hightouch_batch_profile_base
in this example.
We recommend you use a dedicated database and schema to store the data destined to be sent via Reverse ETL.
2. Connect Hightouch with your Data Warehouse
Make sure Hightouch has access to your Data Warehouse, see this Hightouch basics tutorial.
3. Create a model in Hightouch
Creating a model is basically telling Hightouch where to go fetch the data in your Warehouse.
We will call it batch_profile_base
in this example.
A model could be made with a more complex query but we recommend you keep your complex logic in your Data Warehouse, with your usual transformations methods.
4. Create your Batch Destination in Hightouch
This is where you will configure the access to your Batch Project.
You will need API Keys available in your Batch Dashboard > Settings.
In Hightouch, create a Batch Destination and enter the required information, which you can find in your Batch dashboard under Settings → General.
Once this is done, deal with your internal permissions and your Batch Destination is ready!
5. Create your Sync in Hightouch
Syncs declare how you want your data to appear in Batch and on what frequency you want updates. This is the section where you will have to make choices.
Add Sync > Select your model > Select your destination
Here comes the mapping configuration :
You can send various types of data from Hightouch to Batch :
Attributes :
You can include multiple attributes—both native and custom—in a single sync to Batch.
⚠️ Important: Destination field names must be in lowercase. Using uppercase letters will cause errors and prevent the data from being processed correctly.
Events :
A single sync allows you to send one event along with multiple associated event attributes.
⚠️ Important: Destination field names must be in lowercase. Using uppercase letters will cause errors and prevent the data from being processed correctly.
Custom Audience (currently supported only for MEP) :
Each sync allows you to create or update one audience, including associated attributes.
⚠️ Important: Destination field names must be in lowercase. Using uppercase letters will cause errors and prevent the data from being processed correctly.
6. Test & Deploy
We recommend you test your sync with Hightouch testing module. The API Response should guide you through debugging if needed.
Once your test is successful, schedule your sync, deploy it and enjoy having your profile base completely up to date on Batch.
You can use Batch’s Profile View to verify that the customer data has reached its destination, on the basis of a customer ID: How to find a user's profile on the dashboard?
You’re now ready to use your data to send personalised and engaging messages to your audience 🎉