Create data types

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

This video shows how to create your own data types in Adobe Experience Platform for use in Experience Data Model (XDM) schemas. For more information, please visit the schemas documentation.


In this video, I’m going to show you how to create your own data types for use in Adobe Experience Platform Schemas. As you probably know, all data ingested into platform must adhere to the Experience Data Model or XDM schemas. And this slide illustrates the component parts of these schemas. A data type is a collection of fields. But wait, a Field Group is also a collection of fields and can include data types. Help! First of all, I want to point out that creating data types is not something anyone that has to do to build their data model and platform but you might find them convenient and want to use them. Let’s open up the platform interface and look at the out of the box data types. You’ll see, there are pages of data types that Adobe provides out of the box. Let’s take a look at a straightforward one like postal address. It contains a lot of fields we’d expect, like street, state, country and postal code plus many others which maybe you weren’t expecting, but realize, “hey this is pretty well thought through.” As you know, field groups are only compatible with specific classes. Data types, however, are abstracted and can be used with any base class. And this would be the use case for creating a new data type. Create a data type when you’ve required custom fields which you’ll need to use in schemas of multiple classes. Using a data type will allow you to lock down the properties of those fields into a single entity which will help ensure data integrity. Now let’s create a new data type. Our sample brand Luma, has various system identifiers that they use in their data model. For example, their CRM system ID and their Loyalty system ID. These IDs get used in multiple schemas spanning XDM Individual Profile class-based schemas and XDM Experience Event based schemas. Because these are such critical values, they want to lock down the field definitions so they’re populated consistently across the various datasets. They’ll do this with a data type. In addition to using their API, there are two ways to create data types in the interface. One way is to go to schemas data types and click, create data type. Give it a display name and a description and then start adding the fields along with any restrictions.

After saving the data type, it will appear on your list of available data types and you can come back to it and edit it later. Although once the data type is being used to ingest data you won’t be able to make breaking edits like removing fields or adding the new restrictions. Then your new data type will appear in the Schema Editor in the type dropdown when you go to add new fields to classes or field groups. Now I’ll show you the second way to create a data type. Imagine you’re creating a custom field group in an XDM Individual Profile based schema and you’ve spent time creating a bunch of fields and then you realize, "hey these fields are awesome "and I want to use them and the experience Events schema too. "Why didn’t I build them into a data type first? “Now I have to rebuild everything.” Okay, don’t panic. What you can do is select the fields. Hopefully they’re nicely contained in an object and click this magical convert to data type button and now you have those same fields in a data type. And of course, like everything in platform you can create and manage data types with the API as well. So good luck creating your own data types. -

On this page