XDM object variable mapping to Adobe Analytics

The following table shows the XDM variables that the Adobe Experience Platform Edge Network automatically maps into Adobe Analytics. If you use these XDM field paths, no additional configuration is necessary to send data to Adobe Analytics. These fields are included in the Adobe Analytics ExperienceEvent Template field group. Use of these fields are recommended if you intend to send data to both Adobe Analytics and Adobe Experience Platform.

If your organization plans to move to Customer Journey Analytics, Adobe recommends instead using the data object to send data directly to Adobe Analytics without conforming to a schema. This strategy allows your organization to use your own schema, instead of using the Adobe Analytics ExperienceEvent Template (which is less applicable to Customer Journey Analytics). See Data object variable mapping to Adobe Analytics for a similar mapping table.

Value priorities

Most XDM object fields in this table coincide with a data object field. If you set both a given XDM object field and its respective data object field, the data object field takes priority. If you use both the XDM object field and the data object field, Adobe recommends setting custom events using the data object field. If the field data.__adobe.analytics.events is present, it overwrites all XDM object fields related commerce and custom events.

XDM object field mapping

Previous updates to this table can be found on this page’s commit history on GitHub.

XDM field path
Analytics variable and description
xdm.application.isClose
Helps define the mobile lifecycle metric Crashes.
xdm.application.isInstall
Helps determine when to increase the mobile lifecycle metric First Launches.
xdm.application.closeType
Determines if a close event is a crash or not. Valid values include close (A lifecycle session ends and a pause event was received for the previous session) and unknown (A lifecycle session ends without a pause event). Helps set the mobile lifecycle metric Crashes metric.
xdm.application.isInstall
The mobile lifecycle metric Installs.
xdm.application.isLaunch
The mobile lifecycle metric Launches.
xdm.application.name
Helps set the mobile lifecycle dimension App ID.
xdm.application.isUpgrade
The mobile lifecycle metric Upgrades.
xdm.application.version
Helps set the mobile lifecycle dimension App ID.
xdm.application.sessionLength
The mobile lifecycle metric Previous Session Length.
xdm.commerce.checkouts.id
Applies event serialization to the Checkouts metric.
xdm.commerce.checkouts.value
Increments the Checkouts metric by the desired amount.
xdm.commerce.order.currencyCode
Sets the currencyCode configuration variable.
xdm.commerce.order.purchaseID
Sets the purchaseID page variable.
xdm.commerce.order.payments[0].transactionID
Sets the transactionID page variable.
xdm.commerce.productListAdds.id
Applies event serialization to the Cart Additions metric.
xdm.commerce.productListAdds.value
Increments the Cart Additions metric.
xdm.commerce.productListOpens.id
Applies event serialization to the Carts metric.
xdm.commerce.productListOpens.value
Increments the Carts metric.
xdm.commerce.productListRemovals.id
Applies event serialization to the Cart Removals metric.
xdm.commerce.productListRemovals.value
Increments the Cart Removals metric.
xdm.commerce.productListViews.id
Applies event serialization to the Cart Views metric.
xdm.commerce.productListViews.value
Increments the Cart Views metric.
xdm.commerce.productViews.id
Applies event serialization to the Product Views metric.
xdm.commerce.productViews.value
Increments the Product Views metric.
xdm.commerce.purchases.value
Increments the Orders metric.
xdm.device.model
The mobile lifecycle dimension Device Name.
xdm.device.colorDepth
Helps set the Color Depth dimension.
xdm.device.screenHeight
Helps set the Monitor Resolution dimension.
xdm.device.screenWidth
Helps set the Monitor Resolution dimension.
xdm.device.type
The mobile device type.
xdm.environment.browserDetails.acceptLanguage
Helps set the Language dimension.
xdm.environment.browserDetails.cookiesEnabled
Sets the Cookie Support dimension. Valid values include Y (the browser accepts cookies) and N (the browser rejects cookies).
xdm.environment.browserDetails.javaEnabled
Sets the Java enabled dimension. Valid values include Y (Java is enabled) and N (Java is disabled).
xdm.environment.browserDetails.userAgent
Used as a fallback unique visitor identification method. Typically populated using the User-Agent HTTP request header. You can map this field to an eVar if you would like to use it in reports.
xdm.environment.browserDetails.viewportHeight
Sets the Browser Height dimension.
xdm.environment.browserDetails.viewportWidth
Sets the Browser Width dimension.
xdm.environment.carrier
The mobile lifecycle dimension Carrier Name.
xdm.environment.connectionType
Helps set the Connection type dimension.
xdm.environment.ipV4
Used as a fallback unique visitor identification method. Typically populated using the X-Forwarded-For HTTP header.
xdm.environment.language
The mobile dimension Locale.
xdm.environment.operatingSystem
The mobile lifecycle dimension Operating System.
xdm.environment.operatingSystemVersion
Helps set the mobile lifecycle dimension Operating System Version.
xdm._experience.analytics.customDimensions.
eVars.eVar1
[...]
xdm._experience.analytics.customDimensions.
eVars.eVar250
Sets the respective eVar dimension.
xdm._experience.analytics.customDimensions.
hierarchies.hier1
[...]
xdm._experience.analytics.customDImensions.
hierarchies.hier5
Sets the respective Hierarchy dimension.
xdm._experience.analytics.customDimensions.
listProps.prop1.delimiter
[...]
xdm._experience.analytics.customDimensions.
listProps.prop75.delimiter
List prop delimiter override. Using this field is not recommended, as the delimiter is automatically retrieved from Traffic variable admin under report suite settings. Using this field can create a mismatch between the delimiter used and the delimiter that Analytics expects.
xdm._experience.analytics.customDimensions.
listProps.prop1.values
[...]
xdm._experience.analytics.customDimensions.
listProps.prop75.values
A string array containing the respective List Prop values.
xdm._experience.analytics.customDimensions.
lists.list1.list[].value
[...]
xdm._experience.analytics.customDimensions.
lists.list3.list[].value
Concatenates all value strings in each respective list[] array to its respective List variable. Delimiter is automatically chosen based on the value set in Report suite settings.
xdm._experience.analytics.customDimensions.
props.prop1
[...]
xdm._experience.analytics.customDimensions.
props.prop75
Sets the respective Prop dimension.
xdm._experience.analytics.event1to100.
event1.id
[...]
xdm._experience.analytics.event901to1000.
event1000.id
Applies event serialization to the respective Custom events metric. Each event ID resides in its 100-group parent. For example, to apply serialization to event678, use xdm._experience.analytics.event601to700.event678.id.
xdm._experience.analytics.event1to100.
event1.value
[...]
xdm._experience.analytics.event901to1000.
event1000.value
Increments the respective Custom events metric by the desired amount. Each event resides in its 100-group parent. For example, the field for event567 is xdm._experience.analytics.event501to600.event567.value.
xdm.identityMap.ECID[0].id
The Adobe Experience Cloud Identity Service ID.
xdm.marketing.trackingCode
Sets the Tracking Code dimension.
xdm.media.mediaTimed.completes.value
The streaming media metric Content Complete.
xdm.media.mediaTimed.dropBeforeStart.value
c.a.media.view, c.a.media.timePlayed, c.a.media.play
xdm.media.mediaTimed.federated.value
The streaming media metric Federated Data.
xdm.media.mediaTimed.firstQuartiles.value
The streaming media metric Twenty-five % Progress Marker.
xdm.media.mediaTimed.mediaSegmentView.value
The streaming media metric Content Segment Views.
xdm.media.mediaTimed.midpoints.value
The streaming media metric Fifty % Progress Marker.
xdm.media.mediaTimed.pauseTime.value
The streaming media metric Total Pause Duration.
xdm.media.mediaTimed.pauses.value
The streaming media metric Pause Events.
xdm.media.mediaTimed.primaryAssetReference.
@id
The streaming media dimension Asset ID.
xdm.media.mediaTimed.primaryAssetReference.
dc:title
The streaming media dimension Video Name.
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Creator[N].iptc4xmpExt:Name
The streaming media dimension Originator.
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Episode.iptc4xmpExt:Number
The streaming media dimension Episode.
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Genre
The streaming media dimension Genre.
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Rating[N].iptc4xmpExt:RatingValue
The streaming media dimension Content Rating.
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Season.iptc4xmpExt:Number
The streaming media dimension Season.
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Series.iptc4xmpExt:Identifier
The streaming media dimension Content ID.
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Series.iptc4xmpExt:Name
The streaming media dimension Show.
xdm.media.mediaTimed.primaryAssetReference.
showType
The streaming media dimension Show Type.
xdm.media.mediaTimed.primaryAssetReference.
xmpDM:duration
The streaming media dimension Video Length.
xdm.media.mediaTimed.primaryAssetViewDetails.
@id
The streaming media dimension Media Session ID.
xdm.media.mediaTimed.primaryAssetViewDetails.
broadcastChannel
The streaming media dimension Content Channel.
xdm.media.mediaTimed.primaryAssetViewDetails.
broadcastContentType
The streaming media dimension Content Type.
xdm.media.mediaTimed.primaryAssetViewDetails.
broadcastNetwork
The streaming media dimension Network.
xdm.media.mediaTimed.primaryAssetViewDetails.
mediaSegmentView.value
The streaming media dimension Content Segment.
xdm.media.mediaTimed.primaryAssetViewDetails.
playerName
The streaming media dimension Content Player Name.
xdm.media.mediaTimed.primaryAssetViewDetails.
playerSDKVersion.version
The streaming media dimension SDK Version.
xdm.media.mediaTimed.primaryAssetViewDetails.
sourceFeed
The streaming media dimension Media Feed Type.
xdm.media.mediaTimed.primaryAssetViewDetails.
streamFormat
The streaming media dimension Stream Format.
xdm.media.mediaTimed.progress10.value
The streaming media metric Ten % Progress Marker.
xdm.media.mediaTimed.progress95.value
The streaming media metric Ninety-five % Progress Marker.
xdm.media.mediaTimed.resumes.value
The streaming media metric Content Resumes.
xdm.media.mediaTimed.starts.value
The streaming media metric Media Starts.
xdm.media.mediaTimed.thirdQuartiles.value
The streaming media metric Seventy-five % Progress Marker.
xdm.media.mediaTimed.timePlayed.value
The streaming media metric Content Time Spent.
xdm.media.mediaTimed.totalTimePlayed.value
The streaming media metric Media Time Spent.
xdm.placeContext.geo._schema.latitude
The visitor’s latitude location. Helps set Mobile lifecycle location dimensions.
xdm.placeContext.geo._schema.longitude
The visitor’s longitude location. Helps set Mobile lifecycle location dimensions.
xdm.placeContext.geo.postalCode
The Zip Code dimension.
xdm.placeContext.geo.stateProvince
The US States dimension.
xdm.placeContext.localTime
Appears as t_time_info in Data feeds.
xdm.productListItems[]._experience.analytics.
customDimensions.eVars.eVar1
[...]
xdm.productListItems[]._experience.analytics.
customDimensions.eVars.eVar250
Applies product syntax merchandising to eVars.
xdm.productListItems[]._experience.analytics.
event1to100.event1.value
[...]
xdm.productListItems[]._experience.analytics.
event901-1000.event1000.value
Applies product syntax merchandising to events.
xdm.productListItems[].productCategories[].categoryID
The Category dimension. See also the products page variable.
xdm.productListItems[].name
The Product dimension. See also the products page variable. If xdm.productListItems[].SKU and xdm.productListItems[].name both contain data, the value in xdm.productListItems[].SKU is used.
xdm.productListItems[].priceTotal
Helps determine the Revenue metric. See also the products page variable.
xdm.productListItems[].quantity
Helps determine the Units metric. See also the products page variable.
xdm.productListItems[].SKU
The Product dimension. See also the products page variable. If xdm.productListItems[].SKU and xdm.productListItems[].name both contain data, the value in xdm.productListItems[].SKU is used.
xdm.web.webInteraction.URL
The linkURL implementation variable.
xdm.web.webInteraction.name
The Custom link, Download link, or Exit link dimension, depending on the value in xdm.web.webInteraction.type
xdm.web.webInteraction.type
Determines the type of link clicked. Valid values include other (Custom links), download (Download links), and exit (Exit links).
xdm.web.webPageDetails.URL
The Page URL dimension.
xdm.web.webPageDetails.isErrorPage
Flag that helps determine the ‘Pages Not Found’ dimension and metric.
xdm.web.webPageDetails.name
The Page dimension.
xdm.web.webPageDetails.server
The Server dimension.
xdm.web.webPageDetails.siteSection
The Site Section dimension.
xdm.web.webReferrer.URL
The Referrer dimension.

Mapping other XDM fields to Analytics variables

If there are any dimensions or metrics that you want to add to Adobe Analytics, you can do so through Context Data variables.

Implicit mapping

Any XDM field elements that are not automatically mapped are sent to Adobe Analytics as Context Data with the prefix a.x. You can then map this context data variable to the desired Analytics variable using Processing rules. For example, if you send the following event:

alloy("event",{
    "xdm":{
        "_atag":{
            "search":{
                "term":"Example search term"
            }
        }
    }
})

The Web SDK sends that data to Adobe Analytics as the context data variable a.x._atag.search.term. You can then use a processing rule to assign that context data variable value to the desired Analytics variable, such as an eVar:

Search term processing rule

Explicit mapping

You can also explicitly map XDM field elements as context data. Any XDM field element that is explicitly mapped, using the contextData element, is sent to Adobe Analytics as Context Data without a prefix. You can then map this context data variable to the desired Analytics variable using Processing rules. For example, if you send the following event:

alloy("event",{
    "xdm":{
        "_atag":{
            "analytics": {
                "contextData" : {
                    "someValue" : "1"
                }
            }
        }
    }
})

The Web SDK sends that data to Adobe Analytics as the context data variable somevalue with value 1. You can then use a processing rule to assign that context data variable value to the desired Analytics variable, such as an eVar:

Search term processing rule

recommendation-more-help
b4f6d761-4a8b-4322-b801-c85b9e3be690