XDM Schema Architecture for Customer Journey Analytics: A Working Procedure

Customer Journey Analytics can only answer questions your schema allows it to ask. This guide is the working procedure for designing that schema: choosing classes, structuring field groups, mapping Adobe Analytics variables into XDM, configuring identity, and wiring the result into CJA data views. It is the build companion to our XDM glossary definition - the glossary tells you what XDM is, this tells you what to do.

Read this before data flows. Every decision below is cheap on a whiteboard and expensive after ingestion, because datasets conform to schemas and CJA reads datasets - rework means re-ingestion.

What is XDM schema architecture?

XDM schema architecture is the set of design decisions that determine how your data is structured in Adobe Experience Platform before Customer Journey Analytics reads it: which class each dataset uses, which field groups carry which fields, how identities are declared, and how the resulting datasets combine into a CJA connection and surface in data views. The Experience Data Model (XDM) is Adobe's schema standard for the platform; architecture is how you apply it to your business.

The order of operations matters, and it runs opposite to Adobe Analytics habit:

  1. Business questions first - list what analysis must be possible.
  2. Schema design - classes, field groups, identity fields that make those answers expressible.
  3. Ingestion - Web SDK, Analytics source connector, or batch sources, mapped to the schema.
  4. CJA connection - datasets combined under a shared identity.
  5. Data views - business-named dimensions and metrics on top.

Adobe Analytics let you collect first and assign meaning later through processing rules and classifications. The platform reverses that: meaning is declared in the schema before collection. A field you never modeled is a question you cannot answer.

Which XDM class should each dataset use?

Use the XDM ExperienceEvent class for anything that happens at a point in time, and the XDM Individual Profile class for anything that is known about a person independent of time. Nearly all CJA analysis runs on ExperienceEvent datasets; profile datasets enrich them.

Decision testClassExamplesCJA role
"It happened at a timestamp"XDM ExperienceEventPage view, product view, order, call-center interaction, email clickThe event datasets your connection is built on
"It is true about a person right now"XDM Individual ProfileCRM attributes, loyalty tier, subscription statusLookup/profile datasets that enrich events
"It describes a thing, not a person"Custom class or lookup schemaProduct catalog, store list, campaign metadataLookup datasets joined on a key