XDM object variable mapping to Adobe Analytics

Last update: 2025-01-31
  • Created for:
  • Admin
    Developer

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.mediaCollection.sessionDetails.assetID The streaming media dimension Asset ID.
xdm.mediaCollection.sessionDetails.friendlyName The streaming media dimension Video Name.
xdm.mediaCollection.sessionDetails.originator The streaming media dimension Originator.
xdm.mediaCollection.sessionDetails.episode The streaming media dimension Episode.
xdm.mediaCollection.sessionDetails.genre The streaming media dimension Genre.
xdm.mediaCollection.sessionDetails.rating The streaming media dimension Content Rating.
xdm.mediaCollection.sessionDetails.season The streaming media dimension Season.
xdm.mediaCollection.sessionDetails.name The streaming media dimension Content ID.
xdm.mediaCollection.sessionDetails.show The streaming media dimension Show.
xdm.mediaCollection.sessionDetails.showType The streaming media dimension Show Type.
xdm.mediaCollection.sessionDetails.length The streaming media dimension Video Length.
xdm.media.mediaTimed.primaryAssetViewDetails.@id The streaming media dimension Media Session ID.
xdm.mediaCollection.sessionDetails.channel The streaming media dimension Content Channel.
xdm.mediaCollection.sessionDetails.contentType The streaming media dimension Content Type.
xdm.mediaCollection.sessionDetails.network The streaming media dimension Network.
xdm.media.mediaTimed.primaryAssetViewDetails.
mediaSegmentView.value
The streaming media dimension Content Segment.
xdm.mediaCollection.sessionDetails.playerName The streaming media dimension Content Player Name.
xdm.mediaCollection.sessionDetails.appVersion The streaming media dimension SDK Version.
xdm.mediaCollection.sessionDetails.feed The streaming media dimension Media Feed Type.
xdm.mediaCollection.sessionDetails.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.mediaCollection.sessionDetails.hasResume 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

On this page