Guest data model
This topic defines the Sitecore CDP standard data model for the following entities:
You can only upload identified guests which are guests that have the "customer" guest type.
insert mode is not supported. Use upsert or migration instead.
When you create a batch file, ensure that you include all required attributes in addition to any attributes from the following table:
|
Attribute |
Description |
Type |
Example(s) |
Insert |
Upsert |
Migration |
|---|---|---|---|---|---|---|
|
|
The first seen date for the guest. |
ISO 8601 Date/Time UTC |
|
Not supported |
Optional |
Optional |
|
|
The last time the guest interacted with your brand. |
ISO 8601 Date/Time UTC |
|
Not supported |
Optional |
Optional |
|
|
A required Sitecore CDP attribute that represents the level of identity obtained. This must be set to |
string (lowercase) |
|
Not supported |
Optional |
Optional |
|
|
The title of the guest. |
string (title case) |
|
Not supported |
Optional |
Optional |
|
|
The first name of the guest. |
string (title case) |
|
Not supported |
Optional |
Optional |
|
|
The last name of the guest. |
string (recommend title case) |
|
Not supported |
Optional |
Optional |
|
|
The gender of the guest. |
string (lowercase) |
|
Not supported |
Optional |
Optional |
|
|
The date of birth of the guest. |
ISO 8601 Date/Time UTC Validation: Date must be in the past. Date must not include milliseconds. |
|
Not supported |
Optional |
Optional |
|
|
The email address of the guest. |
string (recommend lowercase) |
Not supported |
Optional |
Optional | |
|
|
The phone numbers of the guest. |
JSON array of strings |
|
Not supported |
Optional |
Optional |
|
|
The preferred language of the guest. |
string (2 letter ISO 639 language code) |
|
Not supported |
Optional |
Optional |
|
|
The nationality of the guest. |
string (title case) |
|
Not supported |
Optional |
Optional |
|
|
The passport number of the guest. |
string (uppercase) |
|
Not supported |
Optional |
Optional |
|
|
The expiry date of the guest's passport. |
string yyyy-MM-ddTHH:mmZ |
|
Not supported |
Optional |
Not supported |
|
|
The street address of the guest. |
JSON array of strings (title case) |
|
Not supported |
Optional |
Optional |
|
|
The guest's city. |
string (title case) |
|
Not supported |
Optional |
Optional |
|
|
The guest's country. |
string (2 letter ISO 3166-1 Alpha-2 country code) |
|
Not supported |
Optional |
Optional (Uppercase) |
|
|
The guest's postcode. |
string (uppercase) |
|
Not supported |
Optional |
Optional |
|
|
The guest's state. |
string (title case) |
|
Not supported |
Optional |
Optional |
|
|
A list of identifiers for the guest. |
JSON array of JSON objects |
|
Not supported |
Optional |
Optional |
|
|
A list of extensions associated with the guest. You must set the value for |
JSON array of JSON objects |
|
Not supported |
Optional |
Optional |
When using upsert mode, all the fields in the guest data model are optional. However, you can only upload guests who are identified, which are guests that have the "customer" guest type.
{
"ref":"9d94ee11-7043-4b71-980c-a777d00a7b46",
"schema":"guest",
"mode":"upsert",
"value":{
"guestType":"customer",
"firstSeen":"2025-03-07T16:15:11.000Z",
"lastSeen":"2025-08-23T16:17:16.000Z",
"identifiers":[
{
"provider":"SITECORE_IDENTITY_SYSTEM",
"id":"B7524AE6-CF1C-440F-B1A2-0C9D42F5CB41",
"expiryDate":"2025-08-23T16:17:16.000Z"
}
],
"extensions":[
{
"name":"ext",
"key":"default",
"loyaltytier":"level2",
"rewardBalance":"50125",
"memberSince":"2020-10-08T00:00",
"loyaltyNumber":"123456789"
}
]
}
}