I have Sitecore, do I need a Customer Data Platform (CDP)?

Sitecore's single platform architecture can shield you from broader trends in the broader Martech space. Martech is ever growing and a new category of marketing tools called Customer Data Platforms (CDPs) have emerged to help manage data silos created by using many tools, or many systems that touch your customers.

CDP's core feature is to help create 360 degree views of customers. When I started looking into them, I immediately thought of Sitecore and it’s experience Database (xDB). Sitecore's xDB allows you to create robust profiles of customers, their interactions and use them to personalize their experience when they interact with your websites, email campaigns and other channels with custom integrations with xDB. In some cases, Sitecore can serve as your customer data platform, but there are other functions of a CDP that provide a lot of value.

Structured and Unstructured Data

Most CDP's are pretty flexible in what data they can track, defining a broad customer schema with flexibility for storing additional data in JSON. Events or Interactions are also managed and related to customer records and will have their own schema and data storage approaches.

Sitecore's xDB takes a similar approach. Contact details are managed in facets and Sitecore provides several out of the box facets for storage of contact details including preferences and addresses among others. You can add your own facets which plug into Sitecore API's to allow for storage and retrieval of them as strongly types entities, however that requires additional coding and configuration to be supported, and the development of custom rule classes if you want to use that data to drive personalization within Sitecore.

Sitecore also has a model for events and interactions, which are related to the contacts that are associated with them. Sitecore will automatically track web site interactions and email interactions sent via it's Email Experience Manager feature, though custom interactions can easily be added using Sitecore's xConnect API's.

Self Service Reporting

CDP's are tools built to be used by marketers, and many will provide both dashboard and reporting capabilities that can be extended and customized to show both aggregate and individualized customer and channel data.

Sitecore has Engagement Analytics and the Experience Profile. Both are really optimized for the out of the box data the Sitecore captures across web and mobile channels, though both can be extended to support other data that is captured as needed. Sitecore's Experience Profile provides a similar single customer view to what you can get with many CDP's through reports or dashboards.

 Redpoint vs. Sitecore Customer Screens

Redpoint vs. Sitecore Customer Screens

Data Collection and Integration

A primary feature of many CDP's is its ability connect to a myriad of back end systems. Solutions like Redpoint and Segment boast hundreds of out of the box connections that can be configured easily to orchestrate data ingestion.

 Segment has a ton of integrations

Segment has a ton of integrations

Sitecore provides an integrated solution for Web and Email interactions, capturing data automatically and associating it with user profiles for both known and anonymous contacts. It's xConnect API's can be used for mobile or other channels to push additional data into xDB. For orchestrating data ingestion, you can leverage Sitecore's Data Exchange Framework, or build upon Sitecore's Scheduled Jobs, but both approaches will most likely require heavier customizations depending on the kind of data you are looking to push.

Master Data Management 

Once data is ingested, many CDP's provide tools to automatically merge customer records or allow data custodians to make decisions about if and how to merge data across records. This is a critical data hygiene step that ensures you’re using the best data possible when customizing experiences.

Sitecore doesn't really have a master data management solution built in, however it does provide API's that allow contacts to be merged and will automatically use them when a contact moves from anonymous to known through the act of logging on.  Though you could create your own management tools, if you have real MDM needs, you may be better off with a more formal solution.

Managing Consent

Another reason CDP's have been able to find product market fit is its ability to help companies manage compliance with customer data regulations like GDPR and the right to be forgotten. Having all your customer data in one place gives you one place to manage customer data including consent. 

Customer Preference Centers can feed your CDP or even be built directly on top of it to make things even more seamless. Commercial Preference Centers like PossibleNow can integrate with CDP's to provide additional capabilities like management of data requests.

Sitecore introduced API's to anonymize data in xDB in Sitecore 9, but you'll still need to build an interface (or use powershell) to invoke them. And while Sitecore Forms can be used to capture consent, there is a lot more functionality in a preference center that would need to be custom built if needed.

Segmentation

Besides collection and mastering customer data, most CDPs provide a way to segment customer records into groups that can then be targeted in downstream systems. The process can be manual, allowing users to specify rules and download lists, but this is an area where machine learning is making things easier for marketers. Some CDP's have built in machine learning capabilities to help create or recommend segments.

Sitecore has a list manager feature, which provides users the ability to create lists to segment users using Sitecore's very own rules engine. The rules engine interface is the same one used in personalization, engagement automation and anywhere else Sitecore provides flexibility in defining business rules. This also may be an area that Cortex helps provide machine learning guidance to create lists based on patterns.

 Sitecore’s List Manager

Sitecore’s List Manager

While segmentation of known contacts can be handled by a CDP, it may be worth looking at Data Management Platforms (DMP's) as well. These platforms provide access to third party anonymized advertising data for providing additional demographic data or targeting anonymized audiences. Many DMP's can be used to create look a-like audiences based on demographics and behavior of known conversions. Most of the DMP’s I’ve looked at primarily leverage client side API’s, so some thought will need to be taken when integrating with Sitecore.

Source of Customer Data

The value you get out of CDP's is providing a single source of truth for providing customer data to downstream systems. These could be Campaign Management Tools, CRM systems or experience platforms like Sitecore. Many CDP's provide connectors to make it easier to provide data to these systems, and all have standardized API's for retrieving customer and segment data.

Sitecore provides an integrated experience platform, sharing contact data between both the core web content management platform and it's email experience manager tool for managing email campaigns, which could be extended to support other types of campaigns. The customer data itself is stored in xDB and can be accessed through standardized oData api's using xConnect. Using framework's like Sitecore's Data Exchange Framework, contact data can be fed in and out of Sitecore using xDB, and several connectors to platforms like Salesforce and Microsoft Dynamics Customer Engagement are available from Sitecore.

Integrating Sitecore and a CDP

Although Sitecore isn't technically a CDP, it does handle a number of scenarios cleanly out of the box, and has the needed API's to support building what it doesn't have. That being said, there are clear use cases and value provided by CDP platforms, and if you are in need of them, a better solution would be to use both.

Collect and Master your data in your CDP and then sync data to and from Sitecore's Experience Database, using Sitecore's xConnect oData API's. And you can consider using the data exchange framework to orchestrate the synchronization and keep your mapping rules configurable.

Speaking at Sitecore Symposium 2018