Every team was deciding from a different slice of customer reality — ordering from one dashboard, marketing from another, ops from a spreadsheet. We rolled out Segment end-to-end: a governed event tracking plan, one identity model, clean destinations. The customer record became a shared asset — not a negotiation.
Every team had its own view of the customer — and no two agreed. Ordering events didn't reach marketing; CRM profiles didn't match the app; ops ran on spreadsheet exports from last week.
The ask wasn't "add more dashboards." The ask was to end the negotiation over which number was real — and do it without freezing the product team.
Same customer, three IDs, no stable join key.
Naming, properties, timing — all decided per feature, never reconciled.
Marketing ran on yesterday's CSV, not today's signal.
Before a single event fired through Segment, we wrote the tracking plan — with the teams that actually use the data. Names, properties, types, when they fire, what they mean. The plan became the contract.
Then the plumbing: Segment sources on every surface, a governed identity resolution layer, destinations wired to the tools each team already runs.
Marketing, product, ops — in the same room, before a line of code.
Deterministic joins where possible; stable anonymous IDs where not.
Activation inside the stack the teams already operate — no retraining tax.