Skip to main content


Understanding the Architecture of Sitecore Personalize & CDP

Kaleidico 26mjgncm0wc Unsplash

Often when people think about Sitecore Personalize, they are only thinking about Web Experiments or Experiences – The feature of the product that allows them to add a pop-up, modal or swap content on their websites. But the platform really is so much more powerful than that. It is really meant to be the foundational layer of your personalization strategy across your entire marketing technology stack. Especially when used with CDP, it can be the backbone for how you engage and interact with customers, ensuring you get the right message and the right time to the right audience.

Thinking about it as an architectural foundation, I noticed there aren’t a lot of good architecture diagrams that really convey that, so I decided to create my own. Hopefully this will be helpful in understanding the features, scope and break of what you can do with Sitecore CDP and Personalize.

Sitecore Personalize And Cdp Architecture

In this diagram, everything towards the top depends on the features/capabilities of what’s below it. The experiences you get through the channels in that top layer depend on the features of Sitecore Personalize to get personalized content to your audiences through those channels.


Your web properties, regardless of CMS or technology can leverage Sitecore Personalizes JavaScript library to inject web templates to create a Personalized experience. They can be additive to the experience, a modal dialog or a corner pop up that doesn’t directly impact the rest of the page, or they can replace or update existing content in the website seamlessly.

Mobile Apps

Using Full Stack Interactive Experiments, you can create a custom API with Personalized content for a user based on their history of interactions and customer data. You can then call that API from your mobile App to Personalize different areas of the application. Since it’s just a REST api, you can consume it from Native code, from cross platform tools like Xamarin, even web based toolkits like Cordova.

Campaign Management Tools

Most organizations may use several different tools to manage outbound campaigns across channels like email, text messages (SMS) and social. Although you could use the same API based approach to get personalized content into these tools, usually communications across these channels need to be responsive to events that occur: a form filled out on one channel, a purchase done in another channel or some other trigger. For this Sitecore Personalize allows you to configure full stack triggered experiences or experiments. These allow you to have Sitecore personalize evaluate the condition that’s occurring, which is usually reported through one of its streaming API’s from the same channels mentioned above and then it can call an API via web hook, while mapping that API’s parameters to personalized content.

Call Center Apps and other Customer Interaction Points

Any platform you have that interacts with your customers can be integrated with Sitecore Personalize. Whether you wanted to provide personalized content for a customer or you want to provide additional context to your employees who interact with those customers, Personalize can be the foundation of that experience. Your call center applications can integrate with Sitecore Personalize’ s real time API’s to return the relevant events and interactions that customer has done across channel so they will have that context when interacting with your customer.

Tracking with Streaming API’s

It is important to track and tag events occurring in each of these channels and send that data back to Sitecore Personalize using the streaming API’s. This can be done using the JavaScript library or directly with REST calls using the http library. The more data we get about how people interact with each channel allows you to use that data to improve the experience. These same API’s support the identification of a person. This is key to making sure you can recognize the same contact across channel. Keys can be an email address, or any other set of identifiable data that makes sense for your organization.


Decisioning is probably the most powerful feature of Sitecore Personalize. With it you can evaluate a contact’s behavior across channels using all the data you have on them, and figure out what is the “Next Best Action” you should take to get them a step closer to convert. These models can be complex and leverage machine learning, but they don’t have to be. When you are just getting started you probably want to keep things simpler. Here’s an example matrix we’ve used with healthcare clients to map “Calls to actions” to Personalized Web experiences:

Sitecore Personalize Healthcare Next Best Action Example

For each CTA, we determine when we would offer it, how we could track that someone should get that offer, what the experience looks like and where we would actually show it. We can then take those experiences and map it to a simple decision model.

Sitecore Personalize Healthcare Decision Model Example

The bulk of the decision model in this case could be implemented using a JavaScript case statement within a Programmable, but it could be parameterized to give Marketers control over the rules. Marketers could also map the outcomes to “Offers” which detail the content behind each offer that will personalize the experience when it’s shown, whether that experience is a web template injected on a web site, a triggered experience sending a custom email or an interactive API personalizing their mobile app.

Experimentation Engine

Testing is engrained into Sitecore Personalize. Everything this post has covered can be tested. You can test different web experiences with different content or components. You can test triggered experiences, sending different parameters to your API’s to test which email or text message content works better for your audience. You can send different API payloads to your mobile apps to see what performs better when you bind them to your mobile components.

You can even test your decision models to see if changing what offer or action to take will improve the goals you get across channels.

Sitecore Personalize will track variants, give you different controls for evaluating results and provide reporting so you can see how everything is doing.

Sitecore CDP

Sitecore Personalize by itself is Powerful, but when you add Sitecore CDP, you can truly create a 360 degree view of your customers and take into account everything you know about them to ensure the experiences you create are as relevant as possible.

Sitecore CDP adds additional API’s for getting data into the system: batch API’s that allow you to pull in data from CRM systems, from ERP and order systems, from any system of record that can expose data that would be useful to use to drive experience.

Once the data is there you can create dynamic segments using either simple rules or custom rules implemented in JavaScript. These rules can be used to rebuild your audiences nightly. While these can be used to target experiences to specific visitors, keep in mind Sitecore Personalize has a “real-time” audience feature that allows you to segment visitors on the fly. These dynamic segments can be based on more complex rules and support audience sync.

Audience sync allows you to synchronize your dynamic segments with other systems. You can use this to send audience data to other platforms like Google Ads or Facebook Ads so that you can target (and retarget) them with the messages you want.

Wrapping Up

As you can see Sitecore Personalize and CDP are more than just a client side personalization tool. It’s a Personalization Platform meant to be integrated across your entire marketing stack. That integration can be complex and take effort, but the benefits are worth it.

If you need help with your strategy, either from an experience and interactions point of view or from a technical architecture, how do we connect everything together to make this work perspecitve, we’d love to help. Reach out to me on LinkedIn, Twitter or fill out our contact form.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

David San Filippo, Principal

David is the Prinicpal of the Sitecore and Optimizely practice at Perficient, David estimates, architects and delivers digital marketing solutions at scale on the Sitecore Platform. A 4X Sitecore Technology MVP, David has written articles for MSDN Magazine and the Microsoft Architecture Journal. He has spoken at Sitecore Symposium, Sitecore Virtual Developer Day, user group meetings and code camps.

More from this Author

Follow Us