Schemas and Experience Data Model (XDM) overview

Last update: 2023-09-25
  • Topics:
  • Schemas
    View more on this topic
  • Created for:
  • Beginner

Experience Data Model (XDM) is the standard data model to describe customer experiences. When you use XDM to build schemas and ingest data adhering to these schemas, you can begin to use XDM system. XDM System is the infrastructure that supports real-time customer profiles, machine learning, and Customer Journey Analytics in Adobe Experience Platform. For more information, please visit the schemas documentation.


I’m going to give you an overview of an important concept in Adobe Experience Platform called Experience Data Model, or XDM, the data model for describing customer experiences. When you use XDM to build schemas and ingest data adhering to these schemas, you can begin to use the XDM System. XDM System represents the broader application of XDM throughout the platform ecosystem, supporting customer journey analysis, data science and marketing activation use cases.

Experience Platform implementations begin by laying this XDM foundation. You compose schemas that describe your company’s data in a structured, reusable way. Once you’ve defined the structure of your data, you can stream or batch that data into datasets. Then, you can use that data to generate insights with downstream platform services. And, to activate customer profiles across marketing channels with intelligent decisioning and segmentation. Schemas are created by data architects, but they’re fundamental to the workflows of almost every experienced platform user. So schemas are a crucial foundation of experience platform. Let’s dive into the different components that go into schemas to help you better understand their composition. Let’s start with a really simple modeling exercise. What is an experience? In a business to consumer context, it’s basically just somebody doing something. How would we model that in XDM? Let’s cut a word and essentialize it even a little further. Putting my elementary school grammar hat on, there are two main components here, a noun and a verb, who they are and what they’re doing. Experience data can be classified into two distinct categories, record and time series. Record data collects attributes about a subject, typically an individual person. In our example, you can think of record attributes as adjectives for our noun, like name, address, loyalty program status.

The other type of experience data is time series data, which you can think of as being related to our verb describing what this subject did with context around it. To build schemas for these two types of data, our first step is to add a class. For this example, we’ll use our two most common standard classes XDM Individual Profile class for individual attributes and XDM ExperienceEvent for the actions.

If we want to get fancy, we can use another class for additional product details, which would be of record type because it’s for attributes of that subject. In that case, a product. A class imparts the basic concept of what schema describes. In this case, a person, an event and a product. Classes describe the smallest number of common properties that all schemas based on that class will need. For example, all ExperienceEvents will need a timestamp field for when an event occurred.

Next, we need to add the additional fields to our schemas. This is done with field groups. Field groups are reusable components of structured fields, organized around concepts. So in our example, we would use the loyalty details field group for the gold member status and demographic details for the name and address. For our experience event schema, the web SDK field group could collect a lot of the standard web fields and commerce details could capture the order details. Field groups are reusable, so by using the same commerce details field group in a schema for in-store purchases would ensure we’re ingesting those order details with the same field definitions and structure as our web transactions, allowing marketers to easily create segments independent of the purchase method. Experience platform includes many standard classes and field groups that cover common industry use cases. You can also define your own classes and field groups to represent data for your particular business needs. When building real time customer profiles with Experience Platform, another key component of are identities. Identities are what link together data from different data sets. In our example, both a profile and ExperienceEvent of schema would need to share a common identity field and pass in a common value for those records to come together. The product schema would also need to share a common field and value with the ExperienceEvent schema for that record to connect. Typically the product SKU. Understanding your business use cases and building solid schemas with the right identity fields is critical. But once this foundation is in place, it will help ensure high integrity data and platform, providing insights into the customer’s activities and preferences. As marketers, data scientists and analysts, we can move beyond simply identifying the customer to understanding the environment in which they operate and how it may have influenced their actions. We can also explore similarities between subjects and express those similarities as segments. So that’s a quick overview of an Experience data model in the XDM system. Thanks for watching. -

On this page