Adobe Implementation Playbook

Build 9 · CJA

Phase 5 · Build stage 9 of 9

Customer Journey Analytics

Depends on: Validated AEP data and live AJO journeys, for cross-channel reporting.

Typical duration
8–15 weeks
Walkthrough steps
11
Detailed tasks
23
Domains
6
0 of 0 done

This tool across the project

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

PhaseCJAGate (all tools)
1. Initiation (RFP / kickoff)Licensed data volume, stakeholders, questionsRFP response; sponsor and team named
2. Discovery (current & future state)Available datasets, identity coverage, Analytics usageCurrent State Assessment; Future State Blueprint — Discovery sign-off
3. SOW & planConnections, data views, projectsSOW signed: scope, deliverables, timeline, price
4. Design (SDR / SDD)Connection and data view spec, stitching, derived fieldsSDR + SDD — Design sign-off
5. Build & configureConnection → data views → components → stitching → filters/metrics → projectsConfigured environment — Build Complete sign-off
6. QA / UATReconcile with Analytics/source; stitching spot-check; access testQC checklist executed — UAT sign-off
7. Go-liveShare projects; schedule reportsProduction cutover — Go-Live sign-off
8. Hypercare (2–4 weeks)Ingestion lag, data view issuesDaily monitoring; fixes — Hypercare Exit sign-off
9. Closure & handoffData dictionary, project catalog, access modelHandoff pack: runbooks, access list, training, open backlog

Implementation overview

PhaseWhat you doDeliverables
Define Analysis Use CasesCross-channel questions, required data sourcesAnalysis use case catalog
Confirm Source DatasetsVerify AEP datasets are schema-compliant and stitchedSource dataset inventory
Build ConnectionsPull AEP datasets into CJA, stitching rules, exclusion filtersConnection config docs
Build Data ViewsDimensions, metrics, derived fields, filters, time/currencyData View spec
Configure Identity Stitching & AttributionPerson-ID stitching, attribution modelsStitching logic doc
Build Calculated Metrics & SegmentsCross-channel metrics, sequential segmentsMetrics/segment library
Build Workspace Analyses & DashboardsCross-channel journeys, cohort, Attribution IQAnalysis project catalog
Integrate with AJO/RTCDPFeed insights back for activation/journey refinementClosed-loop integration doc
Monitor & GovernData freshness, access governanceGovernance policy, freshness dashboard

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 analysis questions

Where
Outside CJA — analysis use case catalog
What you do
List the cross-channel questions single-source tools cannot answer and the datasets each needs.
Tips
Prioritize one flagship question for Wave 1.
Check before moving on
Use case catalog and source inventory agreed.

Must know

  • CJA answers cross-channel questions (web, app, call centre, store) that Adobe Analytics alone cannot.
  • Write the analysis questions first; they decide which datasets the connection needs.
  • Agree the person ID that ties channels together before building anything.

Interview questions tap to reveal a model answer

CJA vs. Adobe Analytics?

Analytics collects and reports web/app data with fixed variables; CJA reports on any AEP dataset across channels, with reporting-time settings and no variable limits.

What questions is CJA good for?

Cross-channel journeys: e.g. how many travellers searched online, called the contact centre, then booked in the app.

What decides which datasets go in?

The agreed analysis questions; add only datasets those questions need, since rows count toward the licence.

Analysis use case catalog
Screenshot Analysis use case catalogAdd screenshots/cja/step-01.png
Step 2

Confirm datasets in AEP

Where
Data management > Datasets (Experience Platform)
What you do
Check each dataset is schema-compliant and has a usable person (or account) identifier.
Tips
Identity problems show up later as misleading numbers.
Check before moving on
Dataset inventory with person ID per dataset.

Must know

  • CJA reads datasets from AEP's data lake: event datasets, profile datasets and lookup datasets.
  • Every dataset in a connection needs a person ID; for cross-channel analysis those IDs must share values.
  • Lookup datasets add descriptions (product names, campaign details) keyed on a field.

Interview questions tap to reveal a model answer

What dataset types can a CJA connection use?

Event datasets (time-series), profile datasets (attributes per person) and lookup datasets (attributes per key such as product).

Why must person IDs line up across datasets?

CJA joins datasets on the person ID; if web uses ECID and the call centre uses CRMID with no link, journeys cannot be combined.

What is a lookup dataset?

A dataset that classifies a value, like product SKU to category, joined at reporting time.

Dataset schema with identity field
Screenshot Dataset schema with identity fieldAdd screenshots/cja/step-02.png
Step 3

Create the connection

Where
Data management > Connections > Create new connection
What you do
Pick the sandbox, add event, profile, lookup and summary datasets, set the person ID, enable new data and backfill.
Tips
Connections affect licensed data volume — add only what you need.
Check before moving on
Connection saved.

Must know

  • A connection selects datasets, their person IDs and backfill and import settings.
  • Connections affect licensed data volume; add only what you need.
  • Several data views can sit on one connection.

Interview questions tap to reveal a model answer

What is a CJA connection?

The configuration that brings selected AEP datasets into CJA, with a person ID per dataset and import/backfill settings.

Connection vs. data view?

The connection decides which data comes in; the data view decides how it is reported (components, sessions, attribution).

How do you control CJA cost?

Limit datasets and backfill to what the use cases need and monitor ingested rows.

Add datasets step with person ID
Screenshot Add datasets step with person IDAdd screenshots/cja/step-03.png
Step 4

Check ingestion

Where
Data management > Connections > open connection
What you do
Watch records added, skipped and deleted per dataset until backfill completes.
Tips
Expect a few hours before data appears.
Check before moving on
Row counts reconcile with AEP (<1–2%).

Must know

  • After creating a connection, check ingestion status and record counts per dataset.
  • Reconcile counts with AEP (Query Service) before building reports.
  • Ingestion lag means recent data may not be complete yet; communicate it to stakeholders.

Interview questions tap to reveal a model answer

How do you check a connection is complete?

Compare ingested and skipped rows in the connection details with dataset row counts in AEP.

Why might rows be skipped?

Missing person ID or timestamp, or records outside the import settings.

How fresh is CJA data?

It depends on ingestion lag; streaming data arrives faster than batch, and recent hours may still be filling in.

Connection details with record counts
Screenshot Connection details with record countsAdd screenshots/cja/step-04.png
Step 5

Create the data view

Where
Data management > Data views > Create new data view
What you do
Choose the connection, person component, session timeout, time zone and calendar.
Tips
Create several data views on one connection for different teams.
Check before moving on
Data view saved.

Must know

  • A data view holds reporting-time settings: components, session definition, time zone, attribution and filters.
  • Data view changes apply retroactively and do not change the underlying data.
  • Derived fields create new dimensions at reporting time (e.g. parse a URL or combine fields).

Interview questions tap to reveal a model answer

What is a data view?

A reporting configuration on top of a connection that defines components, sessions, attribution and context.

Why is "retroactive" a big deal?

You can change session timeouts, attribution or component settings and history updates instantly, which Adobe Analytics cannot do for most settings.

What are derived fields?

Dimensions or metrics created at reporting time with rules and functions, without re-ingesting data.

Data view Configure tab
Screenshot Data view Configure tabAdd screenshots/cja/step-05.png
Step 6

Add components

Where
Data view > Components tab
What you do
Drag fields in as dimensions and metrics; set attribution, persistence and formats; build derived fields.
Tips
Use clear, business-friendly names — agents and analysts rely on them.
Check before moving on
Every planned dimension and metric present.

Must know

  • Any field in the datasets can become a dimension or metric component.
  • Component settings (persistence, attribution, behaviour, format) mimic eVar-like behaviour without fixed slots.
  • Give components business-friendly names and descriptions.

Interview questions tap to reveal a model answer

How do you make a CJA dimension behave like an eVar?

Set persistence on the component in the data view (e.g. most recent value for the session or a time period).

Are there variable limits like Analytics' eVars?

No fixed eVar/prop slots; any schema field can be a component.

How do you count orders in CJA?

Create a metric component from the purchase event field or an event-type value, with counting settings as needed.

Components tab with dimensions and metrics
Screenshot Components tab with dimensions and metricsAdd screenshots/cja/step-06.png
Step 7

Stitching & attribution

Where
Connection dataset settings (stitching); component attribution settings
What you do
Enable field-based stitching where needed; set attribution models for key metrics.
Tips
B2C uses person ID; B2B uses account ID — decide before building analysis.
Check before moving on
Known cross-device customer resolves to one person.

Must know

  • Stitching links anonymous device data to a person ID: field-based (using a persistent and a person field) or graph-based (using the AEP identity graph).
  • Stitching can replay recent anonymous data once a person logs in.
  • Attribution models (first touch, last touch, linear, algorithmic and more) can be applied per component or in the Attribution panel.

Interview questions tap to reveal a model answer

What is stitching in CJA?

Rewriting the person ID on anonymous events with the known ID once the person is identified, so pre-login behaviour joins the customer.

Field-based vs. graph-based stitching?

Field-based uses two fields in the same dataset (device ID and person ID; Select package and up); graph-based uses the AEP identity graph (Prime and up). Both are now enabled self-service in the Connections UI.

How do you compare attribution models?

Use the Attribution panel or apply different models to metrics side by side in a freeform table.

Stitching settings
Screenshot Stitching settingsAdd screenshots/cja/step-07.png
Step 8

Filters & calculated metrics

Where
Components > Filters / Calculated metrics
What you do
Build reusable filters (sequential where needed) and cross-channel calculated metrics.
Tips
Validate each against a known benchmark.
Check before moving on
Library documented.

Must know

  • Segments (called filters until April 2025) use event, session and person containers, like Analytics segments.
  • Calculated metrics combine metrics with maths and segments.
  • Validate key metrics against Analytics or source systems before sharing.

Interview questions tap to reveal a model answer

Event vs. session vs. person container?

Event keeps matching rows only; session keeps whole sessions with a match; person keeps everything from people who matched.

Build a "search to booking rate" metric.

A calculated metric: bookings divided by searches, optionally within a session filter.

Why might CJA numbers differ from Analytics?

Different sessions and stitching, data view settings, bot filtering, and data sources included.

Filter builder with a sequential filter
Screenshot Filter builder with a sequential filterAdd screenshots/cja/step-08.png
Step 9

Build Workspace projects

Where
Workspace > Create project
What you do
Build freeform, flow, fallout, cohort and attribution panels for the flagship question.
Tips
Curate and share; restrict sensitive projects.
Check before moving on
Stakeholders review the first project.

Must know

  • Workspace in CJA works like Analytics Workspace: freeform, fallout, flow, cohort and journey panels.
  • Build projects around the analysis questions and share them with stakeholders.
  • Schedule reports and annotate data issues.

Interview questions tap to reveal a model answer

How would you show the trip lifecycle in CJA?

A flow or fallout from search to booking to check-in to post-trip survey, broken down by channel.

How do you share insights?

Share Workspace projects, schedule PDF/CSV deliveries, or export to BI tools such as Tableau.

What is a cohort table used for?

Tracking retention or repeat behaviour of groups who started in the same period.

Workspace cross-channel flow panel
Screenshot Workspace cross-channel flow panelAdd screenshots/cja/step-09.png
Step 10

Close the loop

Where
Workspace > create audience (publish to Real-Time CDP)
What you do
Publish high-value audiences to Real-Time CDP for activation or AJO journeys.
Tips
QC that the published audience matches the analysis population.
Check before moving on
Audience visible in RTCDP.

Must know

  • CJA can publish audiences back to AEP for activation through RTCDP or AJO.
  • Journey and Target data land in AEP, so CJA can measure them alongside other channels.
  • Closing the loop means analysis directly changes targeting.

Interview questions tap to reveal a model answer

How does CJA "close the loop"?

By creating audiences in CJA and publishing them to AEP, where RTCDP or AJO can activate them.

How do you measure an AJO journey in CJA?

Add the journey step event and message feedback datasets to the connection and report on them with conversions.

Why measure Target tests in CJA?

To see test impact across channels and over longer periods than the test report shows.

Create audience dialog in CJA
Screenshot Create audience dialog in CJAAdd screenshots/cja/step-10.png
Step 11

Govern & monitor

Where
Admin Console product profiles; connection health
What you do
Restrict data views by role, monitor freshness, retire stale projects.
Tips
Confirm a restricted user cannot see sensitive data views.
Check before moving on
Access test passed.

Must know

  • Control access to data views through Admin Console product profiles.
  • Monitor ingestion lag, connection health and licensed row usage.
  • Keep a data dictionary and project catalog so users trust the numbers.

Interview questions tap to reveal a model answer

How do you control who sees what in CJA?

Assign data views to product profiles in Admin Console and give users only the profiles they need.

What goes in CJA governance?

Data dictionary, component naming rules, project catalog, access model and regular usage reviews.

What do you monitor after go-live?

Ingestion lag, skipped rows, data view errors and licence usage.

Product profile permissions for data views
Screenshot Product profile permissions for data viewsAdd screenshots/cja/step-11.png

Sources (UI paths checked against Adobe Experience League, Oct 2026 — menus can move between releases; confirm in your org): overview · basic configuration for data views

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 scenario from top to bottom. Add a screenshot and what you learned in the last column.

Travel & Airlines · practice brand: SkyLumen Airways

Lab use case: Trip lifecycle

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

What changes in this domain: Full trip lifecycle across search, booking, in-trip app, post-trip survey

Special considerations: Multi-source stitching (booking engine + app + CRM)

  1. Where do travelers drop from search to post-trip survey?

    How (any domain): List cross-channel questions single tools can’t answer.

    Check: Question list agreed.

    Analysis questions · Travel & Airlines
    Screenshot Analysis questions · Travel & AirlinesAdd screenshots/cja/travel-01.png
  2. Booking, trip, digital and survey datasets.

    How (any domain): Confirm AEP datasets are schema-compliant with a person or account ID.

    Check: Each dataset has a usable ID.

    Datasets · Travel & Airlines
    Screenshot Datasets · Travel & AirlinesAdd screenshots/cja/travel-02.png
  3. Loyalty ID as person ID.

    How (any domain): Data management > Connections > Create: sandbox, datasets, person ID, backfill.

    Check: Row counts match AEP.

    Connection · Travel & Airlines
    Screenshot Connection · Travel & AirlinesAdd screenshots/cja/travel-03.png
  4. Time zone of the departure airport where needed.

    How (any domain): Data views > Create: connection, session timeout, time zone.

    Check: Data view saved.

    Data view · Travel & Airlines
    Screenshot Data view · Travel & AirlinesAdd screenshots/cja/travel-04.png
  5. Route type, days to departure bucket.

    How (any domain): Add dimensions and metrics; build derived fields.

    Check: Components named for business users.

    Components & derived fields · Travel & Airlines
    Screenshot Components & derived fields · Travel & AirlinesAdd screenshots/cja/travel-05.png
  6. Stitch web search to booking.

    How (any domain): Enable stitching where needed; set attribution models.

    Check: Known cross-device person resolves to one ID.

    Stitching & attribution · Travel & Airlines
    Screenshot Stitching & attribution · Travel & AirlinesAdd screenshots/cja/travel-06.png
  7. Travelers who searched 3+ times before booking.

    How (any domain): Reusable filters and calculated metrics.

    Check: Validated against a known benchmark.

    Filters & metrics · Travel & Airlines
    Screenshot Filters & metrics · Travel & AirlinesAdd screenshots/cja/travel-07.png
  8. Trip lifecycle flow.

    How (any domain): Workspace project: flow, fallout, cohort, attribution.

    Check: Stakeholders review the project.

    Workspace analysis · Travel & Airlines
    Screenshot Workspace analysis · Travel & AirlinesAdd screenshots/cja/travel-08.png
  9. Repeat searchers to a fare-alert journey.

    How (any domain): Publish audiences to RTCDP/AJO; restrict data views by role.

    Check: Audience appears in RTCDP.

    Close the loop & govern · Travel & Airlines
    Screenshot Close the loop & govern · Travel & AirlinesAdd screenshots/cja/travel-09.png

Extra steps for this domain

  1. In Phase 3, stitch the booking-engine, app, and CRM datasets together to reconstruct the full trip lifecycle.
  2. In Phase 1, prioritize search-to-book-to-post-trip-survey as the flagship analysis.

Full task list

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

Analysis Use Cases 2 tasks
Confirm Source Datasets 2 tasks
Connections 3 tasks
Data Views 3 tasks
Identity & Attribution 2 tasks
Metrics & Segments 3 tasks
Workspace Analyses 3 tasks
Closed-Loop Integration 2 tasks
Governance 3 tasks

QC / validation checklist

Key terms and sources

Each term links to Adobe's documentation.

TermWhat it is
CJA guideCustomer Journey Analytics documentation home.
ConnectionsBringing AEP datasets into CJA.
Data viewsReporting-time settings on a connection.
Create a data viewStep-by-step data view setup.
Derived fieldsReporting-time dimensions and metrics.
Validate stitchingChecking identity stitching results.
AttributionAttribution models in CJA.
Calculated metricsBuilding calculated metrics.
CJA vs. Analytics featuresFeature comparison between the two products.
Data view basics (tutorial)Tutorial from your board.