Data is the part of a Braze build that decides everything after it. Get the imports right and segmentation, personalization, and triggers all fall into place. Get them wrong and you spend the next quarter explaining why a campaign fired for the wrong people.
The good news is that most of the ways data gets into Braze are things a marketing ops person can own without waiting on a developer. Here are the six paths, what each one is actually good for, and where teams tend to trip.
Import Data into Braze through one of the following six ways:
- Software Development Kits (SDKs)
- APIs (Application Programming Interface)
- Cloud Data Ingestion (CDI)
- Data Transformation
- CSV file imports
- Third-party integrations
Software Development Kits (SDKs)
The SDK is where most Braze implementations start. Your product or engineering team installs a package of code in your app or website, and from then on Braze collects behavior automatically. Sessions, screen views, purchases, custom events you define. The SDK is also what makes push notifications, in-app messages, Content Cards, and Banners possible, so it isn’t optional if those channels are in your plan. See Braze’s guide to SDK data collection.
Here’s where the trouble starts. Someone in leadership says “collect everything.” Six weeks later you have 140 event names, four of which anyone uses.
Before you hand engineering a list, answer one question: what campaigns are we launching in the first 90 days, and what data do those campaigns need? Build the foundation for that. You can always add events later. Cleaning up a bloated event taxonomy is much harder than growing a small one.
APIs
Braze’s REST API moves data both directions. The two most common jobs we see are loading historical data during a migration and creating or deleting user profiles from a system of record.
Watch the rate limits before you design anything that runs at volume. Limits vary by endpoint, and a nightly batch that looked fine in testing can throttle in production once real record counts show up. If you want ideas before you build, Braze publishes a set of API use cases.
One newer wrinkle worth knowing: Braze now exposes an MCP server, so AI tools can query your Braze data through the same access model. It doesn’t replace the API, but it changes what “ask a question about our data” looks like.
Cloud Data Ingestion (CDI)
Cloud Data Ingestion (CDI) connects your warehouse or cloud storage straight to Braze on a schedule. No code.
As of now CDI supports Snowflake, Amazon Redshift, Google BigQuery, Databricks, and Microsoft Fabric for warehouse syncs, plus Amazon S3, Google Cloud Storage, and Azure Blob Storage for file-based syncs in JSON, CSV, or Parquet. Each sync only picks up rows that changed since the last run, which keeps things fast.
Three details that matter in planning:
- Syncs run as often as every 15 minutes. If your use case needs faster than that, you want the API, not CDI.
- You can force a run outside the schedule with the trigger a sync endpoint. Handy when your warehouse load finishes at an unpredictable hour.
- If you’d rather not copy data into Braze at all, connected sources query your warehouse directly and build segments from what’s there. Zero copy. The tradeoff is that the query cost lands on your warehouse bill, not Braze’s.
That last option is the one most teams don’t know exists, and it’s often the right answer for a large customer table you don’t want to duplicate.
Data Transformation
Data Transformation gives you a Braze URL that accepts a webhook from almost any platform, then lets you reshape the payload with JavaScript before it hits /users/track or /catalogs. Every run is logged, so you can see what came in and what Braze did with it.
Not a JavaScript person? In the code editor you can choose Code with Operator and have BrazeAI draft the transformation for you from a real webhook payload. Review what it writes, because you still own the result, but it takes the blank-page problem away.
This is the path to consider when you’re drowning in one-off API integrations. A webhook plus a transformation is usually less to maintain than a custom script someone wrote and then left the company.
CSV file imports
Best for one-time loads and small fixes. Upload a file in the dashboard to set standard or custom attributes. Braze provides a CSV import template, and the full rules live in import users.
Always include the External ID. It’s the unique identifier Braze uses to match a record, and it’s what the SDK ties to a profile. Skip it and you’ll create duplicates you have to merge later.
Watch for the moment a manual upload stops being occasional. If someone on your team is dropping the same file into Braze every Monday, that isn’t a CSV use case anymore, it’s an unautomated pipeline with a person standing in the middle of it. Mismatched columns and missed uploads are what you get eventually.
That’s the gap our SFTP Importer for Braze fills. Point it at a secure SFTP folder, map your fields to Braze attributes or event properties once, and the same file lands on a schedule with every run logged. No custom script for anyone to maintain, and no one waiting on the upload before a campaign can go out.
If you’re doing recurring uploads by hand today, read how the SFTP Importer works or ask us for a free trial.
Third-Party Integrations
If none of the above fits, check the Braze technology partner catalog, also known as Braze Alloys. A few that come up often in our projects:
- ActionIQ for mapping audience segments and sending tracked events
- Dynamics 365 Customer Insights for pushing segments into campaigns and Canvases
- Treasure Data for syncing profiles used in Braze segments
- GrowthLoop for building lists in the warehouse and sending them over
- Looker for Blocks and Actions tied to segmentation
- Zapier for lightweight pushes between apps
- Movable Ink for content personalization
- Twilio Segment for sending Braze data to Currents and using Segment audiences
How to pick
A rough rule from our implementations: SDK for behavior, API for real time, CDI for anything that already lives in the warehouse, Data Transformation for webhook sources, CSV for one-offs, partners for the gaps. Most teams end up running three or four of these at once, and that’s fine as long as someone can say which system owns which field.
That last part is the real work. Pick an owner for every attribute before you build the pipes.
Want a second opinion on your import design, or help choosing between CDI and the API for a specific use case? Talk to us. We do this on Braze projects every week.
Revised September 19, 2026. Originally published September 16, 2024. Updated for Braze’s current documentation structure, the current Cloud Data Ingestion warehouse and file storage options, connected sources, and current BrazeAI feature names.
![]()
