Transitioning to a new MarTech platform like Braze requires thoughtful planning and data flow design. You must think about everything from sourcing and aggregating multidimensional customer data, all of the way to setting up the required infrastructure that supports API and SDK data transmissions. We see it with many of our clients, some of those critical legacy data sources are sourced as flat files (think spreadsheet) which changes the whole way you look at the integration and adds complexity to the overall data ingestion strategy.
Not Your Father’s Upload
If you fall in this camp of needing to import CSV (“comma separated values,” for you non-nerds) files into your marketing tool, you’re in luck. Braze supports old school data files (i.e., CSVs) by merging legacy data file transfers with modern data movement methods utilizing API calls. In addition, the Braze CSV data import mechanism provides you the opportunity to automate the processing of large subsets of data via a partnership with Amazon Web Services (AWS) leveraging their Lambda function. This function “automagically” parses received CSV data files and converts them into the native API speak that imports client data into the user profiles within Braze.
But wait a minute. You may be thinking, “why can’t I just import the CSV files through the normal Braze user interface?” You can, however, this manual process can be extremely tedious and resource prohibitive when enormous amounts of data are involved.
Make Sure You’ve Got the Right Stuff
In order to implement this solution, there are few requirements to perform:
Client Managed File Transfer System: More often than not, organizations that rely on flat file data exports have a Managed File Transfer (MFT) system already in place. Systems like GoAnywhere MFT, Thru, and Cleo Integration Cloud are a few examples seen at our clients. These systems are key for automation since they dictate when and where data files are transferred for immediate data ingestion into Braze.
Braze API Key: The API key that will provide access to the user track endpoint on the target Braze application group.
Amazon S3 Storage Bucket: An S3 bucket / landing zone provides the necessary storage for data files and working area for the AWS (Amazon Web Services) Lambda function to perform the data processing.
Amazon Lambda: This is where the Braze serverless function is defined and configured to integrate with the target Braze application group.
Amazon Transfer Services: The AWS transfer service packages all the above and provides the SFTP service for the target AWS environment the MFT system can define on the client side.
How the (auto)Magic Happens
This Braze feature works extremely well and efficiently when automated through file transfer management systems capable of executing file transfers via schedules and triggers.
PRO TIP: It is also highly recommended, and a best practice, to finalize data files comprised of ONLY data updates (deltas) so not to waste Braze data points. (more on that another time)
The client data source lands a data file onto a location that the managed file transfer (MFT) system has access to.
Based on the data ingestion schedule and automation requirements, the MFT system picks up the file and transfers the file (via SFTP) to the target Amazon S3 bucket defined via the Amazon Transfer Service (ATS provides the hostname and secure connection to client’s MFT system).
When the data file lands in the S3 bucket, this triggers the Braze Lambda function to execute.
The Braze Lambda function reads the data file (processes the file headers: external_ids, custom attributes, and corresponding data values) and converts them into an API call that is transmitted to the target Braze app group.
The API call contains all the data to create or update the target user profiles within Braze since it references a customer’s external_id.