Is XDM schema like Snowflake schema | Community
Skip to main content
September 4, 2025
Solved

Is XDM schema like Snowflake schema

  • September 4, 2025
  • 2 replies
  • 505 views

Would it be correct to think of an XDM schema as basically the same thing as a schema in Snowflake? And that XDM is just a data mart for platform? I'm in the process of mapping data from Snowflake into AEP for use with RT-CDP and need to ensure data is mapped correctly to support real- time personalization. 

Best answer by AmitVishwakarma

Hi @lkinoshita ,

No, an XDM schema is not the same thing as a Snowflake schema. While both are called "schemas," they serve fundamentally different purposes. Thinking of XDM as "just a data mart" is an oversimplification that can lead to incorrect data mapping.

Think of it this way:

  • A Snowflake schema is a way to store data efficiently for analysis and reporting.
  • An XDM schema is a common language to describe customer experiences in real-time for activation and personalization.

You are not moving data from one database to another. You are translating data from an analytical storage format into an experience activation format.

Your Snowflake tables are likely structured for efficient reporting. XDM is structured for real-time decisioning.

Follow these steps:

1. Choose the Right XDM Class:
  - Use XDM Individual Profile for "who the customer is" (e.g., customer attributes like loyalty status, name, city from your CUSTOMER_DIM table).

  - Use XDM ExperienceEvent for "what the customer did" (e.g., events like page views, purchases, cart additions from your FACT_SALES table).
2. Map Your Fields:

  - Map columns from your Snowflake customer table to standard XDM field groups like Demographic Details.

  - Map columns from your events table to field groups like Commerce Details.

3. The Most Important Step: Identity Mapping: This is the key to making real-time personalization work. You must tell AEP how to stitch data together to form a single customer profile.

 
Thanks,
Amit

2 replies

AmitVishwakarma
Community Advisor
AmitVishwakarmaCommunity AdvisorAccepted solution
Community Advisor
September 6, 2025

Hi @lkinoshita ,

No, an XDM schema is not the same thing as a Snowflake schema. While both are called "schemas," they serve fundamentally different purposes. Thinking of XDM as "just a data mart" is an oversimplification that can lead to incorrect data mapping.

Think of it this way:

  • A Snowflake schema is a way to store data efficiently for analysis and reporting.
  • An XDM schema is a common language to describe customer experiences in real-time for activation and personalization.

You are not moving data from one database to another. You are translating data from an analytical storage format into an experience activation format.

Your Snowflake tables are likely structured for efficient reporting. XDM is structured for real-time decisioning.

Follow these steps:

1. Choose the Right XDM Class:
  - Use XDM Individual Profile for "who the customer is" (e.g., customer attributes like loyalty status, name, city from your CUSTOMER_DIM table).

  - Use XDM ExperienceEvent for "what the customer did" (e.g., events like page views, purchases, cart additions from your FACT_SALES table).
2. Map Your Fields:

  - Map columns from your Snowflake customer table to standard XDM field groups like Demographic Details.

  - Map columns from your events table to field groups like Commerce Details.

3. The Most Important Step: Identity Mapping: This is the key to making real-time personalization work. You must tell AEP how to stitch data together to form a single customer profile.

 
Thanks,
Amit

September 8, 2025

Thank you, Amit for the detailed and thoughtful explanation, which will help better support my efforts in conveying lthe importance of proper schema configuration within AEP. I hope this answer helps others who may also be running into some of the same challenges when advocating for proper configuration within AEP. 

Sukrity_Wadhwa
Community Manager
Community Manager
September 16, 2025

Hi @lkinoshita,

Was the given solution helpful to resolve your query or do you still need more help here? Do let us know. In case the given solution was helpful, then kindly choose it as the 'Correct Reply'.

Thanks!

Sukrity Wadhwa