---
title: POC-DE2 - Schemas and Datasets
slug: cebu/poc-de2-schemas-and-datasets
docTags: 
createdAt: 2026-06-26T00:43:49.551Z
---

All Adobe Experience Platform applications (RTCDP, AJO and CJA) share a common data foundation.

This tutorial is designed to teach you about the architecture behind Adobe Experience Platform and the methods for ingested data into the Platform.  The components taught in this module are core to all Adobe Experience Platform applications.

It is designed for a technical audience (Data Architects and Engineers) but can be interesting also for marketers to understand. &#x20;

## Learning Objectives

- Learn how to create an XDM Schema in Adobe Experience Platform
- Learn how to label schemas for governance
- Learn how to create Datasets in Adobe Experience Platform
- Learn how to use an Adobe Experience Platform Workflow to ingest a CSV-file into Adobe Experience Platform
- Learn how to query data that has been ingested into Adobe Experience Platform using Query Service

## Create an Individual Profile schema

Navigate to **Data Managment ->** **Schemas** from the left rail.  You’ll see the list of available Schemas.&#x20;

To create a new schema, click on the button **Create schema** button on the top right

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

Select to create a **Standard&#x20;**&#x73;chema.&#x20;

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

Select to create a schema **Manually.**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/H6vyZ4N7xSIxmFKdV-46b_image.png)

Select **Individual Profile** and click **Next**

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

Name your schema using the following pattern: `[your name] - HOL - Customer Schema`

Replace **\[your name]** with your own. As an example: **`olivia - HOL - Customer schema `**

You can give your schema a description if you wish, then click **finish** to create the schema.

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

### Add field groups

Click on **+ Add** next to **Field groups** to add field groups to your schema.

![](https://api.archbee.com/api/optimize/6iBmbe6wggbgADMY4vAvt-KVlZY3taBUHuzENNMBBtH-20250812-143918.png)

You can create new field groups to match your company requirements but Adobe also provides many out of the box field groups to save yourself some time. For this exercise we'll use some of these to store:

- Personal Contact Details (Contact Information)
- Consent and Preference Details (Other Information)
- Demographic Details (PII information)
- \[Profile] Core (v1.0) (Identity fields)

Search for these field groups and add them to your schema, once you've checked all 4 click **Add field groups** in the top right:

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

You can now see your updated schema, clicking on each field group will highlight the fields that have been added by that field group. Click on **Save** in the top right to save the changes to your schema.

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

Click on **Save** in the top right to save the changes to your schema.

### Set Identity Fields

Now we need define which fields in our schema will store the values used to identify our customers. Click on the **\[Profile] Core (v1.0)&#x20;**&#x66;ield group. First notice that this field group top level object is **\_demoapac** this is the Adobe Experience Platform tenant name, all custom fields and custom field groups will live under a tenant name branch to differentiate them from Adobe provided default schema fields.

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

Expand the object to see the fields below it. You'll find in here a number of identity fields. We need to do three things:

1. Flag them as ID fields to be ingested into the Identity Service
2. Define which ID will be **Primary** for the schema. There can be only 1 primary id, and this field is mandatory for all data using the schema.

Since this is a Customer Schema, we're going to define the **crmid** as the primary id, since it will always be present on the crm data. Click on the crmId field and scroll to the bottom of the field properties on the right hand side. Tick the **Identity** checkbox, tick the **Primary Identity** checkbox and set Demo System - CRMID as the **Identity Namespace.** Then click **Apply.**

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

In most cases our schemas will contain more than one identity field, this is how we start to build relationships within our Identity Graph (more on this to be covered later).   Select the **Email&#x20;**&#x66;ield and set it's Identity Namespace to **Email.  &#x20;**&#x20;Then clic&#x6B;**&#x20;Apply.&#x20;**

Click **Save** in the top right to save your new schema.

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

:::hint{type="success"}
**Congratulations**

You've created your first schema - generally schemas will be enabled for profile to make the attributes available for the unified view and segmentation but since this is just a for demonstration purposes please leave this toggle OFF.&#x20;
:::

## Add Governance Labels

Schemas and schema attributes can have governance labels applied.  The labels identify the type of data expected within the schema or field and can be used to enforce data usage policies and access controls. &#x20;

Let's label the first and lastname fields in our new schema as fields which contain PII.   This will allow you to hide this data from certain users through access policies, or prevent these fields from being exported to external destinations through governance policies.&#x20;

From your schema, click to open the **Labels&#x20;**&#x74;ab.

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

Click to say you understand the impact for editing labels. &#x20;

::Image[]{src="https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/MxFH1VY3DIhhOvBSJPwvy_image.png" size="70" isUploading="false" width="666" height="522" darkWidth="666" darkHeight="522" showCaption="false"}

Search for **name,&#x20;**&#x74;hen select the **Name&#x20;**&#x61;ttribute.   Click to **Apply access and data governance labels.  &#x20;**&#x42;y selecting the parent object the label will apply to all fields within that object. &#x20;

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

There are a number of out of the box labels, or you can create your own custom labels.   Select the first label **I1&#x20;**&#x74;his flags the data as being directly identifiable information or **PII.  &#x20;**

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

Click to **Save**.   Your schema is now labelled.&#x20;

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

## Create a Dataset

Now that we have a schema created, we need to create a dataset for storying the data. &#x20;

1. Navigate to the **Data management** -> **Datasets** and click on the **Create dataset** button in the upper right hand corner

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

2. Click on the **Create dataset from schema** card

![](https://main--hol-mumbai-feb-rtcdp-rtcdp--adobe-hands-on-labs.aem.live/real-time-customer-profile/data-foundation/media_16ac32afb43a3f4d0875613c6f8cde1822eac3c2b.jpeg?width=750\&format=jpeg\&optimize=medium)

3. Select the option to **Create dataset from schema.** Select your schema created in the last exercise.   Click **Next** to continue.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/36T_5QV_zFLSbYLrI8yX-_image.png)

4. Name your dataset `[your name]  - Customer Dataset`. Click **Finish** to finish your dataset configuration

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

You'll now see this:

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

:::hint{type="success"}
**Congratulations&#x20;**

You've created your dataset for receiving Individual profile data.  As with schemas the dataset must be enabled for profile in order for the data to be added to the unified profile but we will leave this OFF for the exercise today. &#x20;
:::

## Additional Resources&#x20;

XDM is the standardised framework by which Experience Platform organises customer experience data, and all ingested data must conform to a pre-defined XDM schema.   Here are some additional resources on configuring your schemas and datasets.&#x20;

- **[XDM System Overview](https://experienceleague.adobe.com/en/docs/experience-platform/xdm/home)**
- **[Datasets Overview](https://experienceleague.adobe.com/en/docs/experience-platform/catalog/datasets/overview)**
- **[Basics of Schema Composition](https://experienceleague.adobe.com/en/docs/experience-platform/xdm/schema/composition)**

