Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards
SOLVED

Segment By RTCDP Audience Membership in CJA

Avatar

Level 1

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? 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @WilliamBr6 ,

 

As this is a common challenge in CJA (Customer Journey Analytics) when working with RTCDP (Real-Time CDP)audiences

1. Event-Based Audience Membership Tracking (Recommended)

  • 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)

2. Use Audience Activation Logs

  • 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)

3. Scheduled Snapshots (Workaround)

  • 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...)

  •  

View solution in original post

4 Replies

Avatar

Community Advisor

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!

Avatar

Level 1

Thank you! This is helpful!

Avatar

Correct answer by
Community Advisor

Hi @WilliamBr6 ,

 

As this is a common challenge in CJA (Customer Journey Analytics) when working with RTCDP (Real-Time CDP)audiences

1. Event-Based Audience Membership Tracking (Recommended)

  • 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)

2. Use Audience Activation Logs

  • 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)

3. Scheduled Snapshots (Workaround)

  • 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...)

  •  

Avatar

Level 1

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?