Three islands, one customer
Loyalty, CRM and payments each did their job. The problem was that none of them knew about the others, so the same person existed three times with three histories — and the brand's view of that person was whichever system you happened to open.
The commercial consequence was that programme economics were a quarterly reconstruction. Someone exported three files, joined them by hand, and produced a number that nobody could reproduce a month later.
Why the integration was the easy half
Joining the systems was straightforward engineering. Agreeing what a member was, was not.
Marketing counted anyone enrolled. Finance counted anyone who had transacted. Operations counted anyone with an active card. Each definition was correct for its own purpose and produced a different programme ROI. Until those were reconciled — deliberately, in a room, with someone empowered to decide — any integrated number would simply have been a fourth version of the truth.
This is the pattern under most "our data is a mess" complaints. The data is usually fine. The definitions were never agreed.
The hard part
Giving marketing member-level insight without giving marketing a way to break the customer record. Read access is easy; the difficult design work is deciding which team owns each field, and what happens when two systems disagree about the same customer.
Getting that governance right is what makes the integration hold. Without it the islands reform within a year, just with better plumbing between them.
What transfers to other consumer brands
- If three teams define "member" differently, integration produces a fourth wrong number rather than one right one.
- Decide field ownership before building the sync, not after the first conflict.
- Marketing self-service is the return on the work — if every question still needs an engineering ticket, the integration has not paid for itself.
- Programme ROI is a definitions problem long before it is a reporting problem.