Case study
Unified Governance Across 3,000+ Retail Touchpoints
One customer view across 3,000+ stores, 12 APAC markets, and three Salesforce clouds. Without homogenising the markets that pay for it.
The problem
A global retail network running on three Salesforce clouds and twelve regional implementations had no single customer record. Marketing fired on 30 to 40 percent of available data. Store associates couldn't see online history. Each APAC market had drifted from the global model, and Agentforce was on the roadmap with no foundation to land on.
What I did
Salesforce Data Cloud became the customer data layer for all three clouds plus commerce. A multi-attribute identity graph collapsed 3M+ duplicates. Marketing, Experience, and Service were rebuilt on the unified profile. A governance framework and APAC harmonisation process stopped the regional drift at the source.
At a glance
- Client
- L'Occitane
- Sector
- Luxury · Retail
- Engagement
- 8 months
- My role
- Lead Solution Architect, Data Cloud and Multi-Cloud Integration
- Salesforce clouds
- Sales Cloud · Service Cloud · Marketing Cloud · Data Cloud · Experience Cloud
- Outcome
- 12 markets harmonized
Before / After
- Three customer identities per person across Sales, Service, and Marketing Cloud.
- 30 to 40 percent of customer attributes available to marketing campaigns.
- 24-48 hour data latency between clouds, brittle nightly batch jobs.
- 12 APAC markets running diverged data models, no canonical dictionary.
- No foundation ready for Agentforce, Customer 360, or real-time activation.
- One unified profile per customer, in-store and online combined.
- 2.5x more complete attributes available, near-real-time.
- Data Cloud as the single source of truth, Marketing and Service activated from it.
- Canonical data model with regional autonomy preserved by design.
- Foundation ready for Agentforce, with three pilots greenlit on the same data layer.
Situation
L’Occitane operates a luxury retail network of more than 3,000 stores across 90+ countries, with three Salesforce clouds wired in behind it. Sales Cloud held wholesale accounts, Service Cloud handled support across regions, Marketing Cloud powered loyalty and CRM. Each had grown into its own shape over a decade of acquisitions, regional buildouts, and platform decisions that were locally correct at the time.
The visible consequence was three identities for the same person. A customer who bought in-store in Paris, ordered online in Tokyo, and contacted support in New York existed as three unconnected records, with different IDs, partial histories, and no shared context. Marketing campaigns were built on 30 to 40 percent of the available customer data. Store associates couldn’t see online purchase history. Service agents resolved cases without knowing the customer’s product portfolio.
Across 12 APAC markets the picture was tighter and more painful. Regional Salesforce implementations had diverged from the global architecture. Each market had developed its own integration patterns, field customisations, and data model. The result was a multi-cloud estate that was technically connected and operationally fragmented.
Challenge
The clouds talked to each other. The customer record didn’t. Sales Cloud keyed on account ID, Service Cloud on case contact, Marketing Cloud on email. No systematic identity resolution sat between them, so any “single view” was assembled by hand for each report.
Integration was nightly batch and point-to-point. Marketing Cloud synced from Sales Cloud overnight. Service Cloud pushed cases to Sales Cloud via a custom REST API. Commerce sat outside the Salesforce estate entirely. Latency ran 24 to 48 hours, every dependency was a place a future outage could start, and no surface could activate on what a customer did this morning.
The data model carried years of inconsistency on top. Field naming differed across clouds. “Customer” was modelled three different ways. There was no canonical data dictionary, no owner per entity, and no change-control process. For the Agentforce programme already on the executive roadmap, that foundation was insufficient. Intelligent agents need a complete, current, unified customer view. They can’t reason on fragments separated by a 24-hour batch window.
What I told the steering committee in week threeThe agents will land. The hard problem isn’t the agent. It’s that the customer record they’re meant to act on doesn’t exist yet.
Action
The architectural call was to make Salesforce Data Cloud the customer data layer for the whole estate, rather than build another integration between clouds. Data Cloud would ingest from Sales, Service, Marketing, and the commerce platform, resolve identities, hold the canonical model, and activate back to every surface from a single source.
Ingestion layer
Streams from Sales, Service, and Marketing Cloud plus the e-commerce platform via MuleSoft. Transactional events ran high-frequency; historical batches stayed daily. Source-system reconciliation ran on every ingest.
Identity resolution
Multi-attribute matching with a clear hierarchy: email, phone, loyalty ID for deterministic matching; behavioural clustering for anonymous web profiles. Collapsed 3M+ duplicate records into a unified identity graph.
Calculated Insights
Lifetime value combining in-store, online, and wholesale. Churn risk from engagement decay and support frequency. Product affinity by category. NPS trajectory linked to behavioural signals. Computed once, available to every activation.
With the data foundation in place, activation was rebuilt across three surfaces. Marketing Cloud reconnected to Data Cloud for real-time segmentation; segments shifted from 24-hour-old contact lists to live unified profiles. Experience Cloud powered a new store-associate mobile app, putting a Customer 360 view at the point of sale. Service Cloud gained Data Cloud context cards, surfacing purchase history and product ownership directly inside case management.
The governance layer was what made it stick across markets. A canonical data dictionary defined every shared entity, named owners, set change-control rules. Quality dashboards measured completeness, accuracy, and freshness per cloud. For the 12 APAC markets, a harmonisation process aligned regional customisations to the global model, set up regional data stewards, and installed drift monitoring so divergence would show up in days, not at the next migration.
Result
The estate now operates on one customer record across 3,000+ touchpoints, in-store and digital combined. Identity resolution reduced duplication by 85 percent and produced a single customer graph that every activation works from.
Marketing felt it first. With 2.5x more complete data and near-real-time segmentation, targeted campaigns lifted conversion by 40 percent in the first two quarters. Segment build time dropped from hours to minutes; the team stopped batching weekly waves and started shipping daily.
Store associates adopted the Customer 360 app fast. Associates with full customer history closed 15 percent more incremental sales through relevant recommendations. Service case resolution dropped 25 percent as agents stopped escalating to find context that was now sitting on the case page.
The Agentforce programme that depended on this foundation arrived on schedule. Three pilots launched on the unified profile, with complete history, real-time activation, and the same governance the rest of the estate runs on. The customer record is the constraint Agentforce always exposes, and L’Occitane crossed it before the agents went live, not after.
Reflection
This pattern works when there are three or more clouds sharing a customer entity, when activation latency matters, and when leadership accepts that the foundation has to land before the next layer ships. It is the right call when an Agentforce or Customer 360 programme is already on the roadmap, because the data layer is the binding constraint either way.
It works less well when the org has only one cloud and one market live. The canonical model still helps, but the cost of Data Cloud relative to the benefit at that scale is harder to justify until a second market or a second cloud is imminent.
Worth doing earlier: the governance layer. Markets diverge fastest in the first 18 months after a regional rollout. Canonical dictionary, named owners, and quality monitoring at month three save the harmonisation engagement at month thirty.
Glossary
- Canonical data model
- A single agreed shape for each core entity (Customer, Account, Product, Interaction). Every source system maps to it; the model is the source of truth, not the systems.
- Identity resolution
- The process of collapsing multiple source records that describe the same real-world entity into one unified profile. Uses deterministic matching (email, phone, loyalty ID) and probabilistic clustering for anonymous web behaviour.
- Data Cloud
- Salesforce's customer data platform. Ingests from Sales, Service, Marketing, and external systems; resolves identities; emits Unified Profiles other clouds activate against.
- Calculated Insights
- Derived attributes computed inside Data Cloud (lifetime value, churn risk, product affinity). Available to every activation surface without each one reimplementing the maths.
Frequently asked
- Three clouds with three nightly batch jobs is already the legacy state. Adding a fourth integration would not solve identity. Data Cloud is the only Salesforce-native option that resolves customer identity, holds the canonical model, and activates back to the clouds in near-real-time. It also positions the data layer for Agentforce, which cannot operate on fragmented or stale data.
- The canonical model governs the entities every market shares (Customer, Interaction, Account, Product). Markets keep their own implementations of regional concepts (loyalty programmes, local segments, compliance flags) as extensions, not overrides. Governance polices the shared layer; markets own everything that sits above it.
- Two things. A canonical data dictionary with named owners, change control, and quarterly review. And data-quality monitoring that catches drift inside 24 hours by tracking completeness, accuracy, and field-mapping conformance per market. Drift becomes a metric a steering committee can act on, not a discovery during the next migration.
- Yes, and it is cheaper to do it before the second market launches than after. The cost of canonicalising one market is small; the cost of harmonising five markets that diverged for two years is most of the engagement.
- Unified profiles must be complete, current, and resolved. Calculated Insights must cover the attributes the agent reasons over. Activation latency must be sub-minute, not nightly. Once those three hold, Agentforce can run prompts that reference the customer's actual state rather than a snapshot from yesterday.
Read next
Book the call
We'll know in 30 minutes
whether I can help.
No slides. No pitch deck. Bring the architecture diagram or describe the problem in your own words. I'll tell you whether I'm the right fit and what the next step costs — before you've finished your coffee.
- Replies within 24 hours, always
- If I'm not the right fit, I'll point you at someone who is
- No follow-up emails unless you ask