Using Sitecore XM, Sitecore Send, and Sitecore CDP & Personalize

Orchestrating digital experiences for the composable customer

The Aceik team recently built a website and set of customer experiences to demonstrate the new Sitecore composable tools. In particular, we wanted to show how they can be used together to deliver a modern, personalised, cross-channel digital experience. The following is a walkthrough of what we built.

This article was originally posted on

A customer named Ally Davids visits our demo website, Luxury Hotel. The website is built in Sitecore XM with SXA (hosted in Azure PaaS) and uses Sitecore Headless Services (NextJS hosted in Vercel) for the front end. 

Ally browses our site but does not complete any conversion actions. Later on, she is re-targeted on Facebook with an advertisement promoting a free airfare competition. Ally clicks the ad, which links back to our Luxury Hotel website. The link is appended with standard UTM parameters.

The Sitecore CDP JavaScript library script has been added to our website. This .js client assigns each user a unique ID via a cookie and sends behavioural data from our website back to Sitecore CDP. Additional JavaScript has been used to capture the UTM parameters on a page VIEW event and send this to Sitecore CDP.

We have used these UTM values to personalise the website homepage. In Sitecore CDP, we have built a web template that swaps out the hero image, headline and call-to-action with tailored values.

We have also built an audience template that enables us to use UTM parameters as targeting values when building Experiences.

This experience is set to target the Homepage only. Real-time audiences trigger it with a UTM_campaign value of ‘island_competition’. This is the value set in our Facebook retargeting Ad.

The website also includes the Sitecore Send tracking script. With this script in place, we have used the Embed publishing option within Sitecore Send to load our web forms in a <div> tag, in any place on our website where we want a Sitecore Send form to appear. 

In this island_competition personalisation, we have used another web template to swap out the default Sitecore Send form with a competition-specific form (using the FormID from Sitecore Send), based on the same UTM_campaign value targeting.

The result is that Ally sees a personalised homepage hero component and competition web form.

Ally submits her details in the web form. Her identity is sent to Sitecore CDP and her customer profile is added to existing Segments that have been created e.g. ‘Known customers’ and ‘Island competition customers’.

Ally’s details are also sent to Sitecore Send, into an existing Audience email list. This event triggers a Marketing automation flow that sends Ally an email to promote our Hotel rooms.

The email prompts Ally to click back to our website to view information on our Honeymoon room. 

The Honeymoon link is appended with specific UTM parameters. Ally clicks the link and this is tracked in Sitecore Send as Open and Click activity.

Ally lands on the Honeymoon page. This action triggers a 2nd Automation which sends Ally a follow-up email on our ‘Luxury Services’. Ally is added to additional Segments in CDP relating to visits to the Honeymoon page.

When Ally clicks on a link in the 2nd email, she lands on our Services page with another (badly designed) personalisation showing a 50% discount message. This is triggered for visitors who land directly on this page with a specific UTM campaign value.

This personalisation is using one of the out-of-the-box (OOTB) templates available in Sitecore CDP & Personalize.

Ally is intrigued by the discount offer and so clicks through to view more information on the Deluxe King room. She views several pages but is still yet to convert. At this point, we trigger a further OOTB personalisation showing an email capture form. This personalisation is triggered for real-time users that view the same room page more than 5 times.

If Ally still has not converted, and re-visits the Hotel website, we will show her a final personalisation, based on customising the hero component, with a message targeted based on her profile in Sitecore CDP.

This set of experiences is for demo purposes only and illustrates the ways that the Sitecore composable products can work together to deliver personalised customer experiences.

An overview of the entire journey –

Google Analytics GA4 migration

Taking a strategic approach

Earlier this year, Google announced that Universal Analytics properties (UA) will stop processing new data from 1 July 2023. UA is to be completely replaced by the new version of Google Analytics (GA) called GA4.

GA4 introduces many changes to its digital measurement model, including a move from page view to event-based tracking, a decreased reliance on cookies, improvements to cross-channel customer tracking, and an increase in some of the UA limitations e.g. 20 ‘Goal’ limit.

Google’s decision means that any businesses currently using Google Analytics will need to upgrade their properties from UA to GA4. Given the July timeframe, I recommend businesses upgrade now and run both UA and GA4 in parallel. This will give you an opportunity to ensure that GA4 is capturing all the data correctly. The sooner you do this, the less you will have to worry about trying to manually compare UA and GA4 data YoY, post July 2023.

The steps to start a new GA4 property are straightforward (i.e. follow the GA4 Setup Assistant), but the changes in measurement model are significant. Any businesses currently using UA (and other associated Google marketing platform tools) with any level of configuration will need to rebuild their analytics environment. This is required whether you just want to continue basic tracking of your digital properties, or if you want to embrace the affordances of GA4 and level-up your digital analytics game. I recommend businesses with a significant digital analytics dependancy take this opportunity to conduct an end-to-end analytics capability assessment and upgrade. This activity should incorporate re-aligning digital analytics with strategic business goals, assessing your technical capability and tools, and improving your data and reporting governance and operations

Strategic framework

Every business website has a purpose. Building out your digital strategic framework is about making explicit the dependancy between your business and your website. How does your website support your business goals and deliver value to both you and your customers? What is the relationship between your business mission and vision, your current top-level business goals, and the key actions that users take on your website? This is is your framework for everything that is done throughout the activities below. The goal of rebuilding your analytics in GA4 should not just be to continue the status quo, but to ensure that you are better positioned to measure, monitor and improve the value that your website generates for your business.

Site audit and discovery

You can start this process by auditing your current websites. List all sites (including sub-domains) in a spreadsheet. Capture the Google Tag Manager (GTM) and GA IDs/accounts being used. Additionally I like to capture the platform each site is published on, whether Google Search Console (GCS) is configured and connected or not, and any further notes about the implementation. Things to check include:

  • Is GA hard-coded or triggered via GTM?
  • Do any sites have multiple UA ID’s?
  • Are there GA Views that are not recording any data?
  • Have any sites/properties been migrated to GA4 already?
  • Who are the account admins and do you have access to make admin changes?

This site audit spreadsheet becomes your source of truth and scope document.

Google Analytics

The Account / Property / View model changes with the move to GA4. In GA4, there is only Account and Property. To ensure you rebuild what is required in GA4, audit your current UA properties. It is important to note the current data collection and retention settings, User ID tracking status, connected Google accounts like Google Ads, and any other tracking info settings. These are the types of configuration details you may need to re-create in the new GA4 property you are migrating to.


Typically each View in UA will have its own specific filters. Make note of the range of Views and the details of each. For example, are there Views that filter out internal traffic, show only traffic to specific sub-domains or campaigns, or roll-up views? Most typical Views can easily be recreated as segments in GA4.


You will want to review all event data in GA over the last 12 months to understand what has been configured and what might be required in future. With GA4’s new event-based measurement model, some of the custom events in UA are now tracked out-of-the-box (OOTB). These include outbound click tracking, document downloads and video views. Other common events require custom event tracking (form submissions, clicks on emails links). I recommend carefully capturing all existing events in a spreadsheet including category, action and label parameters. In GA4, you will need to identify if corresponding event parameters exist OOTB, and if not, create them as new Custom Dimensions (in the Configuration section). You will need to setup Custom Dimensions for any event parameters that you want to use in reporting. I also suggest you use lowercase and underscore as a consistent best practice approach for all event details.


In UA, key site activities were called ‘Goals’. In GA4, these are called ‘Conversions’. After capturing all the existing site Goals you should consider which of these are required in GA4. Site Conversions should relate to the key digital goals identified in your website strategic framework. I actually think ‘Goals’ are a better name for these, but to avoid confusion, they are ‘Conversions’ from now on 😉

All Conversions are Events, but not all Events are Conversions. Before you can track a Conversion, you need to first create it as an Event in GA4. If not available as an OOTB event, you will need to create and trigger this event using Google Tag Manager. Once it’s tracking as an Event, simply click the toggle to also track as a Conversion. For additional actionable insight on the impact of your Conversions, I recommend setting a value for each Conversion Event through the use of custom parameters, as below (note ‘currency’ and ‘value’ are required).

Analytics governance & management

The move to GA4 will require various modifications to your Google Tag Manager implementation. At a minimum, you will need to create a new GA4 configuration tag. However, you will also likely need to create new GA4 Event tags as mentioned above. Given the way that most businesses have adopted digital tag management (organically, unstructured, bit-by-bit over time), it is quite likely that your current GTM implementation needs an audit and clean-up. It is common to have legacy redundant tags still firing. It is common to have manually created tags and triggers that now have OOTB equivalents in the ever-evolving GTM platform. It is common to have various Users with degrees of access to your account that are no longer required. A full run-down of best practice GTM is a topic for another post. For now, take the opportunity to clean-up and consolidate whatever you have time for.


The above are the main steps and considerations in implementing a GA4 upgrade. Once GA4 is setup and capturing data, your next consideration is how best to analyse and report on your digital analytics. GA4 includes far fewer pre-built reports, and instead expects users to build their own reports in GA and/or utilise tools like Google Data Studio. Personally, if I’m going to spend time building reports, I would rather do it in Google Data Studio. Not only is this is a powerful and easy-to-use tool, but other advantages include:

  1. you can combine GA data with other digital analytics data like Youtube or Google Search Console to build comprehensive dashboards, and
  2. the reports you build are easily shareable with stakeholders by URL or scheduled email report.

Again, a full rundown is another topic for another day, but the best data capture and management is useless if the data is not analysed, interpreted and feed back to the business as actionable insight. This is the role of good digital analytics and reporting.

Sitecore Send (Moosend) – everything you wanted to know


Sitecore acquired Moosend in 2021. Moosend is an innovative SaaS-based marketing automation and campaign management platform. When you access the platform, it is still branded as Moosend, but for the sake of clarity (and longevity of this blog post), I’ll refer to the product as Sitecore Send.

Getting started

Anyone can sign up for a free 30-day trial. If you work in the Sitecore or Marketing Automation space, why not dedicate a couple of hours and give it a spin? If you are familiar with marketing automation tools, you’ll be able to master all the key Sitecore Send features in that amount of time, no problems.

From here, I’ll walk through my first impressions of the tool for delivering the typical package of marketing automation capabilities, in approximate order as you would need to use them for a typical ‘sign up to email list and trigger nurture campaign’ use case.

Create your email list

Go to Audience > Email list. From here you can see existing lists, or create a ‘New’ list. Every list has a dashboard where you can see key stats like growth rate, member source, engagement rates etc.

Sitecore Send email list dashboard

Your new list will have no members. So the next step is to ‘Add a member’. You can add these manually or import from CSV, Excel or use a Google Contacts or Salesforce plugin. Nice.

Sitecore Send import members

You are then prompted to configure a couple of other important settings for your new list. You can set a URL to redirect users after they unsubscribe. This would be a nice opportunity to provide your users with alternative subscription options, next steps, or nice ‘sorry to see you go’ messaging.

You must also specify your opt-in settings e.g. single opt-in, soft double or strong double. Ensuring you have explicit customer permission is an important aspect of any email and marketing automation activity.

You can create any custom fields required for your new list. This can be customer-facing or hidden fields. For example, you may wish to capture phone, address, birthday, interest area etc.

Finally, you can create segments. Whilst this may not be as useful if you are starting your list from scratch, it looks like the product comes with 9 out-of-the-box (OOTB) templates you can pick from, which is pretty helpful. You also have the option of saving any segments you create as templates to re-use across other lists.

Sitecore Send segment templates

The tools to create your own segments are intuitive and powerful. Simply build your rules from a large range of dropdown options.

Sitecore send segment details

Growth tools

Once you have your list, you will want to grow your subscribers. The two main ways to do this are via a subscription form and/or landing page.

Firstly, create a subscription form. Again, there are some easy OOTB options for different types of form presentations and interactions. To make the right decision here, you will need to have thought out where and how you want users to subscribe. For example, do you want to embed a form on your current Contact us page, or do you want to fire a pop-up subscription form on targeted pages across your site? Depending on your choice, Sitecore Send offers a range of templates and simple options to choose from. 

Then, there are plenty of options for fine-tuning the UI of your chosen subscription form type.

Sitecore send sign up design options

Depending on your chosen form type, there are various visibility and publishing options for configuring the UX of the form, such as where, when and how it appears on the page.  Sitecore Send appears to have all the common use-cases covered, such as showing for first-time visitors only, time-delayed display, showing on user action or page exit. You can publish to an existing website, link to a stand-alone form URL or embed in a page using a <div> tag.

If you don’t already have a website to host the form, Sitecore Send allows you to create a landing page, hosted as part of its platform, or publish to a WordPress site using a connector plugin. Again, there are plenty of OOTB templates to choose from, and a plethora of other options such as sharing on Social, easy conversion tracking, and linking with a Google Universal Analytics account.

Sitecore send design template options

Once you have selected a template, or started from scratch, there is a simple drag-and-drop editor where you add your content and configure the page to your exact requirements.

Sitecore send landing page builder


Once you have your list and growth tools in place, setting up Automations is the next thing to consider. Sitecore Send gives you a head start in this area by offering a range of Automation ‘recipes’ to choose from, such as triggering reminders for abandoned cards, new customer thank you’s and re-engagement emails.

Sitecore send automation recipes

Sitecore integration

Whilst I’m not overly technical my understanding of the main integration options comes down to the following:

  • As mentioned above, you can simply embed Sitecore Send forms within any existing site, including a site managed by Sitecore XM. When using this method, you can use Sitecore CDP and/or Sitecore XM APIs to push data there on submit
  • Alternatively, you can continue to use Sitecore Forms within XM and push form data to Sitecore Send and Sitecore CDP APIs.


Sitecore Send makes marketing automation campaigns easy.

Sitecore send campaign options

Select your campaign type and you will be guided through the necessary steps to configure your new campaign. Expect all the normal options like Subject line, email list, delivery schedule, GA integration, Sender details, send test emails and so on. And again, the range of OOTB email templates sets Sitecore Send apart. There are dozens of templates to choose from, across a broad range of categories. Of course you can also create from scratch.

Sitecore email campaign templates


With an email list built, new subscribers coming in, automations in place and emails getting delivered, the last thing you will want to take a look at is how your email campaigns are performing. Sitecore Send Reporting menu has you covered with all your expected marketing automation analytics in pre-built dashboards.

Sitecore campaign reporting dashboard

I think that’s all the main features and functionality. A pretty easy-to-use platform that covers all your basic marketing automation needs.