You can also navigate to the Braze
documentation
to view any additional Regions they may add. In their table, they refer to
this region as "REST ENDPOINT", you would just need to remove the prefix
starting with https://rest.
To find the API key, navigate to Developer Console > API Settings and create a API key.
Records can be matched from your source to your Braze workspace by your Braze External User ID in the Upsert mode. In the Update mode, Hightouch also allows you to match records based on Braze ID or a user alias object.
You can sync columns from your source to Braze's default and custom fields. If a custom field is sent that does not exist, it will be added and its type will be automatically detected.
You can manage your custom fields in Manage App Group > Custom Attributes.
Braze pricing is based on data points, which will count the number of updates you (and Hightouch) makes to user properties. With this in mind:
For records that enter the query results, Hightouch will update all the mapped properties with the value from your query results.
For records that are already in the query results, but are changed, Hightouch will first get the user properties from Braze, calculate which columns actually changed, then only send the changes for those columns.
Braze supports user attributes containing JSON objects or object arrays (Braze docs). This is commonly used to support "entities" related to each user (devices, medications, pets, etc.), especially when marketing communication needs to directly include metadata about these related entities.
Hightouch is a great tool to sync to these types of attributes, as you can simply leverage your data warehouse to manage these associations. All you'll need to do is build the full JSON object into a single column within your Hightouch data model. Modeling these attributes into JSON could be done directly in your warehouse (with something like dbt), or you could use SQL functions (appropriate for your DWH technology) and build these objects within the SQL statement in Hightouch that builds the model.
Let's say you want a nested object array of a customer's pets to be an attribute in Braze. You would need a data model with a column named pets, and would then build the full JSON pets object array to populate that column. This array might looks something like this:
Hightouch allows you to choose whether to create users that don't exist. For example, if you are tracking an event associated to user A, if user A does not exist in Braze, we can either choose to create the user, or ignore the event.
Hightouch allows you to choose the event name, user ID and event timestamp for a track event. Tracking purchases does not require an event name. If you are creating users that don't exist, you can only match based on external ID, otherwise you can match based on Braze ID and user alias object.
Hightouch accepts a normal date time format for the timestamp, and
automatically convert it to the format that Braze requires.
The user that is authenticated into Braze will need these permissions set in the Braze UI in order to interact with the API within Hightouch. These two attributes are:
users.track
users.export.ids
Need help?
Our team is relentlessly focused on your success. We're ready to jump on a call to help unblock you.
Connection issues with your data warehouse?
Confusing API responses from destination systems?
Unsupported destination objects or modes?
Help with complex SQL queries?
or
Feature Requests?
If you see something that's missing from our app, let us know and we'll work with you to build it!
We want to hear your suggestions for new sources, destinations, and other features that would help you activate your data.