DLO vs DMO, explained

Data Lake Objects hold ingested data as it arrives. Data Model Objects give it a shared shape. Here is how they fit together.

Type
Article
Topic
Data Cloud
Reading time
4 min
Updated
Author
GeekMidst Team
Reviewed by
Site owner
Banner for the GeekMidst article “DLO vs DMO, explained”, covering Data Lake Objects and Data Model Objects

Data in Salesforce Data Cloud moves through layers. Understanding the difference between Data Lake Objects (DLOs) and Data Model Objects (DMOs) is the foundation for everything that comes after — identity resolution, insights, segments and activation.

Diagram showing source systems feeding data streams into source-shaped Data Lake Objects, which are mapped to Customer 360 Data Model Objects used by identity resolution, insights and segments
Data streams land source-shaped data in DLOs; mapping turns it into canonical DMOs, and only DMOs feed identity resolution, insights and segmentation. View full size

Data Lake Objects

When a data stream ingests data, it lands in a DLO. A DLO keeps the structure of the source: field names, types and grain. Think of it as a staged copy of what the source system sent.

Data Model Objects

DMOs are the harmonised, canonical shape of your data based on the Customer 360 Data Model — objects such as Individual, Contact Point Email or Sales Order. You map DLO fields to DMO fields. Several sources can map into the same DMO, which is what makes unification possible.

Why the distinction matters

  • Identity resolution, calculated insights and segmentation operate on DMOs, not DLOs.
  • Mapping decisions determine which records can be matched and how profiles are built.
  • Getting the grain wrong (for example, mapping order lines to an order-level object) produces misleading insights later.

Data stream categories

When you create a data stream you choose a category, typically Profile, Engagement or Other. The category tells Data Cloud how to treat the data:

  • Profile data describes people or accounts — names, contact points, attributes.
  • Engagement data describes events over time — orders, web visits, email opens. Engagement streams need an event date field, which Data Cloud uses for time-based processing.
  • Other covers reference data such as product catalogues or store lists.

Choose carefully: the category is set when the stream is created and is not easy to change later. A DMO also takes its category from the data mapped into it, so a poor choice at the stream level can follow you into the model.

Each data stream also needs a primary key. If the source has no natural unique key, create one (for example in a formula field or upstream) rather than relying on fields that can repeat.

At a glance

DLODMO
ShapeMirrors the sourceCanonical data model
Created byData streams / transformsStandard model or custom objects
Used forStaging and transformationIdentity resolution, insights, segments
Typical mistakeIngesting unneeded fieldsMapping at the wrong grain

Worked example: an ecommerce order feed

Illustrative example. Suppose your commerce platform sends a daily file with one row per order line: order number, line number, SKU, quantity, price, customer email and order date.

  • The data stream lands this in a DLO at order-line grain. The primary key is the combination of order number and line number, not order number alone.
  • The order-level fields (order number, order date, customer) map to Sales Order, and the line-level fields map to Sales Order Product. Mapping everything to Sales Order would create one "order" per line and inflate order counts.
  • The customer email does not belong on the order object as a loose field. It should link to the person through the Individual and Contact Point Email objects so identity resolution can use it.

Before mapping, confirm the exact standard objects and fields available in your org, because the standard data model is extended over time.

Common mistakes

  • Treating the DLO as the reporting layer. DLOs are useful for checking what arrived, but the business logic — profiles, insights, segments — lives on DMOs.
  • Creating custom DMOs too early. Check the standard model first. Standard objects come with relationships that identity resolution and other features expect.
  • Skipping relationships. Mapping fields without defining how DMOs relate (for example, how a sales order links to an individual) leaves segments unable to join the data.
  • Mapping every field "just in case". Unused fields add noise and make the model harder to maintain. Map what answers a real question.
  • Ignoring data types. A date stored as text in the source needs converting before or during mapping, or time-based logic will not work as expected.

Frequently asked questions

Can one DLO map to several DMOs?
Yes. A single DLO's fields can be mapped to more than one DMO, which is common when a source row holds both person and transaction details.
Can several DLOs map to the same DMO?
Yes, and that is how data from different sources is brought together into one canonical object.
Do I need data transforms?
Not always. Use them when a source needs cleaning, joining or reshaping that mapping alone cannot do. Check Salesforce Help for the current options for batch and streaming transforms.
Where do unified profiles come from?
Identity resolution runs on mapped DMOs and produces unified objects. Its results depend directly on how well identifiers were mapped.

Modelling checklist

  1. List every source and the business questions it must answer.
  2. Decide the grain of each source before mapping.
  3. Map identifiers (email, phone, external IDs) carefully — they drive identity resolution.
  4. Use data transforms when a source needs cleaning or reshaping before mapping.
  5. Validate counts at each layer after the first full ingestion.

Need help designing this? See our Data Cloud consulting service.

Tell us what you are trying to fix.

Share your Salesforce setup, goals and constraints. A practitioner reads every message and replies with questions, first thoughts or an honest view of whether you need outside help at all.

Talk to a Salesforce Expert
Book a Consultation