---
title: Real-time CDP
slug: manila2026/real-time-cdp
docTags: 
createdAt: 2025-08-20T00:57:16.254Z
---

# Scenario&#x20;

Based on our analysis we identified that offline sales are trending down with customers in melbourne and sydney.   It's agreed that we need to:

1. Run a retention campaign targeting at risk subscribers with limited time offers
2. At the same time we'll run a brand recognition campaign&#x20;

As part of the Marketing Operations team at Frescopa you have been tasked to define the target audiences for the planned campaigns.  We shared an audience created from our analysis already but this is focusing on past behaviour, in this lab we will create an real-time Audience in Adobe Experience Platform to identify at risk subscribers when they land on the website, this audience will be used for same page personalisation by Adobe Journey Optimizer and Promotion qualification by Adobe Commerce.  &#x20;

:::hint{type="info"}
Of course, we also support non Adobe solutions for real-time personalisation and e-commerce use cases, these are enabled through the [Custom Personalisation ](https://experienceleague.adobe.com/en/docs/experience-platform/destinations/catalog/personalization/custom-personalization)destination connector.   If you want to know more, ask one of the solution consultants nearby and we'll be happy to run you through it.&#x20;
:::

# Access

Switch to **Adobe Experience Platform** using the solution switcher:&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/12hA2YOOa0oaWwY8yh_nR_image.png)

For this exercise we will use the **FAC (AUS5)&#x20;**&#x73;andbox.   Change to this sandbox if you are not already in there.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/U0pNlxVGgtTctZNSdBj5i_image.png)

# Visit the Website

Before we start creating audiences for our use case, let's take a quick look at how streaming event data is ingested in real time, and how it can be used to personalize onsite experiences. &#x20;

Open the Frescopa website in an incognito browser and click around a few pages. &#x20;

[https://dsn.adobe.com/p/frescopacoffee](https://dsn.adobe.com/p/frescopacoffee)

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/KAyqSdPtskYawfC3vUPHf_image.png)

Adobe's SDK is implemented on the page and is collecting tracking events with every click.  &#x20;

Click on the **Adobe Icon** to open the profile viewer in the top left corner. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/4mu4NrfmcFuTo0T0X7ijH_image.png)

You can see that initially our profile is anonymous, we have only Adobe's Experience Cloud Id.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/N7mRKI7-4tqFrRufsXk-a_image.png)

Click on the **Events** tab to see the events that have been recorded in real-time against the profile. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/LDiSUhM1F1nv7naHFMLko_image.png)

The profile will remain anonymous until a customer identifier is provided.  Click on the **Sign In** button on the top right.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/g9b9E2AcFFeeLVUiiG05P_image.png)

Use one of the **email addresses** below to authenticate on the website.  No password is needed. &#x20;

| **Firstname** | **Email**                 |
| ------------- | ------------------------- |
| Jocelyn       | fresco345\@gmail.svpoc.io |
| Gertruda      | fresco386\@gmail.svpoc.io |
| Jena          | fresco738\@gmail.svpoc.io |
| Mychal        | fresco692\@gmail.svpoc.io |
| Corilla       | fresco993\@gmail.svpoc.io |
| Luther        | fresco469\@gmail.svpoc.io |
| Boigie        | fresco872\@gmail.svpoc.io |
| Laurena       | fresco246\@gmail.svpoc.io |
| Simmonds      | fresco472\@gmail.svpoc.io |
| Emmanuel      | fresco11\@gmail.svpoc.io  |

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/z0k7qhKZBWi5-X6Oe-hw2_image.png)

View the events tab again, the Web Signin event will trigger a new entry into the Identity Graph, stitching the ECID with the Email address. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/X__NzRoadRnYck1FUNKfw_image.png)

Stitching of new identities takes a few minutes, so you won't see the profile attributes update immediately here, but that doesn't mean we can't qualify for segments and personalise in real-time.&#x20;

Click to view one of the **Machine** products. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/-lwaztQMpjGrbh81sY5pc_image.png)

This will trigger a real-time audience qualification.    Click on the **Frescopa** logo to return to the home page.   The messaging on the banner image is updated.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/gQMc0OyYa2D0RJI6Rpc1Y_image.png)

:::hint{type="info"}
Note that some flicker is expected here on our demo website, proper implementation on a production website can avoid this side effect.&#x20;
:::

Now that you've seen the data collection and audience qualification in action, let's move on to viewing the profile in Adobe Experience Platform and creating some real-time audiences of your own. &#x20;

# The Unified Profile

The data collected from all of the source systems is unified into an actionable profile based on the identities collected from each source.   Follow the instructions below to look up the profile you just authenticated with on the website.&#x20;

Browse to **Customer -> Profiles.  &#x20;**&#x54;he **Overview&#x20;**&#x64;ashboard shows insights on how many profiles exist in the sandbox along with the distribution of identities.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/cjDz8PaQ0ekVQYw64099V_image.png)

To lookup a specific profile, move to the **Browse&#x20;**&#x74;ab.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/xF_ONscLIktVN6e8y7E6i_image.png)

Profiles can be retrieved by any of the attributes which have been defined as "Identities".   Which **Identity Namespaces** are leveraged depends on your organisations requirements.  Frescopa are currently using a custom cross device id called **Demo System -  CRM ID&#x20;**&#x61;s well as **Email&#x20;**&#x61;ddress to identify known users.   Any user who's authenticated on the website will have one or more **ECID&#x20;**&#x63;ookies also.   For this exercise we will use a known customer id to look up your profile. &#x20;

First set the **Identity Namespace&#x20;**&#x74;o be **Email&#x20;**&#x6F;r **Demo System -  CRM ID.  &#x20;**&#x54;hen use any of the customer id's below to look up their profile.  &#x20;

| **Demo System -  CRM ID**            | **Email**                 |
| ------------------------------------ | ------------------------- |
| 1f7fea99-6480-496b-8e02-7222b7d99815 | fresco345\@gmail.svpoc.io |
| 47d28cfc-97fa-4854-b056-9664941d094c | fresco386\@gmail.svpoc.io |
| 7a6ac21e-980c-4122-bc0f-61f3a6823770 | fresco738\@gmail.svpoc.io |
| b4bf11db-7207-4bce-a1d5-b9fb8d5eede9 | fresco692\@gmail.svpoc.io |
| 91b118eb-bfed-485d-b4dc-ecb2f80e4ed2 | fresco993\@gmail.svpoc.io |
| 43c197fd-f8cb-4349-ae32-de4489546d50 | fresco469\@gmail.svpoc.io |
| 2260b90a-d234-42a2-9a46-4587df890a02 | fresco872\@gmail.svpoc.io |
| 8c73783a-e44a-445a-a0f3-2a438bf880c1 | fresco246\@gmail.svpoc.io |
| b9a7fbbe-2f84-40fc-aa52-ab477493f04a | fresco472\@gmail.svpoc.io |
| 5a8b0e88-eae1-44a0-9760-ccc90ff5f3cc | fresco11\@gmail.svpoc.io  |

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/71Oe6RQINRih1aMeDiBHb_image.png)

Click to **View&#x20;**&#x62;utton to search for the profile, then click on the Profile Id to view the profile details.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/W_bPo_6Xl-KLVlA9yN0CU_image.png)

The **Detail** tab shows us some basic information about the profile, which fields are displayed here can be customized according to business needs.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/jpXRsRImFpa4aEFzP8_nD_image.png)

There are 2 main types of data collected against the profile, **Attributes** and **Experience Events**.   Profile can change over time while Experience Events represent point in time interactions a profile has had with your brand, whether that's viewing a web page, watching a show, making a booking, calling the call center or visiting a store.  &#x20;

Click on the **Attributes** tab to view the full list of attributes ingested for this profile.  These attributes can come from different source systems, Adobe Experience Platform will merge them in real-time. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/mm2_FiciWfNQ0IySfllUT_image.png)

Click on the **Events&#x20;**&#x74;ab.   Here you can see a chronological view of all the behavioural experience events coming from different source systems for this profile.   These events are ingested in real-time from the sources like your website and mobile app.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/jVtMpzFcjZ0gez8vQU4yp_image.png)

Move to the **Audience membership** tab.  Here you can see which audiences the profile is currently a member of, this list will update as the profile moves in and out of audiences based on their attributes and behavior.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/xzNbpykJeCjw9FjtCRr7Z_image.png)

Lastly, return to the **Details** tab and click to view the **Identity Graph**.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/_OyR7qsd_13WO7Wtt6tms_image.png)

Here you can see a visualisation of the Identity Graph linking all of the different sources of information together to create our profile.  You can see that there are multiple ECID's or Cookie ID's attached to the profile, this represents the different devices that the customer has identified themselves on.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/BKIWZogQsqRnKQxxZe-8F_image.png)

Use the slider to see how the graph grew as the profile interacted over time.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/xpPJcFksJ25bY5Ie4RuTc_image.png)

# Create a real-time audience

We want to create a real-time audience for the retention campaign - we will leverage the rule based audience builder to do this.  Our audience will have two rules:&#x20;

- Predictive Churn Score - calculated externally or by Adobe is greater than 70
- Customer has visited the support or contact page today&#x20;

Click on **Customer -> Audiences,&#x20;**&#x74;hen click **Browse&#x20;**&#x74;o open the **Audience Portal.**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/oMVwhYjekJY7Z79o787bm_image.png)

Click on the **filter** icon.  The **origin** shows the many types of audiences that can be found in the portal.  Each audience can be tagged for easy filtering, apply a filter for **Frescopa&#x20;**&#x74;ag, to show the audiences already available. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/S4vJ7VZCdqmqrgfckttUp_image.png)

Let's create our new audience.  Click to **Create Audience&#x20;**&#x69;n top right corner.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/VdOogiTeWxEa4us5gnbFt_image.png)

Click to **Build rule&#x20;**&#x61;nd click **Create.**

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/iKnp52hpd9tWlBvwiMi6Z_image.png)

The drag and drop audience builder will open.   Search for **Churn&#x20;**&#x69;n the attributes tab. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/Xm10SmhfbvqqgQoCoiUbv_image.png)

Drag the **churnPrediction&#x20;**&#x61;ttribute into the canvas and set the condition to **is greater than 70.  &#x20;**&#x59;ou can click the **Refresh estimate&#x20;**&#x74;o get an idea of how many profiles will qualify so far.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/OrE9tUoEyWtpWncYQpkm8_image.png)

Next we'll add the event based condition.  Click to move to the events tab.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/T1Xlbo1My1nQhpEW8yzzO_image.png)

Search for **page** and click into the **Web Page Details&#x20;**&#x65;lement.  &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/kXKFqAi37n-DsvJ_f5zYu_image.png)

Drag the **Name&#x20;**&#x61;ttribute into the canvas.   This attribute contains the page name collected from the website. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/VyTAYIg7Lf_BXjT30nsD0_image.png)

Change the event rules to specify the **Name&#x20;**&#x73;hould contain **support&#x20;**&#x6F;&#x72;**&#x20;contact. &#x20;***Hint: type one value into the text box and hit enter before adding the second. &#x20;*

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/zswIl-aeZUBGbfvcaylQf_image.png)

Next we'll change the timerange for our event to be within the last day.  &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/rRCXDu2YXCioutT7tIFUJ_image.png)

Lastly we need to configure the Audience Properties:

**Name**: give your audience a unique name - include your initials perhaps

**Description:&#x20;**&#x61;n optional description to help others understand the purpose of this audience - this will also be leveraged by the audience agent to understand more about the audience.&#x20;

**Tags:&#x20;**&#x61;dd the Frescopa tag for easy sorting and filtering&#x20;

**Evaluation Method:&#x20;**&#x53;et the evaluation method to **Edge&#x20;**- this ensures the audience will qualify in real-time (sub 250 milliseconds) when the customer lands on the website. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/gdSFUxOUdlv7zeECCYvwg_image.png)

Click to **Publish&#x20;**&#x74;he audience. &#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/LLTqCYhlH6kNJnFWZzShT_image.png)

:::hint{type="success"}
Congratulations!  You've created your first real-time audience in Adobe Experience Platform.  &#x20;

One of Adobe's differentiators is being able to create dynamic and sequential audiences within this rule builder.   We can for example build audiences based on a sequence of behaviours such as - viewed a product, then added it to their cart but did not make any purchases.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/kO1-UQY-VslLIUSjWLigM_image.png)
:::

# AI Assistant

In this exercise you can explore how the AI Assistant can support you across your workflows.    Including:&#x20;

- Product knowledge to understand concepts on the fly&#x20;
- Operational Insights to gain insight on objects you or your team have built

The Assistant is also how you access the **Audience Agent,&#x20;**&#x69;t can provide insights on your profiles and audiences.  This can be helpful for audience maintenance and for planning new audiences.  &#x20;

Click to open the **AI Assistant** in the top right corner.&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/xrYiVLgfGqXTm7n9-KaeP_image.png)

:::hint{type="info"}
You might be asked to accept the Generative AI User Guidelines and Beta Agreement, you can safely do this in our demo environment.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/VU3tlAOgHa9em1xt68L5j_image.png)

Following the license agreement there will be a disclaimer, you can safely close this also.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/xKOsMlTTctf4yyUc5Jytl_image.png)
:::



Before asking any question, let's check if our AI Agent as the right context. As you may have access to multiple product, environement, reporting suite, we need to check we are asking question about the right one. Click on the context option (check red square in the screenshot below) and ensure those options are selected :&#x20;

- Documentation source : Journey Optimizer
- Sandbox : Prod - FAC (AUS5)
- Dataview : Frescopa Data View

&#x20;If not , change it and click on **set context**.&#x20;



![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/AMnIRBDnP1wKGnT9r2sl7_image.png)

We can now start to ask question. the agent can propose a library of prompt, but you can type your own. Try : ***How do I create an audience from a CSV file.***  &#x20;



![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/aV3_7wGdvUZYgEhDTK0A9_image.png)



AI Assistant is also able to help with Operational Insights based on what is configured within your sandbox.  In the AI Assistant input field, begin typing “**What do you know about audience +**”, the + will open the object selector.  &#x20;

::Image[]{src="https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/bNpYxDspI3X5aS3sc81v-_image.png" size="80" width="505" height="284" position="center" showCaption="false"}

Start typing **Frescopa&#x20;**&#x20;and you'll see the objects list update as you type.   Select **Frescopa - Active Subscriber&#x20;**&#x61;udience from the drop down.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/YfhuBy1HN9tcJHkDHkHVs_image.png" size="80" width="515" height="799" position="center" showCaption="false"}

Once AI Assistant provides a response, take note of the structured output, which consists of three key sections:&#x20;

1. Actual response and data – The primary insights retrieved from Adobe Experience Platform.&#x20;
2. How AI Assistant interpreted your question – Explanation of AI Assistant’s reasoning.&#x20;
3. How the answer was derived – The logic and steps behind the response.

::Image[]{src="https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/sZXucqPvksAsC0MyKedCO_image.png" size="78" width="501" height="799" position="center" showCaption="false"}

Continue by asking the agent how it **evolves during last month**?

You should see the trends. If it declines, maybe it't time to retraget people with churn risk.

We will see that in Demo. This concludes our exercices.&#x20;

&#x20;&#x20;

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/LCW-QpVH0SyffasBgdaG__image.png)



# Summary&#x20;

By consolidating known and pseudonymous customer data from diverse sources—such as CRM systems, behavioural events, and device IDs—RTCDP creates a single, actionable view of your customers.   AEP Provides a central repository for all of your audiences regardless of how they're created.  Enrich and segment unified profiles in real time with the segmentation service and leverage AI-powered insights to fuel your workflows, ensuring your campaigns are on target and relevant.

