Hi there, I am glad that this post came in your search results and you are willing to learn data cloud. This is going to be a Crash Course with a Live Project where the goal is unify siloed customer data from two companies into a single customer profile, then use that profile inside Salesforce and derive business insights such as lifetime bookings and lifetime value.
Scenario & Architecture (What we’re building)
- Company A (Right Swift Rental): Customer + Vehicle Booking data (private server / separate org)
- Company B (Adventure Cloud): Contact + Adventure Booking data (Salesforce org)
- Target: Build a unified Individual in Data Cloud, link both companies’ bookings to it, and power insights + CRM experiences.
Think of Data Cloud as a puzzle table: it gathers pieces from many sources (streams, lakes, models) to create one picture of the customer. Key terms we’ll use: Data Stream, Data Lake Object (DLO), Data Model Object (DMO).
Prerequisites
- Access to Salesforce Data Cloud.
- Source connections for both datasets (Right Swift and Adventure Cloud).
- Basic familiarity with DLO/DMO and the Data Explorer UI.
Step 1: Create Data Streams (ingest source data)
-
Connect the two source environments in Data Cloud.
-
Create streams for:
- Contact (Adventure/Go Adventure)
- Customer (Right Swift)
- Vehicle Booking (Right Swift)
Why this matters: Streams are your pipes they bring raw records into the lake for modeling and unification.
Step 2: Map Data Lake Objects (DLOs) to the Data Model
Contact mapping- Map to Individual.
- Link related Contact Point Email and Contact Point Phone.
- Ensure a stable key (for example, Contact ID) is mapped.
- Consolidate fields from Customer (and any related Contact data) into the Individual view for a common customer representation.
Vehicle Booking mapping
- No standard Salesforce entity? Create a custom DMO for Vehicle Booking directly from the DLO interface and map all booking fields.
Why this matters: DLO --> DMO mapping standardizes raw data into a business-ready model (Individuals, Bookings, etc.).
Step 3: Define Relationships & Cardinality
- Create a relationship from Vehicle Booking DMO --> Individual DMO using Customer ID (or your chosen person key).
- Set cardinality to many-to-one (one person can have many bookings).
Why this matters: Accurate relationships enable rollups and downstream insights without duplication.
Step 4: Validate Ingestion & Modeling in Data Explorer
- Open Data Explorer on the Individual.
- Spot-check a few people records to confirm linked Contact and Customer information is appearing together.
- Expect to see possible duplicates (same person in both systems).
Step 5: Configure Identity Resolution (merge duplicates)
-
Create a new Identity Resolution Rule Set with Individual as the primary DMO.
-
Add match rules:
- Fuzzy Name (handles minor spelling differences)
- Normalized Email using Contact Point Email Address as the unique value.
-
Run the rule set and review merge groups (e.g., duplicate "John Peter" records with same email).
Outcome: Records collapse into a single Unified Individual (you’ll see a unified customer ID in the explorer).
Step 6: Surface Unified Data in Salesforce (related list)
- On the Contact record page, add a Vehicle Booking related list sourced from Data Cloud.
- Include useful fields (vehicle name/number/type, amount, start/end dates).
- Add a filter to show historical data beyond the default 7-day window.
Why this matters: Sellers and service users can see full booking history for the contact — not just CRM-native data.
Step 7: Build Calculated Insights (metrics that matter)
Create two example insights over your unified model:
-
Lifetime Bookings — count of vehicle bookings per Unified Individual.
-
Lifetime Value — sum of booking amounts per Unified Individual.
Publish the insights and verify them against sample customers in the Data Explorer.
Pro tip: Because relationships are set to many-to-one, these aggregates roll up cleanly to the person level.
Step 8: Explore the Spend Profile by Customer
- Use Data Explorer (or your preferred lens) to view the spend profile by customer showing both lifetime bookings and lifetime value linked to the unified ID.
Step 9: Extend the Pattern
- Repeat the approach for Adventure Booking (Adventure Cloud).
- Connect the stream, map a DMO if needed, relate it to Individual, and fold it into the same identity resolution + insights.
- Primary keys matter: Ensure Contact ID / Customer ID mappings are correct, or relationships and identity resolution will misfire.
- Identity rules: Start conservative (email + fuzzy name), then iterate; over-aggressive matches can wrongly merge households.
- CRM related list filter: Change the default 7-day filter or you’ll think your data is missing.
- Custom vs. standard DMOs: When no standard entity fits (like Vehicle Booking), create a clean custom DMO from the DLO for clarity and future reuse.
Wrap-Up
🎁 Giveaway & Next Steps
I wrapped up the crash course with a **giveaway**! 🎉
👉 Check the video description for entry rules and form details.
Stay tuned for upcoming videos in this playlist where I’ll cover:
- Advanced Identity Resolution strategies
- Real-time Data Actions
- More complex Calculated Insights
Thanks for joining this crash course! If you found it useful, don’t forget to share it with your Salesforce community and leave your thoughts in the comments.
Checkout Complete Video Below

0 Comments