Creating a Unified Omnichannel Experience with SAP Customer Data Cloud and SAP Service Cloud
8 min read
Unifying the Customer Experience
Today's consumers are demanding a harmonious user experience across all touch points from online ordering, in-store transactions, and when speaking with a customer service agent over the phone. Creating this harmonization presents many architectural and technical challenges in sharing customer data across your digital landscape. This article presents expert guidance for building a unified omnichannel customer experience with SAP Customer Data Cloud and SAP Service Cloud. We'll explore two keys to a successful implementation, provide best practice recommendations for your data flows, and call out two common pitfalls to avoid.
An omnichannel implementation project that reaches go-live may have many determining factors. The two most common keys to success are cross-team collaboration and data flow planning.
Keys to a Successful Implementation
Collaboration between the various project teams is the primary key for determining success. Aligning product experts and including the client project team in early architecture and planning discussions will yield essential benefits. First, an environment of trust is created by engaging all stakeholders facilitating open communication. Second, a deeper understanding of the architecture is achieved when everyone knows how all the pieces fit together.
The second key to success is a customer data model design and transformation workshop. This is important for understanding how your customer data object is translated across each channel. Proper data model design enables execution of end-to-end business processes such as streamlined customer support.
Close collaboration and careful planning or your customer data model will lead to a well-designed architecture. Let's look at some best practice recommendations for synchronizing your customer information across each touch point.
Best Practices for Synchronizing Your Customer Data
There are 4 fundamental recommendations to consider when designing an omnichannel experience with SAP Customer Data Cloud and SAP Service Could. Our best practice guidelines include
- Selecting a middleware to reconcile the data model differences between systems
- Leveraging an event driven architecture to facilitate data synchronization
- Using queuing to build robustness into the design
- Giving considerations future state extensibility
The first step in our design is to decide how to connect our two cloud platforms. At this time, there is no out of the box integration for SAP Customer Data Cloud and SAP Service Cloud. Therefore, we'll need an integration layer that can serve as our customer information hub.
A middleware can be used to synchronize your customer information between SAP Customer Data Cloud and SAP Service Cloud. Our recommendation is to use SAP Integration Suite for this task. Cloud Integration capability within SAP Integration Suite provides near real-time data syndication, has built in queuing, and comes with many pre-configured integration packages that can be customized for your needs.
Once an integration layer has been selected, the next step in our design is to understand how data is fed through the middleware.
Event Driven Architecture
Webhooks for SAP Customer Data Cloud and Cloud Events for SAP Service Cloud are triggered when a change occurs in the customer record. We can configure endpoints in our middleware to listen for the Webhooks and Cloud Events, process the incoming event message, transform the customer data object, and send it to the consuming system.
After configuring our endpoints, we will want to consider what impact high traffic events like Black Friday or Cyber Monday may have on the design. We recommend using a queuing service to mitigate high volume loads on the system.
A queuing service, like JMS Queues provided with Cloud Integration, builds robustness and flexibility into the overall architecture. The process works by accepting an event triggered message, storing that message in a queue, and returning a 200 OK response to the calling application. A second queue processing service will pull the message from the queue, perform the transformation, and send it to the destination system.
The queue processing service has an added benefit of providing extensibility to our design.
We can easily extend our queue processing service to route incoming messages to multiple consuming systems. For example, a customer modifying their email marketing preferences online can have that update reflected immediately in SAP Service Cloud as well as SAP Marketing Cloud. This can happen in near real-time to create a unified customer experience across each touch point.
We should now have a conceptual understanding of how to design an event driven architecture with Cloud Integration and how to leverage JMS Queues to add stability and extensibility within the system. Let's take a look at how all the pieces fit together.
Putting It All Together
The following flow diagram illustrates how to capture an SAP Customer Data Cloud Webhook event using a custom iFlow within Cloud Integration. SAP Customer Data Cloud sends only the customer UID as part of the Webhook payload. So, we can store this UID in a staging queue and return a 200 OK response signaling we've received the Webhook.
A second iFlow process will grab the UID from the staging queue and make the necessary REST API call to retrieve the customer record from SAP Customer Data Cloud. The full customer record is then added to a processing queue. In order to reduce complexities involved in transforming data, a third process is added to the flow to handle this task.
Separating the tasks in our design has two key benefits. First, we can easily extend this framework to add additional touch points. Second, we can reduce our troubleshooting efforts by quickly locating the defective task should any issues arise.
Figure 1. SAP Customer Data Cloud syncing with SAP Service Cloud
For completeness of the solution, let's look at a creation or update event originating from SAP Service Cloud. Again, we are using custom iFlows within Cloud Integration to capture the Cloud Event trigger. We are not leveraging JMS queues in this flow as Cloud Events can be processed synchronously. This is an important difference from SAP Customer Data Cloud which relies on asynchronous event handling.
Figure 2. SAP Service Cloud syncing with SAP Customer Data Cloud
We should now have a complete picture of how to design a unified omnichannel experience with SAP Customer Data Cloud and SAP Service Cloud. Next we'll callout two common pitfalls you can avoid in your implementation.
Common Pitfalls to Avoid
The first pitfall we'll want to avoid is a feedback loop within the architecture. Meaning, we want to prevent a Webhook triggered event from reaching its source causing a circular update. We can add an additional field to our customer data schema to identify the source system that made the update. Then, in our middleware layer, perform a logic check in the queue processing service to either send or suppress the message based that last system updated field.
The second pitfall to call out involves the initial data load from SAP Customer Data Cloud to SAP Service Cloud. There are nuances to consider when loading data into SAP Service Cloud such as file size limitation, file matching, and performance tuning. Thankfully, we have a couple of options. The first option is to leverage our event driven architecture to replicate the data. Simply trigger a Webhook event for each record in SAP Customer Data Cloud allowing our queue processing to handle the heavy lift. Use this option if your data load is small, less than a million records. Otherwise, consider leveraging SAP Customer Data Cloud's IdentitySync tool to extract your customer records and transform the customer data and associated files into the SAP Service Cloud template format.
This article has presented expert guidance for building a unified omnichannel customer experience with SAP Customer Data Cloud and SAP Service Cloud. We've given you the keys to a successful implementation, highlighted our best practice architecture recommendations, and called out some pitfalls to avoid in your own project. We have covered the main areas to consider when designing a harmonious customer experience solution but there is always more to learn.
If you're interested in working with SAP Customer Data Cloud Services to support you in building a omnichannel solution we offer Safeguarding from Start to Finish.
To access all our community or out of the box product documentation, please check out our List of Online Resources.