How Audience Analysis Works in CJA with RT-CDP ?
The Problem Statement
How do we connect RT-CDP audience segments with CJA event data to analyze customer journeys, despite differences in identity stitching models and delayed audience data availability?
Answer-
If you are setting up Adobe Customer Journey Analytics (CJA) along with Real-Time CDP (RT-CDP), you might notice an interesting challenge.
Both platforms handle identity stitching in very different ways:
- RT-CDP builds a real-time Identity Graph to link users across systems.
- CJA works on fast, query-based analysis using flattened event data (like web/mobile logs).
So the key question is:
How do these two systems connect?
How does an audience created in RT-CDP match perfectly with web or mobile events in CJA?
Let’s break it down step by step.
Core Concept: Persistent ID vs Person ID
When you configure a dataset (WebSDK or Mobile) in CJA, you define two important fields:
Persistent ID → Identity Graph → Person ID
(Raw Input) (Linking) (Final Output)
-
Persistent ID (Input):
This is the ID present in raw data (like ECID / device ID).
It tracks anonymous users. -
Person ID (Output):
This is the final unified ID (like Membership ID) used in CJA reports.
Step 1: How Stitching Works (Real-Time Flow)
When Graph-Based Stitching is enabled:
- A user visits the website → event comes with ECID (example: Cookie_12345)
- CJA queries AEP Identity Graph:
“Is this ECID linked to any known user?” - Result:
- If linked → Person ID = Membership ID
- If not → Person ID = ECID (temporary fallback)
🔁 Replay Window (Important)
If the user logs in later (say Day 5):
- AEP links ECID → Membership ID
- CJA goes back (up to 14 days)
- Updates old anonymous events with the correct Person ID
✅ Result: Past anonymous activity becomes part of the unified profile
Step 2: Audience Mapping (CJA + RT-CDP Connection)
Even after stitching, CJA still doesn’t know audience segments.
That comes from RT-CDP.
To solve this, Adobe creates 2 datasets:
1. Profile Snapshot Dataset
- Contains all customer profiles
- Includes segment membership (audiences each user belongs to)
2. Audience Lookup Dataset
- Contains:
- Audience ID
- Audience Name
- Description
🔗 How Mapping Works
Event Data (Person ID)
↓
Match with Profile Dataset
↓
Check Segment Membership
↓
Use Lookup Dataset to show Audience Name
Example:
- Person ID = Membership_999
- Profile shows audience ID
- Lookup converts it to: "Non Loyalty Members"
✅ Now CJA can show audience data in reports
🔹 Important Limitations / Gotchas
1. Not Real-Time (Audience Delay)
- Profile snapshot is updated once daily
- Audience data in CJA = yesterday’s view
2. Streaming Audience Issue
- Streaming audiences update instantly in AEP
- But they won’t appear in CJA unless batch evaluation is enabled
3. Data Retention in CJA
- If CJA keeps only 30 days of data:
- You will see only users active in last 30 days
- Even if audience size is larger in AEP
✅ Final Summary
- Identity Graph (AEP): Links device IDs to real users
- Profile Service (AEP): Builds audiences
- CJA:
- Uses stitched Person ID
- Matches with profile data
- Adds audience details in reports
👉 In short:
AEP handles identity + segmentation, CJA uses it for analytics and reporting.