[Mentor Manoj Kumar] Adobe Real-Time CDP Community Mentorship Program 2024 | Community
Skip to main content
NimashaJain
Adobe Employee
Adobe Employee
July 15, 2024

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

  • July 15, 2024
  • 30 replies
  • 10970 views

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!

30 replies

Amit_Shinde1
Level 2
July 26, 2024

Hi @_manoj_kumar_ 

I have below queries regarding the Identity service, Real time profiles and profile syncing. Could you please help me on this?

1. Identity Service - how primary and secondary identities map the events/profiles and how can we identify which field is primary/secondary in Identity?
2. What are the ways we can validate a Real-Time Customer Profile after getting profiles from multiple datasets?
3. How Adobe Edge Network and real time customer Hub profile get synced? is hub profile is always get sync with edge profile?

Manoj_Kumar
Community Advisor
Community Advisor
July 26, 2024

Hello @amit_shinde1 

 

Thanks for posting the questions on the thread.

 

1. Identity Service - how primary and secondary identities map the events/profiles and how can we identify which field is primary/secondary in Identity?

Lets break down this question in 2 parts. First is how to define Primary/Secondary identity - You can only define one primary identity while designing the schema and any other identity within in the same schema acts as secondary identity.

Refer to the screenshot below

 

Loyalty Id is marked as Primary and you can have only one Primary identity in the schema. Any other identity will be secondary identity.

Second part: How identities map the profile/event data.

As long as the identity marked in profile/event schema matches the profile/event data will be mapped. For eg If you schema has Loyalty ID as Identity and the value is 123. If you have the same Loyalty ID declared in event schema and the values of event payload is 123. Then the event will be tried for the profile.

 

You can read more about identities on the documentation here: https://experienceleague.adobe.com/en/docs/experience-platform/identity/identity-and-profile#understanding-primary-and-secondary-identities

Manoj     Find me on LinkedIn
Manoj_Kumar
Community Advisor
Community Advisor
July 26, 2024

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

 

Here is the first question of the week for topic: Based on a scenario, translate RDBMS to RTCDP's NoSQL data model

 

An e-commerce company is considering migrating its customer data from a traditional relational database management system (RDBMS) to Adobe Experience Platform (AEP) Real-Time Customer Data Platform (RTCDP). The company's customer data includes a wide range of attributes, such as customer profiles, purchase history, product preferences, and marketing interactions.

To best enable data onboarding to AEP, which approach should be taken when translating the RDBMS data model to AEP RTCDP's XDM data model?

  1. Create a single XDM schema with all customer data attributes, replicating the RDBMS structure
  2. Create separate XDM schemas for each customer data entity, utilizing denormalization to reduce joins
  3. Employ logical grouping to categorize customer data based on usage patterns and create XDM schemas for each group
  4. Implement profile and experience event classes, denormalizing frequently accessed data and linking them through relationships

 

You can refer to this documentation to get an understanding to the question:

https://experienceleague.adobe.com/en/docs/experience-platform/xdm/schema/best-practices#create-an-erd

 

 

Manoj     Find me on LinkedIn
Level 2
July 26, 2024

@_manoj_kumar_

I believe that the answer is 4. This is because of a few factors: 

  • It is considered best practice to use XDM Individual and Experience Event Classes whenever possible.
  • Denormalizing frequently accessed data is a standard of Adobe's XDM model, as it allows for easier segmentation and simpler queries using Query Service.
  • Relationships help contribute to the Identity Graph, which in turn helps contribute to the development of profiles using profile fragments and identity stitching which is merged by Profile.

My reasoning was based off the documentation and the process through which I would translate a RDBMS table into XDM's model. 

Respectfully, 

@thewadeng 

 

Manoj_Kumar
Community Advisor
Community Advisor
July 26, 2024

Yes, That's the correct answer @thewadeng 

Manoj     Find me on LinkedIn
Manoj_Kumar
Community Advisor
Community Advisor
July 26, 2024

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

 

Here is the second question of the week for topic: Demonstrate best practices for modeling the Real-Time Customer Profile 

 

A data architect needs to label a phone number field as a person-based identity within a schema.
What can a data architect do to make sure the field only accept valid input?

  1. Add regex field to the payload/CSV fil..
  2. Add regex pattern to identity name space of the identity
  3. Add regex pattern to the schema field 

 

 

Manoj     Find me on LinkedIn
Level 2
July 26, 2024

@_manoj_kumar_

I believe that is the correct answer. I do not believe it is possible to add regex patterns to identity name spaces at this time. I also believe that adding regex to the field will allow for values to be captured at the time of ingestion and filtered later based on the namespace of the identity. 

 

My reasoning was based off my current knowledge of both RT-CDP and Identity Service.

 

Respectfully, 
@thewadeng 

Manoj_Kumar
Community Advisor
Community Advisor
July 26, 2024

@thewadeng  You are killing it. That's the correct answer

Manoj     Find me on LinkedIn
Manoj_Kumar
Community Advisor
Community Advisor
July 26, 2024

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

 

Here is the third question of the week for topic: Design the identity strategy and relationships for modeling

 

For an Airline company, the customer can login to the mobile app either via a Frequent Flyer number or an email address. At a given point you will have access to one of the them. The goal is to use only on Primary identity to identify a customer.

How can you capture a login event in RT CDP when multiple identities are involved? 

  • Make the Frequency Flyer number as Primary identity and email as secondary identity
  • Create two separate event schemas for each identity
  • Use identity map and set primary identity while capturing the event.

 

 

Manoj     Find me on LinkedIn
Level 2
July 26, 2024

@_manoj_kumar_

I believe that the answer is 3. Using the process of elimination and given what we know about the requirements of the company, the following can be deduced:

  • Marking the Frequency Flyer number as the Primary Identity and the email as secondary identity would work if at the time of login we had access to both; however, as the system is dynamic, this would not be a suitable solution as there would be discrepancies with data if the email were to be collected. 
  • Creating two separate event schemas for the company would be an alternate option, but this would not align with Adobe's best practices, as such schemas create redundancy and overhead within an XDM ERD. 
  • The IdentityMap makes the most sense, as we can configure it to deliver the correct identities at the time of login based on the user's path. We can set the primary identity at the time of event, ensuring that there is no disruption in data. 

Respectfully, 
@thewadeng 

Manoj_Kumar
Community Advisor
Community Advisor
July 26, 2024

 @thewadeng That's the correct answer.

@Amit_Shinde1  @JoyceLu1 @HamishMo  @vabs95 @vprasad  @PriyaSi1 @RavikiranPaturi  @sramraobhogekar  @somen-sarkar @Bhanu8562  @fondofhatsKey  Did you know the correct answer? 

Manoj     Find me on LinkedIn
Manoj_Kumar
Community Advisor
Community Advisor
July 29, 2024

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
Level 2
July 29, 2024

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 

Manoj_Kumar
Community Advisor
Community Advisor
August 2, 2024

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
Amit_Shinde1
Level 2
August 2, 2024

@_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.

Manoj_Kumar
Community Advisor
Community Advisor
August 2, 2024

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
Level 2
August 2, 2024

@_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 

Manoj_Kumar
Community Advisor
Community Advisor
August 2, 2024

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
Level 2
August 2, 2024

@_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

Manoj_Kumar
Community Advisor
Community Advisor
August 2, 2024

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
Level 2
August 2, 2024

@_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

 

Manoj_Kumar
Community Advisor
Community Advisor
August 5, 2024

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

 

Welcome to the 3rd week of learning Adobe RT-CDP. 

 

This weeks topics is:

Data Ingestion

  • Describe data ingestion capabilities with the CDP
  • Describe the capabilities of Edge ingestion
  • Describe the advanced techniques around data ingestion architecture

 

Manoj     Find me on LinkedIn