---
title: Experience Data Model
slug: havas-poc/experience-data-model
docTags: 
createdAt: 2024-01-09T14:55:39.782Z
---

## Defining our 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.

## Creating a Schema for CRM Data

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.**&#x20;How would we model that in XDM?**&#x57;e 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.&#x20;

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.&#x20;

### Step 1.1: Choose a Class

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:

1. Go to the Adobe Experience Platform [Homepage](https://experience.adobe.com/#/@adobeamericaspot4/sname\:sandbox20/platform/home)
2. &#x20;Click on **Schemas** in the menu on the left side of your screen.
3. Click the button to **+ Create Schema** in the top right corner of your screen.
4. In the popup select **Manual**.
5. Selec&#x74;**&#x20;Individual Profile.&#x20;**
6. Click **Next**.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/eOKWGgpz0Zx0rH0snHt37_image.png "Schemas: Choose a Class")

1. Name your Schema **`[`*****`Your Name`*****`] - Profile Schema for CRM Data`**.
2. Select **Finish**.

### Step 1.2: Create Field Groups

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:

1. Click **+Add&#x20;**&#x69;n the field group section under Composition.
2. To start, add the following **Adobe defined** field groups to your schema:
   - Loyalty Details
   - Demographic Details
3. Add the (pre-created) **Customer defined&#x20;**&#x66;ield group:
   - Profile Core v2

Your schema definition should now look like this:

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/Pr17wt_P3M0-hOPVMc-iQ_image.png)

### Step 1. 3: Choose Identities

When building real time customer profiles with Experience Platform, another key component of are identities. Identities are what link together data from different datasets. 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 data.

1. On your schema tree, expand the node **\_demopotemea.&#x20;**&#x20;
2. 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:

1. Select the `crmId` field and in the right hand menu scroll down and check the **Identity** box.
2. Then check the **Primary&#x20;**&#x69;dentity box.
3. Now we have to assign an identity namespace. Select **Demo System - CRM ID&#x20;**&#x66;rom the drop down list.
4. Click **Apply.**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/ZyBGS9WJtZbGnJUjg9FmO_image.png)

Now we need to do the same for our secondary identity, email address.

1. &#x20;Select the `email` field and in the right hand menu scroll down and check the **Identity&#x20;**&#x62;ox. Note: leave the primary identity box unchecked.
2. Assign an identity namespace. Select **Email** from the drop down list.
3. Click **Apply**.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/dKk7MBN0lQ124lWymH1Ia_image.png)

Now you can **Save&#x20;**&#x79;our schema.

:::hint{type="success"}
You have successfully created a Schema to represent your CRM data!
:::

To summarise Schema composition:

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/CbMsZl0iZdOJLDPIo_Zjq_image.png)

