Experience Data Model
The Experience Data Model (XDM) is Adobe's 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 the XDM system. The XDM System is the infrastructure that supports real-time customer profiles, machine learning, and Customer Journey Analytics in Adobe Experience Platform.
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.
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 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?We must consider who they are and what they're doing.
Experience data can be classified into two distinct categories:
- Record
- Time series
Record data collects attributes about a subject, typically an individual person, like name, address, loyalty program status.
Time series data, describes what this subject did, with context around it.
It’s best practice to define schemas for every combination of channel, primary identifier and type of data collected. In this example, we will be onboarding loyalty data from our CRM system to give the marketeers a view of loyalty status.
A class imparts the basic concept of what schema describes. In this case, a person. Classes describe the smallest number of common properties that all schemas based on that class will need. Since we are creating a schema to describe CRM data, we will select the XDM Individual Profile class, since our schema will describe attributes of a person.
Build a schema and select a class:
- Click on Schemas in the menu on the left side of your screen.
- Click the button to + Create Schema in the top right corner of your screen, and select XDM Individual Profile.
- Click Next.
- Name your Schema [Your Name] - Profile Schema for CRM Data.
- Select Finish.
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 member status and demographic details for the name and address.
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.
To add field groups to your schema:
- Click +Add in the field group section under Composition.
- To start, add the following Adobe defined field groups to your schema:
- Loyalty Details
- Demographic Details
- Add the Customer defined field group:
- Profile Core v2
Your Schema definition should now look like this:
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 the case of multiple data sources, schemas would need to share a common identity field and pass in a common value for those records to come together.
You can define Primary and Secondary Identifiers for your Schemas. A Primary Identifier is the most important one, as all collected data will be linked to this Identifier.
You will now ensure the Primary and Secondary identifiers are marked correctly for the CRM Loyalty data.
- On your schema tree, expand the node _adobeamericaspot4.
- You should see identification > core objects, also expand these.
These are all the identities used in our implementation. For our CRM data we want to choose the CRM ID as the primary Identity, and Email ID as a secondary identity:
- Select the crmId field and in the right hand menu scroll down and check the Identity box.
- Then check the Primary identity box.
- Now we have to assign an identity namespace. Select Demo System - CRM ID from the drop down list.
- Click Apply.
Now we need to do the same for our secondary identity, email address.
- Select the email field and in the right hand menu scroll down and check the Identity box. Note: leave the primary identity box unchecked.
- Assign an identity namespace. Select Email from the drop down list.
- Click Apply.
Now you can Save your schema.
You have successfully created a Schema to represent your CRM data!
To summarise Schema composition: