Journey Optimizer

Adobe Journey Optimizer is a purpose built system for marketing teams to react in real-time to customer behaviors and meet them where they are at. Data management capabilities have been moved to the Adobe Experience Platform allowing marketing teams to focus on what they do best: which is creating world class customer journey’s and personalized conversations. This blueprint outlines the technical capabilities of the application and provides a deep dive into the various architectural components that make up Adobe Journey Optimizer.

Use Cases

  • Triggered messages
  • Registration confirmations
  • Shopping cart and application form abandons
  • Location triggered messages


Reference architecture for the Triggered Messaging and Adobe Experience Platform blueprint

Integration Patterns

  • Adobe Experience Platform -> Journey Optimizer


  1. Customer must be provisioned for Experience Cloud with a valid IMS Org
  2. Mobile Push
  • Customer must have a mobile developer available to build the app
  • Adobe Experience Platform Mobile SDK
  • Data Collection
    • Mobile tags property
      • Extensions:
        • Adobe Journey Optimizer Extension
        • Adobe Experience Platform Edge Network
        • Identity
        • Mobile Core
        • Profile
    • App Configurations
    • Datastreams
      • Enabled for Experience Platform
      • Event Dataset - used for collecting general mobile behavior
      • Profile Dataset - AJO Push Profile Dataset (cannot be different)


  • See link for more details on guardrails for Journey Optimizer LINK
  • Batch segments – need to ensure you understand the daily volume of qualified users and ensure the destination system can handle the burst throughput per journey and across all journeys
  • Streaming segments – need to ensure the initial burst of profile qualifications can be handled along with the daily streaming qualifying volume per journey and across all journeys
  • Profile update activity - the Real-Time Customer Profile can be updated natively from within a journey. There is a delay of up to 1min on processing the update into the profile store
  • Business events - a read segment based journey can be triggered to start based on an external call into the JO system
  • Natively supports Offer Decisioning in messages only. Future support via native action
  • Channels Supported:
    • Email
    • Push (FCM / APNS)
    • Rest API Endpoints
  • Processes 5k events per second with horizontal scaling (wallet is limitation)
  • A/B testing is done by using two deliveries and determining results using QS or CJA
  • Litmus Integration – must have an account with Litmus to leverage integration

Implementation Steps

Adobe Experience Platform


  1. Configure individual profile, experience event, and multi-entity schemas in Experience Platform, based on customer-supplied data.
  2. Create Adobe Campaign schemas for broadLog, trackingLog, non-deliverable addresses, and profile preferences (optional).
  3. Create datasets in Experience Platform for data to be ingested.
  4. Add data usage labels in Experience Platform to the dataset for governance.
  5. Create policies that enforce governance on destinations.


  1. Create any customer-specific namespaces.
  2. Add identities to schemas.
  3. Enable the schemas and datasets for Profile.
  4. Set up merge policies for differing views of Real-time Customer Profile (optional).
  5. Create segments for campaign usage.


  1. Ingest data into Experience Platform using streaming APIs & source connectors.1. Configure Azure blob storage destination for use with Adobe Campaign.

Mobile app deployment

  1. Implement Adobe Campaign SDK for Adobe Campaign Classic or Experience Platform SDK for Adobe Campaign Standard. If Experience Platform Launch is present, the recommendation is to use Adobe Campaign Classic or Adobe Campaign Standard extension with Experience Platform SDK.

Journey Orchestration

  1. Streaming data used to initiate a customer journey must be configured within Journey Optimizer first to get an orchestration ID. This orchestration ID is then supplied to the developer to use with ingestion.
  2. Configure external data sources.
  3. Configure custom actions.

On this page