We have users who would like to do analytics in CJA on a population of people who are in an audience in RTCDP. The solutions I have found so far have been to ingest segment membership from the XDM individual profile schema, and while this will tell me audience membership TODAY, we want to see who was in the audience a month ago. Has anyone been able to do this as segment membership overwrites history?
Solved! Go to Solution.
Views
Replies
Total Likes
Hi @WilliamBr6 ,
As this is a common challenge in CJA (Customer Journey Analytics) when working with RTCDP (Real-Time CDP)audiences
Best practice is to log segment entry/exit as events to a behavioral event dataset, such as an XDM schema designed for:
Segment Entry
Segment Exit
This gives you historical timestamps for:
When a user entered or exited a segment
Can be used in CJA with full date-based filtering
In RTCDP, set up Audience Activation to:
Send a real-time signal or data forwarding to Adobe Journey Optimizer, Event Forwarding, or Streaming Connector
That connector then sends a custom event into Adobe Analytics/CJA (via Web SDK or AEP Streams)
If you're activating RTCDP audiences to destinations (e.g., ad platforms), check if activation logs are being stored in a data lake or export destination.
These logs can be ingested as a historical membership dataset in CJA (often via Data Prep + Event schema)
If you can’t implement event-based tracking:
Schedule a daily export of audience membership to a data lake
Include timestamp + user ID + audience name
Ingest that as a daily batch dataset in CJA
This allows pseudo-historical tracking (e.g., segment membership as of June 10, June 11...)
Hi @WilliamBr6
You are right, using RTCDP audience membership from the profile schema only reflects current audience status. Since it's not event-based, it doesn't retain historical data, so it's not possible to see who was in an audience at a specific point in time using that method alone.
To enable historical analysis of audience membership in CJA, the recommended approach is to log audience qualification as an event. This involves sending a signal to an event dataset at the time a user qualifies for an audience. Once it's part of the event stream -
You can analyze when users entered an audience.
Build segments like “users who joined Audience X during June.”
Break down engagement or conversion behavior over time by audience entry.
This setup provides the flexibility needed for time-based audience analysis, which isn’t possible through profile-based audience membership alone.
Hope that helps!
Thank you! This is helpful!
Hi @WilliamBr6 ,
As this is a common challenge in CJA (Customer Journey Analytics) when working with RTCDP (Real-Time CDP)audiences
Best practice is to log segment entry/exit as events to a behavioral event dataset, such as an XDM schema designed for:
Segment Entry
Segment Exit
This gives you historical timestamps for:
When a user entered or exited a segment
Can be used in CJA with full date-based filtering
In RTCDP, set up Audience Activation to:
Send a real-time signal or data forwarding to Adobe Journey Optimizer, Event Forwarding, or Streaming Connector
That connector then sends a custom event into Adobe Analytics/CJA (via Web SDK or AEP Streams)
If you're activating RTCDP audiences to destinations (e.g., ad platforms), check if activation logs are being stored in a data lake or export destination.
These logs can be ingested as a historical membership dataset in CJA (often via Data Prep + Event schema)
If you can’t implement event-based tracking:
Schedule a daily export of audience membership to a data lake
Include timestamp + user ID + audience name
Ingest that as a daily batch dataset in CJA
This allows pseudo-historical tracking (e.g., segment membership as of June 10, June 11...)
Hello,
Thank you so much for this response, this is very helpful.
I wanted to follow up on a few points here. So, we currently have event-based audience membership, however there are a few problems with it. One is profiles can rapidly move in an out of audiences, having 20+ events in a given day. This makes it difficult to determine when someone was in an audience as a segment saying "entered and not exited" doesn't work. I have tried using the most recent function in the derived field builder, but it didn't work properly.
I am interested in your second solution here. Is this saying that we could potentially ingest audience membership when the audience was activated to a destination?
Views
Replies
Total Likes
Views
Likes
Replies