In this blog, we will provide an overview of how to start leveraging the new CRM enrichment features offered by Data Cloud in Salesforce. We will discuss the ingestion of transaction and Salesforce CRM data, the necessary processing steps, and how to utilize this data within Salesforce CRM. The focus will be on the following key objectives:

  1. Display Latest Transactions: Show the most recent transactions on the contact page using Related Lists.
  2. Calculate Lifetime Value (LTV): Compute and display the contact’s lifetime value on their record.
  3. Identify and Notify VIP Customers: Recognize VIP customers and notify the contact owner when a contact reaches VIP status through a flow.

Let’s dive into the details of these steps to help you enhance your CRM data and make the most out of Salesforce’s new features.

Setting Data Cloud Up

As mentioned, I won’t go through all the detailed steps to get up and running with Data Cloud. There are several excellent trails that guide you through the process—start here if you’ve just had a new org provisioned. However, I want to highlight the basic setup we did to leverage the Data Cloud CRM Enrichment features, all within Salesforce, in a way that feels.

Data Cloud Setup

While I’m not providing a step-by-step walkthrough for setting up a newly provisioned Data Cloud org, it’s important to note that there are some basic administrative steps that need to be completed before you can access and use Data Cloud. Here are the essential steps to ensure you and your users are ready to maximize your data:

  • Assign the Data Cloud Admin permission set to the admin user.
  • Enable Data Cloud from the Data Cloud Setup with the Data Cloud Admin permission.
  • Create connections to external sources and Salesforce CRM in the Data Cloud setup.
  • Ensure the Standard Data Bundles are installed or updated in Salesforce CRM for easier Data Model mapping.
  • Create custom permission sets for Data Cloud users.
  • Assign the custom permission sets to Data Cloud users.

Creating Data Streams & Data Lake Object

From the Data Stream tab, you can create new Data Streams from Salesforce CRM and external sources. For demo purposes, we have set up a few Data Streams that include standard data bundles for Sales and Service when Salesforce CRM is selected as a source.

The great thing about the bundles is that everything comes pre-mapped, requiring minimal setup after creation. For our demo, it’s crucial to have the contacts ingested.

We also have transaction data ingested from Amazon S3. For demo purposes, we generated data using Mockaroo, so all screenshots will feature fake data. However, we ensured that the data includes a few fields necessary for our data transformation. Below, you can see a screenshot from the Data Lake Object (DLO) categorizing this data as engagement data and providing an overview of all the fields we are ingesting.

Map to the Data Model Object

Now that we have the transactions ingested, we need to ensure we map the fields to the data model. In the model below, you can see how we have 1) created a custom Data Model Object (DMO) for transactions and 2) mapped all the fields from the Data Lake Object (DLO) to the new DMO. This mapping can be easily done from the DLO page via the mapping section on the right.

In order to link the transactions back to a contact and individual, we’ve made sure to create the relationship from the new Transactions DMO as seen below.

As mentioned, there’s no need to map the Salesforce CRM data if we stick with the standard fields. Therefore, we didn’t perform any additional setup. However, if you’re bringing in custom objects and fields, you would need to go through the mapping process and potentially add relationships according to your data model.

Setting up Identity Resolution & Unified Individual

For the CRM enrichment features to function properly, it’s essential to establish a “unified individual.” This involves setting up identity resolution rules to consolidate fragmented data into a single, accurate profile. Once the identity resolution rule is activated, a new Data Model Object (DMO) named “unified individual” is created.

Identity resolution rules can be configured and managed from the Identity Resolution tab. In my demo org, I don’t have fragmented or duplicate data. However, in a production org, it’s common for profile data to be less clean, making these rules invaluable.

In my example, I’ve set up a straightforward rule using fuzzy name matching and normalized email formats. You can adjust the rules to be stricter or more lenient, affecting how many profiles are consolidated. Since my data is simple and clean, you’ll notice a 0% consolidation rate.

Creating Aggregated Metrics

For our use case, we aim to calculate the Lifetime Value (LTV) of a customer and add it to the Salesforce Contact record page. Additionally, we need to create a “VIP” boolean field that can be used in a flow. In Data Cloud, we have two main tools for this: Calculated Insights (CI) and Data Transforms.</span >

Calculated Insights (CI) are ideal for aggregating data to use in segments and analytics. On the other hand, Data Transforms are more focused on data cleansing and transformation tasks.</span >

With my background in CRM Analytics, I opted for Data Transforms. However, both CI and Data Transforms can work effectively with CRM enrichment features as long as they are linked back to the individual. For CIs, this means ensuring a join to the individual Data Model Object (DMO).</span >

Since I chose a Batch Data Transform, I needed to create a Data Lake Object (DLO), map it to a Data Model Object (DMO), and join it to the individual. This setup provides a destination for the aggregated output and ensures it can be leveraged effectively later on.

As mentioned, we are aggregating the LTV for each customer ID and determining if the customer is a “VIP” based on the LTV from the Transaction DLO. We then join this data with the Contact DLO and write it to a new DLO named LTV.

CRM Enrichment with Data Cloud

With the basic setup of Data Cloud completed and our data prepped, we are now ready to enhance our contact record and kickstart a Salesforce flow with our “VIP” tag.

Data Cloud-Related Lists

Adding a Data Cloud Related List to the contact page is straightforward and follows the familiar setup process in Salesforce CRM. Here’s how to do it:

  1. From Salesforce Setup, navigate to the “Object Manager” and select the “Contact” object.
  2. On the left, click “Data Cloud Related List” and then click “New” in the top right corner.

You will now have the option to create a Related List or copy some fields. We will first set up the Related List, and in the next section, we will cover copying fields.

After selecting “Related List” and clicking “Start”, you need to agree to the parent permission by checking the checkbox and hit “Next”.

Next, you need to select the Data Model Object (DMO) you want to display. If you have multiple Data Spaces, you will need to choose the Data Space that contains the desired DMO. Since we only have the default Data Space, we can directly select the Transactions DMO

After you click “Next” you need to provide a name for the Related List, which will be used when you view the Related List on the contact record page.