XDM schemas and field groups
Purpose: Understand the structure of data sent via Web SDK.
Who this page is for
| Audience | Why it matters to you |
|---|---|
| Implementation engineers | You will use this to map your data |
| Architects | Understand data standardization |
XDM schemas and field groups
Web SDK uses XDM (Experience Data Model), Adobe's standardized schema for all data across Experience Platform.
What is XDM?
XDM is a JSON schema that defines what fields you can send and their types.
{
"eventType": "web.webpagedetails.pageViews",
"web": {
"webPageDetails": {
"name": "Product Page",
"pageViews": { "value": 1 }
}
},
"device": {
"type": "mobile"
},
"commerce": {
"productViews": { "value": 1 }
}
}
Common field groups
You don't need to memorize all fields. These are the most common:
Web
xdm.web.webPageDetails.name
xdm.web.webPageDetails.URL
xdm.web.webReferrer.URL
Device
xdm.device.type (desktop, mobile, tablet)
xdm.device.model
xdm.device.manufacturer
Commerce
xdm.commerce.productViews
xdm.commerce.order.priceTotal
xdm.commerce.order.currencyCode
Event
xdm.eventType (e.g., "commerce.purchase")
xdm.timestamp
Custom fields
xdm._YOUR_ORG_ID.customField1
xdm._YOUR_ORG_ID.customField2
Mapping to Analytics
In your datastream, you map XDM fields to Analytics variables:
| XDM Field | Analytics Variable |
|---|---|
| web.webPageDetails.name | prop1, eVar0 |
| device.type | Custom traffic prop |
| commerce.order.priceTotal | Revenue variable |
The mapping is configured in the Adobe Experience Platform, not in code.
Example: tracking a form submission
You want to send: form completed, form type, form time.
In XDM:
{
"eventType": "form.submission",
"web": {
"webPageDetails": {
"name": "Complaint Form"
}
},
"_YOUR_ORG_ID": {
"formType": "complaint",
"formCompletionTime": 120
}
}
In the datastream, map:
_YOUR_ORG_ID.formType→ Analytics eVar2_YOUR_ORG_ID.formCompletionTime→ Analytics eVar3- Add event (e.g., event5) when eventType = "form.submission"
---
Next: Datastreams and environments