Adobe Experience Platform

What Is Adobe Experience Platform?

Adobe Experience Platform (AEP) is Adobe's customer data infrastructure that centralizes, standardizes, and activates customer information across all of a brand's systems. It ingests data from multiple sources, unifies identities into a customer profile, and enables downstream activation for analytics, personalization, and marketing use cases. It serves as the hub that powers data-driven customer experiences. This integration uses the Interactive Data Collection API to send server-side event data directly to Adobe, and may be used to send data to Adobe Analytics.


Product Type: Analytics
Integration Type: Starter Kit & ID Sync
Event Source Type: Web
Event Scope: Full-Funnel Events


Capabilities

  • Sends server-side event data directly to Adobe via the Interactive Data Collection API, and may be used to send data to Adobe Analytics.
  • Supports customized event data collection, allowing you to define specific metrics and dimensions tailored to your business needs.
  • Enables batch processing of large volumes of event data.
  • Supports the Adobe Experience Cloud ID (ECID) via the Adobe identity sync, mapping it into event.xdm.identityMap.ECID when context.providers.adobe.mid is present.
  • Uses programmatic authentication refresh to automatically generate a new access token every 24 hours.

Considerations

  • You must have access to Adobe Experience Platform to use this integration.
  • Your Experience Platform account must have the developer and user roles enabled for the Adobe Experience Platform API product profile. Contact your Admin Console administrator to enable these roles.
  • The standard integration is designed to collect standard page events. Additional events and parameters require mapping according to Adobe Analytics standards; refer to the Experience Data Model guide for more information.

Limitations

  • Real-time personalization: The Interactive Data API does not support client-side data collection needed for immediate content personalization on webpages.
  • Dynamic variables and data points: Certain client-side interactions, such as live form inputs or browser-specific behaviors, may not be captured.
  • Advanced audience segmentation: Segmentation based on client-side triggers, like user actions during a session, may not be fully supported.
  • Plug-ins and JavaScript customizations: Custom JavaScript code and browser-executed plug-ins are not supported by the Interactive Data API and must remain client-side.
  • Timezone reporting: There is a current bug within Adobe Analytics that prevents the integration from populating timezone reporting.

Identity Sync

  • Sync Available: Yes
  • Required for Starter Kit: No
  • Prerequisites: Adobe Org ID
  • Documentation: See Additional Adobe Sync Documentation

Sync Details

  • Resolves the Adobe Experience Cloud ID (mid / marketingCloudVisitorID) through the Adobe sync injector; Demdex is not required for collecting mid.
  • Stores IDs in first-party cookies with configurable lifetimes so the sync does not run on every page view.
  • When an Adobe Org ID is provided, the sync can return ECID as mid, exposed in events as context.providers.adobe.mid.

Starter Kit Setup Guide

1. Deploy the Adobe Experience Platform Sync

  • To collect the sync values (e.g., ECID / mid), you must implement an Adobe ID sync. Refer to the following documentation to complete the setup: Adobe - ID Sync Guide.

2. Gather Credentials

  • Create a project in the Adobe Developer Console and add the Experience Platform API with OAuth Server-to-Server credentials. From the OAuth Server-to-Server page, gather:
    • Org ID
    • Client ID (mapped to API_KEY in MetaRouter)
    • Client Secret
  • Retrieve your Datastream ID from the Adobe Experience Platform Datastreams page, and connect it to your Adobe Analytics Report Suite via Add Service.

3. Add an Adobe Experience Platform Integration

  • From the integration library, add an Adobe Experience Platform integration. Then, fill out the Connection Parameters:
Connection ParameterDescription
DATASTREAM_IDA unique identifier for a specific data stream in AEP, linking incoming data to the correct data processing workflow.
ORG_IDThe unique identifier for your Adobe organization, used to manage and authenticate access to Adobe Experience Platform.
API_KEYA unique key that identifies your application to AEP, allowing it to authenticate and interact with AEP APIs.
CLIENT_SECRETA secure, private key used with the API key to authenticate server-to-server requests to AEP.

4. Configure Event Mapping

  • MetaRouter provides suggested, standard event mappings for Adobe Analytics. You may add custom events, parameters, or mappings in accordance with Adobe's API documentation. While not required, the mappings below may be needed for specific reporting in Adobe Analytics; removing parameters may impact your reporting.

5. Deploy to Pipeline

  • In the Pipelines tab, add your Adobe Experience Platform integration.
  • Select the correct integration revision.
  • Click Add Integration to finalize deployment.

Event Mappings

Global

Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.

Output KeyDescriptionExpected Input
event.xdm.identityMap.FPID RequiredString: FPID derived from SHA-256 hash of anonymousId; becomes non-primary when ECID or email is present.Expression – hashes anonymousId; marked non-primary if ECID or email exists, otherwise primary
event.xdm.identityMap.ECID RecommendedString: Adobe Experience Cloud ID (ECID) from the Adobe identity sync.Expression – reads context.providers.adobe.mid; returns ECID as primary when no email is present
event.xdm.identityMap.Email_LC_SHA256 RecommendedString: SHA-256 hashed email.Expression – returns trimmed, lowercased, hashed traits.email as primary; otherwise nothing
event.xdm.timestamp Highly RecommendedString: Timestamp of event. Required to view date-related metrics in reporting.Expression – converts timestamp to seconds since epoch
event.xdm._idString: Unique message identifier for the event.messageId
event.xdm.environment.languageString: Language setting of the environment (locale).context.locale
event.xdm.environment.browserDetails.acceptLanguageString: Browser's accepted language setting.context.locale
event.xdm.environment.browserDetails.userAgentString: User agent details of the browser.context.userAgent
event.xdm.environment.ipV4String: IPv4 address of the user's environment.context.ip
event.xdm.marketing.trackingCodeString: Tracking code for the associated marketing campaign.context.campaign.name

Event Specific

Page

Output KeyDescriptionExpected Input
event.xdm.eventType RequiredString: Specifies the event type, essential for categorizing and processing events in Adobe Analytics.Enrichment – 'web.webpagedetails.pageViews'
event.xdm.web.webPageDetails.URLString: Captures the URL of the web page, recommended for accurate page tracking and reporting.context.page.url
event.xdm.web.webPageDetails.nameString: Records the name of the web page, helpful for identification and reporting in Adobe Analytics.context.page.title
event.xdm.web.webPageDetails.siteSectionString: Represents the section of the website being viewed, useful for site structure analysis.properties.path
event.data.prop1String: Tracks the referrer URL, indicating the previous page visited before landing on the current page.context.page.referrer
event.xdm.web.webReferrer.URLString: Captures the URL of the referring page, providing context on the traffic source.context.page.referrer

Product Viewed

Output KeyDescriptionExpected Input
event.xdm.eventType RequiredString: Specifies the event type for product views, allowing for tracking views of specific products.Enrichment – 'commerce.productViews'
event.xdm.commerce.productViews.valueInteger: Represents the viewing of a product, with a count of 1.Enrichment – 1
event.xdm.commerce.productViews.idString: Unique identifier for the product view event.messageId
event.xdm.productListItemsObject: Details of the viewed product, including SKU, name, price total, quantity, and categories.Expression – builds product item from properties

Product Added

Output KeyDescriptionExpected Input
event.xdm.eventType RequiredString: Specifies the event type for product additions, allowing for tracking additions to the product list.Enrichment – 'commerce.productListAdds'
event.xdm.commerce.productListAdds.valueInteger: Indicates the count of items added, set to 1 for single-item addition.Enrichment – 1
event.xdm.commerce.cart.cartIDString: Identifies the shopping cart associated with the addition.properties.cart_id
event.xdm.commerce.productListAdds.idString: Unique identifier for the product addition event.messageId
event.xdm.productListItemsObject: Details of the added product, including SKU, name, price total, quantity, and categories.Expression – builds product item from properties

Product Removed

Output KeyDescriptionExpected Input
event.xdm.eventType RequiredString: Specifies the event type for product removals, allowing for tracking products removed from the cart.Enrichment – 'commerce.productListRemovals'
event.xdm.commerce.productListRemovals.valueInteger: Indicates the count of items removed, set to 1 for single-item removal.Enrichment – 1
event.xdm.commerce.cart.cartIDString: Identifies the shopping cart associated with the removal.properties.cart_id
event.xdm.commerce.productListRemovals.idString: Unique identifier for the product removal event.messageId
event.xdm.productListItemsObject: Details of the removed product, including SKU, name, price total, quantity, and categories.Expression – builds product item from properties

Cart Viewed

Output KeyDescriptionExpected Input
event.xdm.eventType RequiredString: Specifies the event type for viewing a shopping cart.Enrichment – 'commerce.productListViews'
event.xdm.commerce.productListViews.valueInteger: Represents the viewing of a product list, with a count of 1.Enrichment – 1
event.xdm.commerce.cart.cartIDString: Identifies the shopping cart that is being viewed.properties.cart_id
event.xdm.commerce.productListViews.idString: Unique identifier for the cart view event.messageId
event.xdm.productListItemsObject: Details of the products in the cart, including SKU, name, price total, quantity, and categories.Expression – maps properties.products to product items

Checkout Started

Output KeyDescriptionExpected Input
event.xdm.eventType RequiredString: Specifies the event type for starting checkout.Enrichment – 'commerce.checkouts'
event.xdm.commerce.checkouts.valueInteger: Represents the start of a checkout, with a count of 1.Enrichment – 1
event.xdm.commerce.checkouts.idString: Unique identifier for the checkout event.messageId
event.xdm.productListItemsObject: Details of the products in the checkout, including SKU, name, price total, quantity, and categories.Expression – maps properties.products to product items

Order Completed

Output KeyDescriptionExpected Input
event.xdm.eventType RequiredString: Specifies the event type for order completion, useful for tracking purchases in Adobe Analytics.Enrichment – 'commerce.purchases'
event.xdm.commerce.purchases.valueInteger: Represents the completion of a purchase, with a count of 1.Enrichment – 1
event.xdm.commerce.order.payments.transactionIDString: Identifier for the transaction associated with the purchase.properties.order_id
event.xdm.commerce.order.currencyCodeString: Currency code for the order, allowing for consistent currency reporting.properties.currency
event.xdm.commerce.order.purchaseIDString: Unique identifier for the purchase event.properties.order_id
event.xdm.commerce.purchases.idString: Unique identifier for the specific purchase instance.messageId
event.xdm.productListItemsObject: Array of purchased products, including SKU, name, price total, quantity, and categories.Expression – maps properties.products to product items

Required & Recommended Identifiers

These identifiers must be mapped to Adobe Experience Platform in order for successful user matching to occur. Without these IDs, any events sent to Adobe Analytics may not be accurately reflected in reporting. For your convenience, required and recommended IDs are mapped as Global parameters to ensure they are added to every event.

AttributeExampleSync Injector Required?
fpid Required3d174aa12d3b28a11bb3d48fb7120d6d582f8ff1d4eb1f1736b5c7e22c52ee67No
email Recommended6b1b36cbb04b41490bfc0ab2bfa26f86d4a2f1d6f09fb08e391ffbdb716d7011No
ecid Recommended79638412001460421Yes

Integration Validation

  • Confirm the Adobe Analytics service is configured on your Datastream so events flow through the Edge Network to your Report Suite, then review Adobe Analytics reporting to verify events are landing as expected.
  • Validate that data is arriving in Experience Platform by checking the batches landing in the target dataset, and preview the dataset to confirm the XDM fields are populated.
  • For deeper inspection, use Adobe Experience Platform Assurance (Event Transactions view) to review the server-side events received by the Edge Network and their processing results.

Additional Adobe Experience Platform Documentation