How a data warehouse + Braze replaces the need for a separate customer data platform
The TL;DR
Most brands evaluating a CDP already have the data infrastructure to do what a CDP does.
The data is unified. The profiles exist. The warehouse is running.
What’s actually missing is an activation layer β a way for marketers to use that data in campaigns without filing a ticket to the data team every time.
That’s not a CDP problem. That’s a tooling and workflow problem. And buying a CDP doesn’t fix it.
What a CDP Actually Does
A CDP’s core functions are:
- Ingest data from multiple sources
- Unify and resolve customer identities
- Create a single customer view
- Make that view available for segmentation and activation
Here’s what we see all the time: brands already have the first three covered.
All data lands in the data warehouse. It handles transformation and enrichment. Their ETL pipelines are running. Identity is being managed.
What they don’t have is a marketer-accessible interface on top of that infrastructure. A place where the CRM team can build segments, launch journeys, and run experiments without going back to data engineering for 70β80% of their work.
That missing piece is an engagement platform β not another data layer.
A Standalone CDP Adds Complexity, Not Capability
When brands insert a CDP between their warehouse and their engagement platform, the architecture gets longer:
Data warehouse β CDP β Engagement platform
Each handoff introduces latency. Data inconsistency. A new platform to maintain, integrate, and pay for. A new vendor relationship to manage.
What we consistently see is that brands end up with three platforms doing overlapping jobs β and a data team fielding integration issues instead of building better models.
The simpler architecture is:
Data warehouse β Engagement platform
Fewer systems. Fewer handoffs. Fewer points of failure.
Modern engagement platforms like Braze connect directly to the most common warehouse platforms β Databricks, Snowflake, BigQuery, Redshift, Microsoft Fabric β via native Cloud Data Ingestion (CDI). Profiles, attributes, and computed fields sync on a scheduled batch basis. No middleware. No CDP in between.
The data team owns the warehouse. The marketing team owns Braze. The integration between them is direct and maintainable.
The Real Problem Is Activation, Not Unification
A pattern we see across brands is this:
The data team has built something genuinely impressive. There’s a clean customer model in the warehouse. Computed attributes β lifetime value, engagement scores, churn risk, purchase recency β have been modelled and are available.
But marketers can’t get to any of it.
To use a segment, they need to describe it to a data analyst, who writes SQL, runs it, exports a list, and uploads it into the campaign tool. That process takes days. Sometimes weeks. It runs on request queues and sprint cycles.
The result is a marketing program held back by a lack of access to the data they need, when they need it β not because the data isn’t there, but because the workflow between data and marketing is broken.
CDPs market themselves as the solution to this problem. And they can be, in the right context. But what we find in practice is that brands evaluating CDPs often don’t need a new data layer β they need better tooling that brings marketers closer to the data they already have.
Braze does this natively. Marketers build segments in a no-code visual builder using any combination of profile attributes, behavioural events, and time-based logic. No SQL. No tickets. No waiting.
When CDPs make sense for marketers
Itβs worth calling out that there are situations where a standalone CDP makes sense.
When identity resolution is especially complex.
Brands with large anonymous user populations, heavy cross-device journeys, or significant probabilistic matching requirements may find that a CDP’s native identity graph offers something a warehouse + deterministic matching can’t match easily.
For omni-channel campaigns across owned and paid channels.
Many martech platforms β Braze and Databricks included β have native integrations with advertising vendors like Meta. But CDPs offer a distinct advantage for one specific use case: activating anonymized audiences across paid channels.
The Braze/Meta integration works well when you already know who you’re targeting β lookalikes, retargeting, suppression. CDPs like TradeDesk and LiveRamp go further, making it easier to push first-party audience data into paid media at scale. For a true omnichannel play across owned and paid, a CDP can centralize data and make it accessible to both CRM and media buying teams.
That said, none of this applies to brands that already have a warehouse, a data team, and an established customer model. They don’t need more infrastructure. They need activation.
On Identity Resolution
The most common concern we hear is: “But what about identity resolution? Doesn’t the CDP handle that?”
In most B2C environments, deterministic identity resolution β matching anonymous behaviour to a known profile at the point of identification β covers the vast majority of use cases.
Braze handles this natively. The SDK creates anonymous profiles. When a user identifies (login, purchase, form submission), Braze merges the anonymous record into the known profile and backstitches prior behaviour. Multiple identifiers are supported natively: email, device ID, external ID, in-app identifiers.
For more complex cross-system deduplication, that work happens upstream in the warehouse β before data reaches Braze. This is actually the better approach. The matching rules are visible, auditable, and owned by the brand’s own team. Not locked inside a vendor’s black-box identity graph.
The Cost Reality
CDP licenses are not cheap. And they compound.
You pay for the CDP license. You pay for the integration work to connect it to your warehouse and your engagement platform. You pay for the ongoing maintenance when schemas change or pipelines break. You pay for someone to manage a third platform that your team also has to learn.
When we look at the total cost of ownership across a typical 3-year contract, the cost of a CDP is rarely just the license fee. It’s the integration overhead, the ongoing ops burden, and the organizational complexity of managing one more system that sits in the middle of your stack.
Redirecting that budget toward warehouse infrastructure and a best-in-class engagement platform delivers more activation capability at lower total cost. The data team gets better models. The marketing team gets direct access to segmentation. The integration between them is leaner and more maintainable.
This Isn’t Anti-CDP
In fact, weβre the opposite. Stitch started as a CDP implementation partner for marketers β but the martech landscape has rapidly evolved over the last few years, and in turn, so has our POV.
Today, we still implement Braze alongside CDPs regularly. When a brand’s architecture genuinely calls for one, we build it.
What we’re pushing back on is the assumption that a CDP is always part of the answer. In a lot of cases, the problem brands are trying to solve with a CDP is actually a workflow and tooling problem β one that a warehouse-native engagement platform already solves.
The question worth asking before buying a CDP is:
Do we need a new data layer β or do we need marketers to be able to actually use the data we already have?
In most cases we see, it’s the latter.