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.application.isClose
xdm.application.isInstall
xdm.application.closeType
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
xdm.application.isLaunch
xdm.application.name
xdm.application.isUpgrade
xdm.application.version
xdm.application.sessionLength
xdm.commerce.checkouts.id
xdm.commerce.checkouts.value
xdm.commerce.order.currencyCode
xdm.commerce.order.purchaseID
xdm.commerce.order.payments[0].transactionID
xdm.commerce.productListAdds.id
xdm.commerce.productListAdds.value
xdm.commerce.productListOpens.id
xdm.commerce.productListOpens.value
xdm.commerce.productListRemovals.id
xdm.commerce.productListRemovals.value
xdm.commerce.productListViews.id
xdm.commerce.productListViews.value
xdm.commerce.productViews.id
xdm.commerce.productViews.value
xdm.commerce.purchases.value
xdm.device.model
xdm.device.colorDepth
xdm.device.screenHeight
xdm.device.screenWidth
xdm.device.type
xdm.environment.browserDetails.acceptLanguage
xdm.environment.browserDetails.cookiesEnabled
Y
(the browser accepts cookies) and N
(the browser rejects cookies).xdm.environment.browserDetails.javaEnabled
xdm.environment.browserDetails.userAgent
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
xdm.environment.browserDetails.viewportWidth
xdm.environment.carrier
xdm.environment.connectionType
xdm.environment.ipV4
X-Forwarded-For
HTTP header.xdm.environment.language
xdm.environment.operatingSystem
xdm.environment.operatingSystemVersion
xdm._experience.analytics.customDimensions.
eVars.eVar1
[...]
xdm._experience.analytics.customDimensions.
eVars.eVar250
xdm._experience.analytics.customDimensions.
hierarchies.hier1
[...]
xdm._experience.analytics.customDImensions.
hierarchies.hier5
xdm._experience.analytics.customDimensions.
listProps.prop1.delimiter
[...]
xdm._experience.analytics.customDimensions.
listProps.prop75.delimiter
xdm._experience.analytics.customDimensions.
listProps.prop1.values
[...]
xdm._experience.analytics.customDimensions.
listProps.prop75.values
xdm._experience.analytics.customDimensions.
lists.list1.list[].value
[...]
xdm._experience.analytics.customDimensions.
lists.list3.list[].value
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
xdm._experience.analytics.event1to100.
event1.id
[...]
xdm._experience.analytics.event901to1000.
event1000.id
event678
, use xdm._experience.analytics.event601to700.event678.id
.xdm._experience.analytics.event1to100.
event1.value
[...]
xdm._experience.analytics.event901to1000.
event1000.value
event567
is xdm._experience.analytics.event501to600.event567.value
.xdm.identityMap.ECID[0].id
xdm.marketing.trackingCode
xdm.media.mediaTimed.completes.value
xdm.media.mediaTimed.dropBeforeStart.value
c.a.media.view
, c.a.media.timePlayed
, c.a.media.play
xdm.media.mediaTimed.federated.value
xdm.media.mediaTimed.firstQuartiles.value
xdm.media.mediaTimed.mediaSegmentView.value
xdm.media.mediaTimed.midpoints.value
xdm.media.mediaTimed.pauseTime.value
xdm.media.mediaTimed.pauses.value
xdm.media.mediaTimed.primaryAssetReference.
@id
xdm.media.mediaTimed.primaryAssetReference.
dc:title
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Creator[N].iptc4xmpExt:Name
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Episode.iptc4xmpExt:Number
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Genre
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Rating[N].iptc4xmpExt:RatingValue
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Season.iptc4xmpExt:Number
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Series.iptc4xmpExt:Identifier
xdm.media.mediaTimed.primaryAssetReference.
iptc4xmpExt:Series.iptc4xmpExt:Name
xdm.media.mediaTimed.primaryAssetReference.
showType
xdm.media.mediaTimed.primaryAssetReference.
xmpDM:duration
xdm.media.mediaTimed.primaryAssetViewDetails.
@id
xdm.media.mediaTimed.primaryAssetViewDetails.
broadcastChannel
xdm.media.mediaTimed.primaryAssetViewDetails.
broadcastContentType
xdm.media.mediaTimed.primaryAssetViewDetails.
broadcastNetwork
xdm.media.mediaTimed.primaryAssetViewDetails.
mediaSegmentView.value
xdm.media.mediaTimed.primaryAssetViewDetails.
playerName
xdm.media.mediaTimed.primaryAssetViewDetails.
playerSDKVersion.version
xdm.media.mediaTimed.primaryAssetViewDetails.
sourceFeed
xdm.media.mediaTimed.primaryAssetViewDetails.
streamFormat
xdm.media.mediaTimed.progress10.value
xdm.media.mediaTimed.progress95.value
xdm.media.mediaTimed.resumes.value
xdm.media.mediaTimed.starts.value
xdm.media.mediaTimed.thirdQuartiles.value
xdm.media.mediaTimed.timePlayed.value
xdm.media.mediaTimed.totalTimePlayed.value
xdm.placeContext.geo._schema.latitude
xdm.placeContext.geo._schema.longitude
xdm.placeContext.geo.postalCode
xdm.placeContext.geo.stateProvince
xdm.placeContext.localTime
t_time_info
in Data feeds.xdm.productListItems[]._experience.analytics.
customDimensions.eVars.eVar1
[...]
xdm.productListItems[]._experience.analytics.
customDimensions.eVars.eVar250
xdm.productListItems[]._experience.analytics.
event1to100.event1.value
[...]
xdm.productListItems[]._experience.analytics.
event901-1000.event1000.value
xdm.productListItems[].productCategories[].categoryID
xdm.productListItems[].name
xdm.productListItems[].priceTotal
xdm.productListItems[].quantity
xdm.productListItems[].SKU
xdm.web.webInteraction.URL
xdm.web.webInteraction.name
xdm.web.webInteraction.type
xdm.web.webInteraction.type
other
(Custom links), download
(Download links), and exit
(Exit links).xdm.web.webPageDetails.URL
xdm.web.webPageDetails.isErrorPage
xdm.web.webPageDetails.name
xdm.web.webPageDetails.server
xdm.web.webPageDetails.siteSection
xdm.web.webReferrer.URL
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
:
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
: