Day 23
25 Days of Sitecore EXM!
Personalizing Web Experiences
There are a lot of interactions gathered as part of the process of dispatching emails to contacts. From Sent email interactions to the opening of an email, and then click through on emails, contacts interact with messages in a bunch of different ways. However, making use of this information is not as straightforward as one might think when we take into consideration the Rules Engine in Experience Editor.

Augmenting how the default website looks, when edited in the Experience Editor, is done through one mechanism: Component Personalization. This makes use of the Conditional rules made available within the Rules Engine. But not all rules that the Rules Engine knows about, are available. This is largely due to the fact that xConnect rules (meant to run in the context of xConnect, such as Marketing Automation), do not exist.

This is showcasing that there are no rules in the Experience Editor focused on email specifically. However, when we look in Marketing Automation, the rules that are available are quite different. In fact, look how small the scroll bar is below.

The difference can be concerning when we think about how to personalize the website. However, with a combination of EXM, List Manager, and Marketing Automation, we can bring personaliztion to life on the website. It just takes a little planning. In order to show an example, requires us to define our use case.
Example Use Case
As marketer, I want to define a personaliztion rule that I can apply to a call to action component on my website that is different depending on if the contact had opened a specific email, or if the contact had clicked on the email. This presents us with a few different categorizations, or segments, or users:
- Segments
- Segment 1: Contacts who were sent the email, but have not opened it.
- CTA will show content reminding the Contact to open the email.
- Segment 2: Contacts who have opened the email, but have not clicked on it.
- CTA will show content reminding the Contact to click on the email.
- Segment 3: Contacts who have opened and clicked on the email.
- CTA will not display (aka hide the CTA).
- All Other Contacts: Not segmented, meaning they didn’t receive the email in the first place.
- We consider this the Default scenario, and we want to show a CTA inviting the user to subscribe to receive the email.
- Segment 1: Contacts who were sent the email, but have not opened it.
- Requirements
- No developer intervention.
- Must use only Sitecore functions.
- Assumptions in this example include:
- The contact has performed an action that has identified them, provided their email address, and provided consent to be marketed to.
- All HTML/CSS is already developed and components needed are available to the marketer.
Elements Described in Use Case
When we consider the makeup of the use case, we can break this apart into a couple of pieces.
- Call to Action Component
- The default CTA needs to contain a button that triggers a goal indicating that the user wants to register for the email.
- We can build this button using Sitecore Forms and also means that the CTA component needs to expose a placeholder that allows the Sitecore Form to be included in the CTA.
- Segment 1 and Segment 2 CTA needs to contain information, but hide the button.
- This is accomplished via personalization rules that hide the Sitecore Form above.
- Segment 3 just needs to hide the component altogether.
- The default CTA needs to contain a button that triggers a goal indicating that the user wants to register for the email.
- Sitecore Form for CTA Button
- Create a Sitecore Form with a simple button that includes Submit actions to register a goal and Send the Email that we are personalizing against.
- Sitecore Marketing Operations
- Create a Goal for the Registration Event.
- Sitecore EXM Automated Message
- Create an EXM Automated Message that contains a link.
- Sitecore Marketing Automation Plan
- Need to create a plan that monitors for the goal being triggered out of Sitecore Forms.
- When Enrolled, first add to a Contact list of everyone that registered for the email.
- Add to a Contact List “Registered”
- Listen for email to be opened, Do one of two things (or both):
- Register a Goal
- Add to a Contact List “Opened”
- Listen for a click from the email, and do one of two things (or both):
- Register a Goal
- Add to a Contact List “Clicked”
- Remove from Contact List “Opened”
- When Enrolled, first add to a Contact list of everyone that registered for the email.
- Need to create a plan that monitors for the goal being triggered out of Sitecore Forms.
- Sitecore List Manager
- Create a Contact List “Registered” for all Contacts Registered
- Create a Contact List “Opened” for all Contacts who opened the email.
- Create a Contact List “Clicked” for all Contacts who clicked on the email.
Building the Use Case
Step 1: Sitecore EXM Message
We’re going to fast track this, but for the purposes of this example, we’re going to create an Automated Message called “Sample Engagement Message” and we’ll activate it.

Step 2: Create Contact Lists
We’re going to now set up the Sitecore Contact Lists that we’ll use in this campaign. We need to create three. All three of these lists will be created as Empty Contact Lists. Again, we’re going to fast track this and show the end result of the three contact lists created. For more information about List Manager, review Day 15.

Step 3: Create Registration Goal
Using Sitecore’s Marketing Control Panel, we’ll create a goal for tracking the Registration event. For the purposes of this post, we’re going to use the out of the box goal “Register”, However, you can create any goal specific to your needs.

Step 4: Create Sitecore Form to Accept the Registration
We’ll now create a simple Sitecore Form that has only one element on it: a Submit Button to Register for the Email. This button when clicked, will trigger a goal, and send an email.

Next we’ll add a Submit Action to Trigger a specific goal. Here we’ll select the Register goal.

Next, we’ll add a Submit Action to Send an Email Campaign message.

Last but not least, we’ll round out our form Submit Actions by Redirecting to the Home page. We’ll save the form, and we’re done here.

Step 5: Create a Marketing Automation Plan
We’ll create an Automation Plan from scratch. We’ll enroll the user based on the Register goal being triggered.
Next, we’ll add the contact who has entered the plan to the “Registered” contact list. We’ll drag the element to the workflow and then select the contact list.
Next, we’ll add a listener to listen for the email being opened. For this, we’ll use the Custom Listener listener, that will listen for a specific rule. We’ll also listen to this for a few years (simply for this example).
Next we’ll add the Contact to the List “Opened”

Now, we’re going to listen for the Email click.

Last but not least, we’re going to Unsubscribe our contact from the “Opened” contact list, and Add them to the “Clicked” contact list.

Once the contact has clicked on the email and been added to the Clicked contact list, the contact will end this engagement plan and no longer be enrolled.
Last but not least, we are going to rename our custom listeners.

Finally, Save our Plan and Activate it.
Step 6: Add Personalization Rules to Experience Editor
At this point, we have created all of the elements that we need to support the personalization needed in Experience Editor. We’ll start by creating the personalization to Show or Hide the Sitecore Form button for Registration.
Now we need to add personalization rules for our Call to Action to display the proper content. We’ll start with Segment 1.
Notice how we’re using the available Marketing Automation rules that are available in the Rules Engine. Next we’ll setup Segment 2, the same way.
Finally, we’ll setup rules for Segment 3, which will hide the component. Segment 3 isn’t waiting for a marketing automation activity, but in this example, we added Contacts in Segment 3 to a Contact List called Clicked. So we’ll check there.

Here we have all of the rules defined, and showing that Segment 3 will hide the Call to Action component.

Step 7: Save, Publish, and Rejoice!
As the step name suggests, save your changes, publish your page, and rejoice! Admittedly, I left a lot of the mundane steps out, like creating your page item and creating the various data sources, to support the content. That’s because the intent of this post is to show you how to personalize, not create content. But this walk through should give you a good idea on how to connect all of these Sitecore experiences in the Sitecore Experience Platform.
Are there Other ways to achieve the Use Case?
There are absolutely, other ways to achieve the use case. I could’ve used Goals instead of Contact Lists. I could’ve broken this out into multiple automation plans. But that’s OK. This walk through hopefully has given you a good idea and gets the wheels turning on other possibilities.
2 Days Left in 25 Days of EXM
With only 2 days left before we wrap up 25 Days of EXM with the last two very technical posts. Tomorrow, we look at how to send massive amounts of Emails through EXM, showcasing how to scale EXM out.
Last but not least, on Christmas Day, December 25th, the last day of our 25 Days of EXM, I will be posting a pretty intense Developer Guide to EXM, showing off a number of API’s and Pipelines that help make EXM run.
Happy Holidays!
Did You Miss EXM Live!?
You’re in luck! You can now view EXM Live! On-Demand on YouTube!
Leave a Reply