Nobody buys a CDP. They buy a promise — a single view of the customer, real-time everything, every downstream tool finally speaking the same language. Then the contract is signed, the connectors light up green, and eighteen months later someone in a QBR asks why the email platform thinks a customer is two different people. I have sat on both sides of that meeting.
A beautiful machine, a familiar problem.
Here is the uncomfortable part: the software was never the problem. Segment does what it says. Redshift holds what you give it. Braze sends to whoever you tell it to. The gap is always in the promises the organisation quietly declined to keep — the naming convention nobody enforced, the mobile team that ships events without telling anyone, the "temporary" user ID format from a 2021 migration that is still generating profiles today.
The 'Temporary' Fix
The Unconnected Pipe
The Forgotten Treaty
Schema v1
Identity resolution, specifically, is not a feature you configure. It is a governance habit you either practise or you do not. Every identifier that enters your stack is a small treaty between teams: this is what it means, this is who owns it, this is when it may change. The CDP just keeps score of how well you honour those treaties. When the score is bad, buying a different scorekeeper does not help.
The plumbing lessons from running Segment, Redshift and Braze as one system, in no particular order. Write your tracking plan before the event exists, and make the plan the contract — an event that is not in the plan does not ship. Treat anonymous-to-known identity stitching as a product with an owner, not a checkbox in a connector. Keep one table in Redshift that is the arbiter of who a customer is, and make everything downstream — including your warehouse-sync into Braze — read from it rather than deriving its own opinion.
01
The Blueprint
Tracking Plan
02
The Master Valve
Identity Stitching
03
The Central Reservoir
Source of Truth
The part that has changed recently: agents raised the stakes. When a human builds a segment, bad identity data produces a slightly wrong audience and a shrug. When an agent queries your warehouse and acts on the answer in real time — which is exactly what our MCP-based analytics setup does — bad identity data produces confident, automated, wrong actions at machine speed. Clean data used to be a quality goal. It is now a safety requirement.
Before: Human Analyst
“Hmm, this segment looks a bit off.”
After: AI Agent
CONFIDENT. AUTOMATED. WRONG.
So my advice, unfashionably, is to spend less time evaluating CDP vendors and more time writing down what your identifiers mean. The schema audit nobody wants to run will do more for your personalisation programme than any migration. A CDP is a promise. The product is the discipline of keeping it — and the discipline, inconveniently, is not available on a usage-based pricing tier.
The right tool
Discipline


