Expand my Community achievements bar.

[Mentor Manoj Kumar] Adobe Real-Time CDP Community Mentorship Program 2024

Avatar

Employee

Hello Team,

Welcome to the Adobe Real-Time CDP Community Mentorship Program 2024! This is the featured Community Discussion/Contextual thread for your Adobe Real-Time CDP Community Mentor, Manoj Kumar!

Manoj Kumar will be your dedicated mentor, providing valuable support and guidance on your Adobe Real-Time CDP queries as you upskill yourself and prepare for Real-Time CDP certification throughout the program.

Know your Mentor Manoj Kumar (aka @_Manoj_Kumar_   )

Manoj is a great contributor to Experience League communities, a CDP expert, and comes with a decade of experience. 

Aspirants mapped to Manoj Kumar

1) Amit Shinde aka @Amit_Shinde1 
2) Joyce Luey aka @JoyceLu1 
3) Hamish Moffatt aka @HamishMo 
4) Vaibhav Seth aka @vabs95 
5) Vinay Prasad aka @vprasad 
6) Priya Singh aka @PriyaSi1 
7) Ravi kiran Paturi aka @RavikiranPaturi 
Waden Greaux aka @thewadeng 
9) Sahil Ramrao Bhogekar aka @sramraobhogekar 
10) Somen Sarkar aka @somen-sarkar 
11) Bhanu Chander Pasala aka @Bhanu8562 
12) Michael Giddings aka @fondofhatsKey 

How to participate in the program

  • Post your Questions in this thread to connect with your Mentor, Manoj , and fellow Aspirant peers.
  • Stand a chance to win the ‘Most Engaging Aspirant’ recognition from your mentor by participating in a weekly quiz.
  • Test your knowledge by replying to the unresolved questions in the Real-Time CDP and AEP community and tag your Mentor to get recognized as an ‘Exceptional Contributor’ by your mentor.
  • Stick to the schedule to cover one module/week and clear Adobe Real-Time CDP Certification during the program: July 15 – Aug 30

Suggested Next Steps for Aspirants:

  • Update your Community Profile photo with your latest headshot to stand out to your Mentor and Peer Aspirants.
  • "Like" this thread to confirm your participation in the program.
  • Introduce yourself to Manoj and your Aspirant peers by Replying to this Thread! Break the ice by introducing yourself (location, org/ company, etc.) and your experience with/ interest in Adobe DX stack. 
  • Post your Questions to this thread as you begin learning more about the Adobe Real-Time Customer Data Platform Developer Expert certification (Exam ID: AD0-E605)
  • Stick to schedule and ensure you track your progress in the exam prep guide.
  • Test your learning by replying to weekly quiz by your mentor
  • Practice the modules by replying to unresolved queries in the AEP community & RTCDP Community and tag your mentor. 

Remember that every post / like / comment you make in your contextual thread and the Real-time CDP Community throughout the program helps increase your chance to be recognized by your Mentor and win exclusive Adobe swag, so bring your best efforts!

We wish you all the best as you embark on this learning experience!

85 Replies

Avatar

Community Advisor

Hello @Amit_Shinde1  @JoyceLu1 @HamishMo  @vabs95 @vprasad  @PriyaSi1 @RavikiranPaturi @thewadeng @sramraobhogekar  @somen-sarkar @Bhanu8562  @fondofhatsKey 

 

I hope you are all well-versed with Module 1 and ready to start this week's learning for Module 2 (Real time customer profile)

 

Topics: 

  • Describe how profile assembly works
  • Describe how the Identity Graph works
  • Describe Profile Composition
  • Differentiate between edge vs. hub profile

If you any questions related to these topics then feel free to post in this thread and I will share the questions of the week on Friday.


     Manoj
     Find me on LinkedIn

Avatar

Level 3

Hello @_Manoj_Kumar_

Would it be possible to post the relevant documentation pages and other resources that would help us to answer these topics? Although this aligns with Module 2 in the Exam Prep Guide, I believe that a more structured approach would help to solidify our learning.

Respectfully, 

@thewadeng 

Avatar

Community Advisor

Hello @Amit_Shinde1  @JoyceLu1 @HamishMo  @vabs95 @vprasad  @PriyaSi1 @RavikiranPaturi @thewadeng @sramraobhogekar  @somen-sarkar @Bhanu8562  @fondofhatsKey 

 

Happy Friday!

 

Here is the question #1 for Module 2 topic:  Describe how profile assembly works

 

You are trying to set up a merge policy to use the dataset precedence. What type of datasets can you use to set up dataset precedence?


     Manoj
     Find me on LinkedIn

Avatar

Level 2

@_Manoj_Kumar_ 

To set up a merge policy using the data precedence, we must select the Profile and ExperienceEvent datasets that are included and then can manually order the Profile datasets for precedence. The top dataset will be given the highest priority.

Avatar

Level 3

@_Manoj_Kumar_

As mentioned in this documentation, you can set up both Profile and ExperienceEvent datasets and manually order the Profile datasets by precedence.

 

Respectfully, 
@thewadeng 

 

Avatar

Level 2

@_Manoj_Kumar_ In order to set up merge policies by data set precedence. we must select Profile and ExperienceEvent Datasets. and then we can manually give precedence to profile datasets. and It will give high priority based on the order we setup for precedence

Thanks,

Sahil

Avatar

Community Advisor

@_Manoj_Kumar_ ,

Profile datasets can be selected for dataset precedence and manually ordered as per priority. Event Datasets are always timestamp ordered.

Thanks,

Somen

Avatar

Community Advisor

Hello @Amit_Shinde1  @JoyceLu1 @HamishMo  @vabs95 @vprasad  @PriyaSi1 @RavikiranPaturi @thewadeng @sramraobhogekar  @somen-sarkar @Bhanu8562  @fondofhatsKey 

 

Happy Friday!

 

Here is the question #2 for Module 2 topic: Describe how the Identity Graph works


Question:

Based on the given fields what would be the identities for this XDM individual class schema?

Field Null  Unique 
Frequency Flyer Number No Yes
Email Yes Yes
Phone No Yes

     Manoj
     Find me on LinkedIn

Avatar

Level 3

@_Manoj_Kumar_ , 

Based on the given fields, I believe that the email would be the primary identity for this schema, as it is both a unique and null value. The Frequent Flyer Number and phone number would be secondary identities.

 

My reasoning is that the email can be more easily stitched into an identity graph and referenced by another schema through a one to one or one to many relationship. I believe that it is a best practice to typically use Profile-based fragments such as email as primary identifiers in schema. 

I derived this answer from my knowledge of identities and how they are ingested into the Identity Graph. 

8/2 EDIT: After thinking over the problem again, I've changed my answer to the frequent flyer number. 

Respectfully, 
@thewadeng 

Avatar

Level 2

@_Manoj_Kumar_ 

We can set the Frequency Flyer Number as a primary identities as this field is a Unique and not null. we can include the Phone as a secondary Identity as it is not null (required checked in XDM schema) and Email as a optional secondary identity as it contains null values.

Avatar

Level 2

@_Manoj_Kumar_ 
Primary Identity - Frequency Flyer Number

Secondary Identity - Phone

  • I believe, as Frequency Flyer Number is unique and not null so it can be considered that it will uniquely identify each individual without any missing data
  • While phone is also unique and not null, It can be considered as a backup identifier in case Frequency Flyer number is not available for some integrations.
  • Email is unique and does contains null values, Hence it is less reliable as a primary or secondary identifier.

Thanks,

Sahil

Avatar

Community Advisor

@_Manoj_Kumar_ ,

Frequent Flyer Number and Phone number are candidate for primary identities as fields are non nullable and unique.  Email should not be used as identity as it may not be present for all individuals.

 

Thanks,

Somen

Avatar

Community Advisor

Hello @Amit_Shinde1  @JoyceLu1 @HamishMo  @vabs95 @vprasad  @PriyaSi1 @RavikiranPaturi @thewadeng @sramraobhogekar  @somen-sarkar @Bhanu8562  @fondofhatsKey 

 

 

Here is the question #3 for Module 2 topic:  Describe Profile Composition


Question:

Adobe RT CDP developer is using HTTP API to ingest the data the following data in CDP.


Ingestion 1:
Profile Payload:

 

{"crm_id" : "1234", "first_name" : "John", "last_name":"Doe"}

 

Event Payload:

 

{"_id" : "100", "crm_id" : "1234", "eventType" : "registration"}

 

 

Ingestion 2:

Profile Payload:

 

{"crm_id" : "1234", "first_name" : "Doe", "last_name":"John"}

 

Event Payload:

 

{"_id" : "101", "crm_id" : "1234", "eventType" : "login"}

 

 

  1. Upon ingestion what would be the final output of Profile in JSON structure?
  2. What would happen if the _id value of event in ingestion 2 is kept 100?

 


     Manoj
     Find me on LinkedIn

Avatar

Level 2

@_Manoj_Kumar_ ,

Part - 1: _id equals 101 in ingestion 2,

 

In this scenario, as the crm_id is same in both ingestion second ingestion will overwrite the profile data as 
"crm_id: "1234"

"first_name":"Doe"

"last_name": "John"

 

Event data - both the events will be recorded under the same profile as they have same crm_id and different '_id' values

Final JSON structure will look like:

{
"crm_id": "1234",
"first_name": "Doe",
"last_name": "John",
"events":[
{
    "_id": "100",
    "crm_id": "1234",
    "eventType": "registration"
},
{
    "_id": "101",
    "crm_id": "1234",
    "eventType": "login"
}
]
}

Part -2 : _id equals 100 in ingestion 2,
In this scenario, as the "_id" value in ingestion 1 and ingestion 2 is equal it will cause an overwrite rather than addition because "_id" serves as unique identifier for events. So, the second payload will overwrite the first one.

Final JSON will look like:

{
"crm_id": "1234",
"first_name": "Doe",
"last_name": "John",
"events":[
{
    "_id": "100",
    "crm_id": "1234",
    "eventType": "login"
}
]
}

 

Regards,

Sahil

Avatar

Community Advisor

@_Manoj_Kumar_ ,

1. Profile should contain following details :- 

{"crm_id" : "1234", "first_name" : "Doe", "last_name":"John" , "eventType[]" : "login","registration"}

 

2. If _id is kept same then the original event data with _id 100 from the first ingestion (which had eventType as registration) will be lost, as it has been overwritten by the second event ingestion. So values should look something like below :- 

{"crm_id" : "1234", "first_name" : "Doe", "last_name":"John" , "eventType" : "login"}

Thanks,

Somen

Avatar

Level 3

@_Manoj_Kumar_

1. The final value would be:

{"crm_id" : "1234", "first_name" : "Doe", "last_name":"John"}

 This is because the new value of first_name has been updated to "Doe" based off the connection with the crm_id. It should be noted that through identity stitching, the original value would be linked with the new value in the Identity Graph.

2. Because of event deduplication, the event would likely drop as the built-in check within AEP for duplicate events would recognize the similar id and not receive the confirmation needed. In this case, the event would be overwritten due to the similar id, so the value would be:

{"_id" : "101", "crm_id" : "1234", "eventType" : "login"}

Respectfully, 
@thewadeng 

Avatar

Community Advisor

Hello @Amit_Shinde1  @JoyceLu1 @HamishMo  @vabs95 @vprasad  @PriyaSi1 @RavikiranPaturi @thewadeng @sramraobhogekar  @somen-sarkar @Bhanu8562  @fondofhatsKey 

 

 

Here is the question #4 for Module 2 topic: Differentiate between edge vs. hub profile


Question:

There 2 two scenarios. 

  1. A profile exists on Hub but does not exists on Edge
  2. A profile exists on both hub and Edge.

What would be the dataflow if an identified customer interacts with a website (Web SDK enabled)?


     Manoj
     Find me on LinkedIn

Avatar

Level 2

@_Manoj_Kumar_ ,
Scenario 1:  A profile exists on Hub but does not exists on Edge

  • When a customer interacts with the website, Web sdk sends a request to the Edge
  • Edge check if the profile exists, In this scenario it doesn't. so Edge requests the profile data from Hub
  • Hub provides the data to Edge, Edge creates the profile using that data and then responds to web sdk with relevant profile data
  • Based on the data personalization occurs and any update during the session sent to Hub from Edge to keep profile Sync up

Scenario 2 : A profile exists on both hub and Edge.

  • When a customer interacts with the website, Web sdk sends a request to the Edge
  • Edge checks if the profile exists, In this scenario it does. so it respond to web sdk with profile data
  • Based on the data personalization occurs and if there are any updates in profile data during the session in the Edge sent to Hub to sync up

In both the scenarios, second scenario will have faster response time compared to first scenario

 

Regards,

Sahil

 

Avatar

Community Advisor

@_Manoj_Kumar_ ,

 

Scenario 1: Profile Exists on Hub but Not on Edge
Initial Interaction:

  • When the customer interacts with the website, the Web SDK captures the interaction data.
  • The Web SDK sends this interaction data to the Adobe Experience Platform Edge Network.

Edge Processing:

  • The Edge Network checks if the profile exists on the Edge. In this scenario, it does not.
  • The Edge Network then forwards the interaction data to the Hub for further processing.

Hub Processing:

  • The Hub processes the interaction data and updates the profile information.
  • The Hub then synchronizes the updated profile data back to the Edge Network.

Edge Update:

  • The Edge Network receives the updated profile data from the Hub and stores it.
  • The Edge Network can now use this updated profile data for real-time personalization and decisioning.
  • Send the edge profile data to website for consumption 

 

Scenario 2: Profile Exists on Both Hub and Edge
Initial Interaction:

  • When the customer interacts with the website, the Web SDK captures the interaction data.
  • The Web SDK sends this interaction data to the Adobe Experience Platform Edge Network.

Edge Processing:

  • The Edge Network checks if the profile exists on the Edge. In this scenario, it does.
  • The Edge Network updates the existing profile with the new interaction data.
  • Send the edge profile data to website for consumption 

Hub Synchronization:

  • The Edge Network forwards the updated interaction data to the Hub.
  • The Hub processes the interaction data and updates the profile information.

Hub-to-Edge Sync:

  • The Hub may send back any additional profile updates to the Edge Network if necessary.
  • The Edge Network ensures the profile data is consistent and up-to-date for real-time use.

Thanks,

Somen

Avatar

Level 3

@_Manoj_Kumar_

Scenario 1: When the customer interacts with the website, their Profile information will be sent in a payload to the Edge Network as part of collection via WebSDK. Once it reaches the Hub, the information is compared against the Edge to see if the Profile information exists. If it doesn't exist, then a Profile is created. Once the information in the Hub has been created and updated, then it is sent back to the Edge for use in personalization.

 

Scenario 2: Similar to the first scenario, Profile information is sent through a Payload to the Edge Network which is then compared to the information on the Hub Network. If any discrepancies are found, then the information is updated to reflect the new value and sent back to the Edge Network for personalization. 


I derived this knowledge based on my understanding of the Edge Network and Hub. On that note, where would I find documentation to learn more about this in detail?

Respectfully, 
@thewadeng