Adobe Implementation Playbook

Build 8 · AJO

Phase 5 · Build stage 8 of 9

Adobe Journey Optimizer

Depends on: Sandboxes, datastream and dataflows (events), and RTCDP audiences.

Typical duration
11–18 weeks
Walkthrough steps
11
Detailed tasks
28
Domains
6
0 of 0 done

This tool across the project

What AJO needs in every phase, from kickoff to handoff, next to the sign-off gate for that phase.

PhaseAJOGate (all tools)
1. Initiation (RFP / kickoff)Package, channels, IPs, sandboxRFP response; sponsor and team named
2. Discovery (current & future state)Existing ESP and journeys, deliverability, consent sources, event availabilityCurrent State Assessment; Future State Blueprint — Discovery sign-off
3. SOW & planWave 1 journeys, channels, templatesSOW signed: scope, deliverables, timeline, price
4. Design (SDR / SDD)Journey designs, event specs, channel configs, rule sets, consent modelSDR + SDD — Design sign-off
5. Build & configureSubdomains → channel configs → events → custom actions → rule sets → templates → journeysConfigured environment — Build Complete sign-off
6. QA / UATTest mode on every branch, proofs, dry run, consent and cap testsQC checklist executed — UAT sign-off
7. Go-livePhased activation; IP warm-upProduction cutover — Go-Live sign-off
8. Hypercare (2–4 weeks)Bounces, complaints, step-event errorsDaily monitoring; fixes — Hypercare Exit sign-off
9. Closure & handoffJourney catalog, template library, deliverability runbook, trainingHandoff pack: runbooks, access list, training, open backlog

Implementation overview

PhaseWhat you doDeliverables
Define Journey Use CasesTriggered/batch journeys, journey KPIsJourney use case catalog
Confirm Data & Event ReadinessValidate schemas/events flowing into AEPEvent readiness checklist
Configure ChannelsEmail, push, SMS, in-app, Web SDK personalization; sending domainsChannel config doc, deliverability checklist
Build Templates & ContentReusable templates, personalization tokensTemplate library, token map
Build JourneysJourney Canvas entry, conditions, wait steps, branchingJourney design docs
Configure Audiences & Entry SourcesAEP segments/events as entry, suppression, frequency capsEntry source mapping
Test & QA JourneysPreview/simulate, personalization rendering, edge casesJourney QA log
Launch & MonitorActivate, monitor entry/conversion/deliverabilityJourney performance dashboard
OptimizeA/B test content/timing, retire weak pathsOptimization backlog

Step-by-step implementation

Do these 11 steps in order, in a development environment. Each step lists where to go, what to do, what to check, what you must know, and the questions interviewers ask about it.

Step 1

Define journeys & KPIs

Where
Outside AJO — journey use case catalog
What you do
List journeys (welcome, abandonment, re-engagement, transactional), their entry trigger, exit/goal and KPIs.
Tips
Separate transactional from marketing journeys from the start.
Check before moving on
Use case catalog signed off.

Must know

  • Separate transactional messages (confirmations, delays) from marketing messages from day one; they follow different consent and frequency rules.
  • Every journey needs an entry trigger, an exit or goal, a KPI and an owner.
  • Journeys are for multi-step, individual flows; campaigns are for one-off or scheduled sends to an audience.

Interview questions tap to reveal a model answer

Journey vs. campaign in AJO?

A journey orchestrates multi-step, event- or audience-triggered flows per person; a campaign sends one message to an audience on a schedule or via API.

Transactional vs. marketing message?

Transactional messages relate to something the customer did or owns (booking, delay) and can go to people who opted out of marketing; marketing messages need marketing consent.

What KPIs would you set for a cart abandonment journey?

Recovered revenue, conversion rate of entrants, and unsubscribe/complaint rates, compared against a holdout.

Journey use case catalog
Screenshot Journey use case catalogAdd screenshots/ajo/step-01.png
Step 2

Confirm data & events

Where
Data management > Schemas / Datasets; Customer > Profiles
What you do
Confirm the entry-trigger events and profile attributes exist, are populated and arrive fast enough.
Tips
A late event looks like a broken journey — measure latency.
Check before moving on
Event readiness checklist passed.

Must know

  • AJO reads profiles and events from AEP, so schemas, identities and consent must be ready first.
  • Journeys keyed on an identity namespace need that identity present on the event and the profile.
  • Check event latency; a late event looks like a broken journey.

Interview questions tap to reveal a model answer

What does AJO need from AEP?

Profile-enabled schemas and datasets, a consistent identity namespace, consent attributes, and the events and audiences that trigger journeys.

Why does the namespace on an event matter?

AJO uses it to find the profile; if the event carries a different identity than the journey expects, the person never enters.

How do you check data readiness?

Look up test profiles, send test events and confirm they arrive with the right identity and fields within the expected latency.

Profile showing the trigger event
Screenshot Profile showing the trigger eventAdd screenshots/ajo/step-02.png
Step 3

Delegate the sending subdomain

Where
Administration > Channels > Email settings > Subdomains > Set up subdomain
What you do
Delegate a subdomain to Adobe (full delegation recommended) so SPF, DKIM and MX are managed for you.
Tips
Plan DMARC and IP warm-up with the deliverability team.
Check before moving on
Subdomain status shows success.

Must know

  • Email sending needs subdomains delegated to Adobe (full delegation is recommended; CNAME is the alternative).
  • New sending IPs must be warmed up gradually to build sender reputation.
  • IP pools let you separate transactional from marketing traffic so one cannot hurt the other's reputation.

Interview questions tap to reveal a model answer

Full subdomain delegation vs. CNAME?

With full delegation Adobe manages the DNS records for the subdomain; with CNAME the client keeps DNS and points records to Adobe. Full delegation is simpler to maintain.

What is IP warm-up?

Gradually increasing volume from new IPs so mailbox providers learn to trust them, avoiding spam-foldering.

Why separate IP pools?

So a marketing campaign's complaints or bounces do not damage delivery of critical transactional messages.

Subdomain setup screen
Screenshot Subdomain setup screenAdd screenshots/ajo/step-03.png
Step 4

Create channel configurations

Where
Administration > Channels > Channel configurations > Create
What you do
Create configurations for email (sender, reply-to, IP pool), push (app), and SMS (provider, number).
Tips
For mobile channels, the guided channel setup can auto-create resources.
Check before moving on
Configurations submitted and active.

Must know

  • Channel configurations (formerly surfaces) hold the sender details for each channel: subdomain, IP pool, from name and address, reply-to.
  • Mark each configuration as marketing or transactional.
  • Push, Mobile Message (SMS, MMS and RCS, merged in 2026), in-app and web channels each need their own setup (app credentials, SMS provider, web subdomain).

Interview questions tap to reveal a model answer

What is a channel configuration?

The reusable sending setup for a channel (sender, subdomain, IP pool, message type) that messages and journeys select.

What do you need for push notifications?

The mobile app configured with the Mobile SDK and push credentials, plus a push channel configuration in AJO.

How do you prevent marketing emails going to opted-out customers?

Use marketing-type configurations, which respect marketing consent, and keep transactional configurations for genuine service messages.

Channel configuration form
Screenshot Channel configuration formAdd screenshots/ajo/step-04.png
Step 5

Configure events

Where
Administration > Configurations > Events > Create
What you do
Define unitary events with schema, payload fields and the identity used to find the profile.
Tips
Use the event ID condition carefully so only real triggers fire.
Check before moving on
Test event received in the event list.

Must know

  • Unitary events are about one person (cart abandoned, booking made) and carry an identity.
  • Business events are not tied to one person (flight delayed, item back in stock); the journey then reads an audience to find the people affected.
  • System-generated event IDs need the Orchestration eventID field group in the schema; rule-based events use a condition on the payload. Unitary events must be people-based.

Interview questions tap to reveal a model answer

Unitary vs. business event?

A unitary event triggers a journey for one person; a business event triggers a journey that reads an audience, e.g. everyone booked on a delayed flight.

How would you model a flight delay alert?

A business event "flight delayed" with flight number and date, then a Read Audience step to target passengers booked on that flight.

An event fires but nobody enters the journey. Why?

Wrong identity namespace, event ID or rule mismatch, the person is not on a profile-enabled schema, or re-entrance rules block them.

Event configuration screen
Screenshot Event configuration screenAdd screenshots/ajo/step-05.png
Step 6

Build templates & content

Where
Content management > Content templates / Fragments; personalization editor
What you do
Build reusable templates and fragments; add personalization tokens from profile attributes.
Tips
Give every token a fallback value.
Check before moving on
Previews render for a profile with missing data.

Must know

  • Build reusable templates and fragments (header, footer, legal text) so changes happen in one place.
  • Personalization uses the expression editor with profile attributes, event context and helper functions.
  • Always set fallback values for personalized fields.

Interview questions tap to reveal a model answer

How do you personalize an email in AJO?

Insert profile or event attributes with the expression editor, add conditional content for segments, and set defaults for missing values.

Why use fragments?

A change to a shared fragment (like a footer) updates every message that uses it, saving time and keeping content consistent.

How do you use journey context in a message?

Reference attributes from the triggering event, such as flight number or cart items, in the message through the expression editor.

Email designer with personalization tokens
Screenshot Email designer with personalization tokensAdd screenshots/ajo/step-06.png
Step 7

Build the journey

Where
Journey management > Journeys > Create journey
What you do
Add the entry (event or Read audience), conditions, wait steps, message actions and exit criteria.
Tips
Set re-entry and timeout rules in journey properties.
Check before moving on
Every branch ends cleanly.

Must know

  • A journey has an entry (event, read audience or audience qualification), then activities: waits, Optimize (which replaced Condition in April 2026 and adds path experimentation and targeting), the Action activity and an end.
  • Re-entrance settings decide whether someone can enter again and how long they must wait.
  • Once a journey is live it is read-only apart from names and descriptions; you create a new version from the latest one, and the old version closes to new entries.

Interview questions tap to reveal a model answer

Walk me through building an abandoned-cart journey.

Entry on the cart event, wait one hour, an Optimize (conditions) step for "no purchase since", send email, wait 24 hours, check again, send push, exit on purchase.

How do you change a live journey?

Create a new version, edit and test it, then publish; profiles already in the old version finish in that version.

What is re-entrance?

A setting that controls whether a profile can enter the same journey again and the waiting period before it can.

Journey canvas
Screenshot Journey canvasAdd screenshots/ajo/step-07.png
Step 8

Frequency & suppression rules

Where
Administration > Business rules; suppression list
What you do
Create frequency-capping rule sets and confirm suppression and opt-out handling.
Tips
Urgent transactional journeys may need to bypass marketing caps.
Check before moving on
Overlap test profile gets the capped experience.

Must know

  • Business rules (rule sets) cap how many messages a person receives per channel and period.
  • Hard bounces and spam complaints go on the suppression list immediately; soft bounces only after repeated retries. Unsubscribes are handled as consent, not suppression.
  • Urgent transactional messages should not be blocked by marketing frequency caps.

Interview questions tap to reveal a model answer

How do you cap message frequency in AJO?

Create business rule sets with channel caps (e.g. three marketing emails a week) and apply them to journeys and campaigns.

What is the suppression list?

Addresses AJO will not send to, such as hard bounces and spam complaints, maintained automatically.

How do you stop a promo going to someone mid-trip?

Exclude an "in-trip" audience in the journey condition or audience, and apply frequency rules to marketing only.

Business rules (frequency capping) screen
Screenshot Business rules (frequency capping) screenAdd screenshots/ajo/step-08.png
Step 9

Test the journey

Where
Journey canvas > Test mode; message Simulate content / proofs
What you do
Run test profiles through every branch; send proofs to seed inboxes and devices.
Tips
Test the unhappy paths, not just the happy path.
Check before moving on
Journey QA log complete.

Must know

  • Test mode runs a journey with test profiles only, and really sends the messages to them.
  • Dry run walks real production profiles through the paths but sends nothing; simulation uses temporary simulated profiles.
  • Send proofs and render previews for every channel, device and branch.

Interview questions tap to reveal a model answer

How do you test a journey?

Use test profiles in test mode, trigger the entry event, follow each branch, send proofs, and check the journey report.

What is a test profile?

A profile flagged as a test profile so it can be used in journey test mode and message proofs.

Test mode vs. dry run?

Test mode runs the journey for test profiles and sends real messages to them; dry run uses production data to check paths without sending anything.

Test mode with test profile path
Screenshot Test mode with test profile pathAdd screenshots/ajo/step-09.png
Step 10

Publish & monitor

Where
Journey canvas > Publish; journey live and all-time reports
What you do
Publish (phased if possible) and watch entries, step conversion, bounces and complaints daily.
Tips
Expand to 100% once metrics are healthy.
Check before moving on
First-week metrics reviewed.

Must know

  • Publish in phases, starting with low volumes on new IPs.
  • Monitor deliveries, bounces, complaints, errors and journey step events.
  • Journey step events land back in AEP datasets for analysis in CJA or Query Service.

Interview questions tap to reveal a model answer

What do you monitor after publishing a journey?

Entries, exits, errors per step, delivery and open rates, bounces, complaints and conversions against the KPI.

Where can you analyse journey performance beyond AJO reports?

In CJA or Query Service, using the journey step event and message feedback datasets written to AEP.

Bounce rate is high on launch. What do you do?

Pause or slow sending, check list quality and authentication, clean bounced addresses, and review IP warm-up.

Journey live report
Screenshot Journey live reportAdd screenshots/ajo/step-10.png
Step 11

Optimize

Where
Message action > Content experiment; CJA
What you do
Run A/B tests on content or send time; retire weak branches; analyze impact in CJA.
Tips
Define the success metric before starting the test.
Check before moving on
Optimization backlog updated.

Must know

  • Test content with experiments and compare against a holdout to prove impact.
  • Use Decisioning (decision items, selection strategies and ranking; it replaces the legacy Decision management) to pick the best offer per person instead of hard-coding.
  • Review journeys regularly: retire low performers, tune waits and conditions.

Interview questions tap to reveal a model answer

How do you prove a journey works?

Compare the conversion of people who received it with a randomly held-out control group.

What is Decisioning in AJO?

Rules, eligibility and ranking that choose which decision item (offer) to show each person from a catalogue. It replaces the older Decision management (offer decisioning), which is now legacy.

What would you optimise first in a weak journey?

Entry criteria and timing, then subject lines and content via experiments, then channel mix.

Content experiment setup
Screenshot Content experiment setupAdd screenshots/ajo/step-11.png

Sources (UI paths checked against Adobe Experience League, Oct 2026 — menus can move between releases; confirm in your org): get started configuration · guided channel setup

Implementation by domain

How to use: do each step in your sandbox using the “How to do it” column, then read across the row to see how the same step changes by domain. Each domain column follows one journey from top to bottom. Add a screenshot and what you learned in the last column.

Travel & Airlines · practice brand: SkyLumen Airways

Lab use case: Flight delay

Profile: B2C, seasonal, multi-currency/locale. Compliance focus: GDPR (EU travelers), loyalty program data, real-time pricing/inventory sensitivity.

What changes in this domain: Pre-trip, day-of, post-trip journeys; real-time flight/booking-change triggers

Special considerations: Time-zone-aware send windows; urgent transactional overrides marketing cadence

  1. Flight delay (transactional). KPI: share of affected travelers notified within 5 minutes.

    How (any domain): List each journey with its entry trigger, exit/goal, KPI and owner; mark it transactional or marketing. Output: use case catalog.

    Check: Every journey has a trigger, exit, KPI, owner and message type.

    Define journeys & KPIs · Travel & Airlines
    Screenshot Define journeys & KPIs · Travel & AirlinesAdd screenshots/ajo/travel-01.png
  2. flight.statusChanged streamed from operations; upcomingTrips[] on each profile to find who is on the flight.

    How (any domain): Check the trigger data streams into AEP (batch data can’t trigger a journey) and the profile fields you need are populated. Where: Datasets, Customer > Profiles.

    Check: Test profile shows the event and fields in the Profile viewer.

    Confirm data & events · Travel & Airlines
    Screenshot Confirm data & events · Travel & AirlinesAdd screenshots/ajo/travel-02.png
  3. Separate notify subdomain for disruption alerts; offers on the marketing subdomain.

    How (any domain): Administration > Channels > Email settings > Subdomains. Full delegation recommended; plan IP warm-up.

    Check: Subdomain status shows success; DNS checks pass.

    Delegate the subdomain · Travel & Airlines
    Screenshot Delegate the subdomain · Travel & AirlinesAdd screenshots/ajo/travel-03.png
  4. Transactional push, SMS and email for disruptions; marketing email for offers.

    How (any domain): Administration > Channels > Channel configurations: choose marketing or transactional, sender details, IP pool.

    Check: Each journey action points to the right configuration type.

    Channel configurations · Travel & Airlines
    Screenshot Channel configurations · Travel & AirlinesAdd screenshots/ajo/travel-04.png
  5. Business event flight.statusChanged (flight number, date, status) — no identity; AJO adds a Read audience step.

    How (any domain): Administration > Configurations > Events. Unitary = about one person (needs an identity); business = not about a person. Pick schema, payload fields, event ID condition.

    Check: Test event appears under the event’s preview; fields map correctly.

    Configure events · Travel & Airlines
    Screenshot Configure events · Travel & AirlinesAdd screenshots/ajo/travel-05.png
  6. New departure in local time, rebooking link, language from preferredLanguage.

    How (any domain): Content templates and fragments; personalization tokens with a fallback for every token.

    Check: Proofs render for a profile with missing data.

    Templates & content · Travel & Airlines
    Screenshot Templates & content · Travel & AirlinesAdd screenshots/ajo/travel-06.png
  7. Business event → read audience → condition: on this flight and delay ≥ 30 min → push/SMS/email.

    How (any domain): Journeys > Create journey: entry, conditions, waits, actions, exit criteria; set re-entry rules.

    Check: Every branch ends; exit criteria set.

    Build the journey · Travel & Airlines
    Screenshot Build the journey · Travel & AirlinesAdd screenshots/ajo/travel-07.png
  8. Disruption alerts bypass marketing caps; marketing paused for travelers in active disruption.

    How (any domain): Administration > Business rules: channel rule set (caps, quiet hours), journey rule set (entry/concurrency).

    Check: Rule set attached to marketing actions only.

    Frequency & suppression rules · Travel & Airlines
    Screenshot Frequency & suppression rules · Travel & AirlinesAdd screenshots/ajo/travel-08.png
  9. Traveler on another flight excluded; second delay update reaches travelers again.

    How (any domain): Test mode with test profiles, proofs to seed inboxes, Dry Run on real profiles without sending.

    Check: QA log complete for every branch.

    Test the journey · Travel & Airlines
    Screenshot Test the journey · Travel & AirlinesAdd screenshots/ajo/travel-09.png
  10. Latency dashboard watched during weather events.

    How (any domain): Publish; journey reports; query journey_step_events; set alerts.

    Check: First-week metrics reviewed and logged.

    Publish & monitor · Travel & Airlines
    Screenshot Publish & monitor · Travel & AirlinesAdd screenshots/ajo/travel-10.png
  11. Test push + SMS vs. push only on disruption call volume.

    How (any domain): Content experiments; retire weak branches; analyse in CJA.

    Check: Backlog updated with the next test.

    Optimize · Travel & Airlines
    Screenshot Optimize · Travel & AirlinesAdd screenshots/ajo/travel-11.png

Extra steps for this domain

  1. In Phase 1, build pre-trip, day-of, and post-trip journeys, plus a real-time flight/booking-change trigger journey.
  2. In Phase 5, configure time-zone-aware send windows so messages align with the traveler’s local time.
  3. Ensure urgent transactional journeys (delay/cancellation) can override standard marketing cadence and suppression.

Full task list

Every numbered task from your board, grouped by phase. Use it as the project checklist once you know the steps above.

Journey Use Cases 3 tasks
Data & Event Readiness 2 tasks
Channels 4 tasks
Templates & Content 3 tasks
Journey Build 3 tasks
Audiences & Entry Sources 3 tasks
Testing 4 tasks
Launch & Monitor 3 tasks
Optimize 3 tasks

QC / validation checklist

Key terms and sources

Each term links to Adobe's documentation.

TermWhat it is
Channel configurationGetting started with AJO channel configuration.
Delegate email subdomainsSubdomain delegation for sending email.
Journey eventsUnitary, business and other events that start journeys.
Configure a unitary eventSetting up person-level trigger events.
Journey typesChoosing between journey and campaign types.
Test your journeyTest mode and test profiles.
Business rule setsFrequency capping with rule sets.
Decision itemsOffers used in decisioning.
Action activityActions in journeys, including custom actions.
Guardrails and limitationsProduct limits to design around.