MuleSoft Accelerator for Retail icon

MuleSoft Accelerator for Retail

(2 reviews)

Use case 5 - Deliver relevancy with Data Cloud

Synchronize and unify customer profile data into a customer data cloud so that you can personalize interactions by customer segment

Contents

Overview

Delivering personalized interactions via marketing campaigns and commerce transactions is challenging. They require unified customer profile data to enable targeted and measurable campaigns. However, the data needed to drive impactful, personalized interactions is often siloed and inaccessible where it is needed most.

This use case unlocks and unifies critical customer profile data so that CMOs and their marketing teams can more effectively run targeted campaigns. By unifying data into a customer data platform (Data Cloud), teams will be able to intelligently segment customers without duplication or manual processes.

Ultimately, retail organizations will be able to deliver more personalized interactions via marketing and commerce platforms faster.

Description

This use case provides MuleSoft System and Process APIs and implementation templates to surface customer profile data from OMS, ERP, PIM, and data lakes. The data can then be stored in Salesforce Data Cloud for segmentation. The information in Data Cloud can then be retrieved and leveraged at the marketing and commerce platform level for an improved user experience.

Glossary

TermDefinition
Data CloudSalesforce Data Cloud Platform.
CIMThe Cloud Information Model defines a set of standard data structures that can be used as canonical representations of common entities for integrating systems.
Global DataA Global Data service provides an accurate, consistent, and complete copy of business data for use by enterprise applications and business partners while also providing a means to link that copy to occurrences in other systems.
PIMThe system responsible for managing product information for sales orders.

Goals

  • Support the retrieval of real-time updates from Snowflake and Microsoft Azure for loyalty, subscription, email engagement, and web engagement.
  • Display curated customer information in Salesforce Data Cloud.
  • Support the creation of email campaigns in Adobe Marketo.
  • Support the creation of promotions in Salesforce B2C CommerceCloud.

Use case considerations

  • Orders, customers, and products are ingested into Salesforce Data Cloud from Salesforce Service Cloud using native integration.
  • Salesforce Data Cloud APIs support both bulk and streaming options to ingest data.
  • Salesforce Data Cloud publishes segments every 24 hours.
  • The unified customer profile in Data Cloud is based on the email address of the customer.
  • The three segments created in this solution are as follows:
    • Customers with Average/Total purchases worth more than $500 made in the last 6 months.
    • Loyalty Program members with Loyalty points > 5000 and shoppers with Gold Tier subscription who haven't purchased in the last 6 months.
    • Shoppers who haven't visited the site in one year.

Technical considerations

  • Native integration from Salesforce Data Cloud to Salesforce Marketing Cloud and Amazon S3 are used to send the targeted customer list.
  • MDM System API is used to lookup Customer IDs.

End-to-end scenarios

  • Curated email campaigns are created in Marketo for each of the segments created in Salesforce Data Cloud.
  • Promotion campaigns are created in Salesforce B2C Commerce Cloud for each of the segments created in Salesforce Data Cloud.

Solution definition

This solution enables Salesforce Data Cloud to create curated customer information by ingesting data from different sources and unifying them by the email address. This information is then published to Amazon S3 buckets. The data from the Amazon S3 buckets can be used to reach the targeted audience by creating email campaigns in Marketo and promotion campaigns in Salesforce B2C Commerce Cloud.

Before you begin

bulb.png The Getting Started with MuleSoft Accelerators guide provides general information on getting started with the accelerator components. This includes instructions on setting up your local workstation for configuring and deploying the applications.

Goal

Display email campaigns in Marketo and promotions in Salesforce B2C Commerce Cloud.

Steps

  1. Update a customer’s loyalty points in Snowflake.
  2. Update the number of page visits in Azure Cosmos DB.
  3. Publish the updated loyalty points and page visits to Salesforce Data Cloud.
  4. Salesforce Data Cloud runs on a schedule of 24 hours whereby these updates are sent to Marketo and Salesforce B2C Commerce Cloud.
  5. An email campaign is created in Marketo welcoming the customer to shop at a given discount.
  6. A promotion campaign is created in B2C Commerce Cloud and the customer will see a discount for their next purchase when they login to the B2C Commerce Cloud.

Use case extension

Segments can be published near real-time in Salesforce Data Cloud.

Assumptions and constraints

The following guides or constrain the solution design at a high level:

  • Loyalty, Subscription, Email Engagement, and Web Engagement objects are currently not supported in CIM. Hence, a custom representation of these objects are defined as RAML libraries in the API specifications.
  • Loyalty, Subscription, Email Engagement, and Web Engagement data are imported into Snowflake and MS Azure Cosmos DB using .csv files.

API-led diagram

API-led diagram for CDP personalization use case of the Retail accelerator

High-level architecture

Deliver relevancy with Data Cloud

High-level architecture diagram for CDP personalization portion

Data sync for customers, products, and orders

High-level architecture diagram for data sync portion

Sequence diagram

The diagram below illustrates the sequence of processing the loyalty, subscription, email engagement, and web engagement of a customer from Snowflake and Azure and integrating it with Salesforce CDP. The curated customer information from Salesforce Data Cloud can then be used to connect to Marketo and Salesforce B2C Commerce Cloud.

Sequence diagram for CDP personalization use case of the Retail accelerator

Processing logic

The primary handling and orchestration of retrieving real-time or batch updates of loyalty, subscription, email engagement, and web engagement is implemented in the DataLake Process API. This process can be described as follows:

  1. Retrieve loyalty and subscription data using the Snowflake System API.
  2. Retrieve email engagement and web engagement using the Azure System API.
  3. Publish the retrieved data to the queue.
  4. The CDP Process API picks up the data from the queue and invokes the Salesforce Data Cloud System API to publish the retrieved data to Data Cloud.
  5. Data streams are created in Salesforce CDP to ingest the aforementioned data.
  6. Salesforce Data Cloud creates a unified profile using the email address attribute.
  7. Salesforce Data Cloud publishes the segments every 24 hours to Amazon S3.
  8. The DataLake Process API gets notified whenever a new file is uploaded to S3, it processes it and then publishes it to the queue.
  9. The Marketing Process API subscribes to the queue.
  10. The Marketing Process API creates email campaigns in Marketo. If an email campaign already exists, it updates the customer lists in Marketo to ensure only new customers get the emails.
  11. The Marketing Process API looks up the MDM Database using the MDM System API to get the B2C Customer ID given the email address.
  12. Using the B2C Customer ID, the Marketing Process API applies discount promotions to the customers.

Success conditions

After successfully completing the processing in all target systems, the following conditions must be met:

  1. The number of customers in Salesforce Data Cloud segments match the customer list in Marketo email campaigns and B2C Commerce Cloud promotion campaigns.
  2. The customer receives an email inviting them to visit the B2C Commerce storefront.
  3. The customer gets a discount promotion applied when they purchase a product in B2C Commerce Cloud.

Mappings

Source type mappings

The following table summarizes how representations of order, customer, and product from each system are mapped to CIM types:

Source System Source Type CIM Types Mapping Notes
B2C Commerce Product Product
ProductCategory
ProductCatalog
PriceBook
Relevant fields only
Salesforce Product,Pricebook Product
ProductCategory
ProductCatalog
PriceBook
Relevant fields only
Salesforce Orders SalesOrder Relevant fields only
Salesforce Account Organization
Customer
Contact Address
Contact Email
Contact Phone
Relevant fields only
Person Account Individual
Customer
Contact Address
Contact Email
Contact Phone
Relevant fields only
Contact Individual
Contact Address
Contact Email
Contact Phone
Similar mappings as for Person Accounts but at the Individual level only

Target type mappings

The following table summarizes how representations of a product from each system is mapped from CIM types:

Target System CIM Type Target Types Mapping Notes
Salesforce Data Cloud Product
ProductCategory
ProductCatalog
PriceBook
Product
ProductCategory
ProductCatalog
PriceBook
Relevant fields only
Salesforce Data Cloud Product
ProductCategory
ProductCatalog
PriceBook
Product
PriceBook
Relevant fields only
Salesforce Data Cloud SalesOrder Orders Relevant fields only
Salesforce Data Cloud Customer
Individual
Contact Address
Contact Email
Contact Phone
PersonAccount Relevant fields only
Customer
Organization
Contact Address
Contact Email
Contact Phone
Account Address fields mapped directly
Individual
Contact Address
Contact Email
Contact Phone
Contact Similar mappings as for Person Accounts but at the Individual level only

Downloadable assets

System APIs

Process APIs


Reviews

TypeCustom
OrganizationMuleSoft
Published by
MuleSoft Solutions
Published onSep 17, 2022
Contact nameMuleSoft Solutions
Contact emailsolutions-questions@mulesoft.com
Asset overview

Asset versions for 2.7.x

Asset versions
VersionActions
2.7.0

Categories

Accelerator
RetailNo values left to add
Industry Vertical
RetailNo values left to add

Tags