Marketing Cloud Personalization Demo – Part. 1

By Jakub Dąbkowski, Solution Architect, xSMTHS

I am writing a series of articles to bridge the gap in understanding Interaction Studio functionalities between marketers and technology experts. While marketers quickly grasp the system’s purpose, its technological aspects are more complex. I aim to present both the marketing and tech side excitingly and engagingly.

I’ll show you how to use first-party data to personalise experiences for known and unknown users. We’ll also explore the exciting world of using online and offline data to make content and conversations more tailored.  I’ll also demonstrate using the system’s data to create consistent messaging across different channels. And finally, I’ll dive into the fantastic Einstein capabilities that can boost our performance. I aim to turn this presentation from a boring technical lecture into an engaging and captivating story. Let’s get started!

Our first personalization is based on 1st party data

To reach our goal, we’ll use two crucial ingredients. First, we’ll rely on the NTO website, an e-commerce platform created by Salesforce. You can check it out at

Our personalization instance is connected to this website. I’ll be running real-time campaigns in my browser.

It is also important for us to display the flow of data in Marketing Cloud Personalization, both internally and externally. You can find these flows on the left side of the website. It gives a quick overview of how data flows in personalization and between external systems.

While exploring this website, the personalization system keeps track of my actions. Even as an anonymous user, the system gathers some information about me. It creates a cookie in my browser, giving me a profile number (like “user 5c63bd5d75d3d57d68a5f16b”) and other identifiers. It also collects device data, like using Chrome on my Apple MacBook. The system even knows my approximate location in a city in the UK.

In addition to the data mentioned earlier, personalization also collects information about how I interact with the website. This includes things like clicking on links or buttons and simply opening pages. Each of these actions is noted as an interaction, with the first one being the initial page view.

Now, let’s dive into this website’s electronics section as I plan to purchase here. As I explore this section, personalization keeps collecting data about my actions. My ID stays the same and is connected to my profile throughout my session. However, some changes in the collected data, like my device info and geolocation, remain consistent. The event stream also varies as I interact with different pages. In particular, I’ve accessed the electronics page, and there are two new sections to explore: attributes and segments.

Let’s talk about attributes

Personalization may sound complicated, but it can be simple too. Think of it as a database that gathers info about your customers. We can create attributes and link them to each customer profile in this database. For example, I’ve created and associated an attribute with every profile. When a customer interacts with a page, like the electronics page, the system assigns a value to that attribute. This helps us easily identify which customers have engaged with specific pages or products.

Grouping customers into segments

This concept is pretty simple, especially for marketers. We can group customers into segments based on defined attributes within the personalization system. A segment is just a group of customers with similar characteristics. Instead of creating a new target group for every campaign, we can reuse the same segment definition. It makes things easier and saves us from creating complex definitions each time. So, as you can see, a lot is going on behind the scenes in the personalization system.

Imagine this: I had to stop browsing suddenly. Returning to the website’s main page the next day, I spot something exciting—a personalization in action! This personalization is powered by first-party data, which is the data the company has. We track customer behaviour on the website and use that data to shape our personalization strategy. For example, if customers have visited the electronics department before, we can show them relevant ads or content when they return to the main page. It’s all about making their experience even better!

Let’s take a look at our profile and see what’s new. The event stream is back to the home page. Our attributes and segments are unchanged, but there’s something new – a web campaign called “Return to Electronics.” Now, how does this campaign work? To find out, we’ll dive deeper into the personalization system. In the next section, I’ll show you exactly how personalization works. Get ready for some exciting insights!

Let’s dive into Personalization

Personalization is part of the Marketing Cloud. Log into Marketing Cloud and go to the personalization section to access it. Once there, we’re welcomed by a dashboard that gives us a quick look at what’s happening in our personalization system. The dashboard shares important details about our customers and ongoing campaigns

But there’s more to reporting! We have a whole section dedicated to reports that can be customised and filtered based on different parameters. However, we’ll mainly focus on the event stream and recent visitors reports for this demo because of some limitations.

Next, let’s talk about the event stream

In Personalization Studio, the event stream gathers valuable information about how users behave on a website or app. It captures events like page views, clicks, searches, purchases and more. For each event, we collect details about the user, like their IP address, device info, and user agent. We also note the specific page or element they interacted with. This data gives us valuable insights into user behaviour. We can use to shape our personalization strategies.
To access the Event Stream, navigate to the Reports section and select the “Event Stream” option.

In our demo, you can check out the cool things we’ve done in the past. We’ve gathered a bunch of historical events that showcase our interactions during the demo.

I can dig deeper into my user data using the Event Stream. By navigating to the “Users” section, I can see my profile with all the interactions I’ve had. It’s pretty cool to see how the system captures and displays everything as I browse and interact with different pages. The more data we gather, the more info you’ll find there!

See all the attributes created for my profile and the specific events I’ve generated while interacting with the system. It’s all right here for you to explore!


As we continue our journey, get ready to see even more data in this section!

Powerful database

Now, let’s dive into the philosophy behind this amazing system! Think of it as a supercharged database. One important part is the “audiences” area, where we have all the details about our customers. This powerful database helps us track every user and create segments based on different attributes.

Creating attributes is easy. Just head over to the attributes section.

Once you’re there, you’ll find a list of all the attributes we’ve already created. Check it out!

Click the “add” button, and provide the attribute’s name, label, and definition.


Don’t worry about the technical details, they’re a piece of cake to handle! With this approach, you can effortlessly create multiple attributes in no time.
Once you’ve got your attributes set up, it’s time to create a segment. Simply navigate to the “Audiences” section and choose the “All User Segments” option. There, you’ll find existing segments and can easily create new ones too.

Let me show you how to create a new segment. Firstly, I click “Edit,” where the segment is set up. We can see the users included in this segment and change the settings. In this case, I’m using my “last visited module” attribute and setting it to equal “electronics.”

But there’s more! We can create even more advanced segments based on things like country or weather conditions. The possibilities are endless, and segments can be as simple or as complex as you need them to be.

Web templates

To create a personalised web campaign, we just need to follow two simple steps. First, let’s create a web template. This smart approach allows us to reuse existing campaigns and make minor tweaks like changing images or wording. With these templates, we can create new campaigns without changing the campaign engine. It’s quick and efficient!

In the templates section, you can create campaigns from scratch. But guess what? No need to worry about starting from scratch! We provide you with the global templates section. Salesforce has already created awesome campaign templates that you can use right away.

This is super handy because it saves us time and effort. We can efficiently reuse these campaign templates and get things done in no time!

We’ve got a campaign template called “Banner with Call to Action” that we can easily clone and reuse for our campaign. This way, we save time and effort by not starting from scratch. When we clone the template, we can see all the different parts of the campaign, like the banner and the call-to-action. We can customise them to fit our needs perfectly.



Let’s create a campaign

Here’s the deal: we want to create a campaign with a catchy banner and a compelling call to action. Lucky for us, we can clone Salesforce’s global template and give it our personal touch. The HTML template, including handlebars and CSS, is where the magic happens for our content.

Don’t worry; marketers don’t need to stress about the client-side and server-side JavaScript code – that’s something front-end developers can handle. It’s a fantastic opportunity for developers to customise campaigns according to their needs. We also have an input form in this section that acts as a campaign setup. It’s an essential piece of the puzzle. Personalization is a team effort involving both marketers and developers. Let’s create something amazing together!

Once you’ve created the template and set up the input form, it’s time for creating a web campaign! Let me show you just how easy it is.

When we navigate to the Web Campaign section, we’ll see a list of campaigns already created. We can simply pick the one we want for homepage personalization. To open the campaign, just give it a double-click.

Here’s the first step: let’s define our target group. In this case, we’re looking for customers who have recently visited the electronics module.

We can also do A/B testing by creating a control group. Now, onto the second step: setting up the template. Add the content zone, choose the background image URL, select the styling, and add a header, sub-header, call to action, and URL for the call to action. Simple as that.
To display our awesome personalization on a specific part of the page, we need to define a content zone. A content zone is like a designated area where our personalization will shine. It’s as simple as marking a section on the page and assigning it as the content zone. From a technical perspective, a content zone is just a div that we add to the page or template. Usually, front-end developers take care of this, but we can reuse existing content zones.
We’re almost there; just a little more to go! Now, let me show you the heart of the system for website personalization. This magical part can be found in the website channel, specifically in the JavaScript section right over here.

The sitemap – the heart of the system

Now, here’s the heart of the system: the sitemap. In the sitemap, we’ve got all the juicy details. It’s where we define Content Zones, capture interactions, figure out how to grab products on the page, and so much more! This is an absolute must for any website personalization implementation.

And once again, we’ve got some JavaScript here. Your developers will be thrilled! But hey, as a marketer, you don’t need to dive into this section. Leave it to the experts and focus on what you do best!

What have we learned?

To sum it all up, we’ve learned how to create personalised content for a web page. We started by diving into the event stream and attributes, then created reusable segments for future campaigns. We even created a nifty campaign template for web campaigns. The cherry on top is defining the content zone where our personalised content will shine and assigning it to our target audience. With these steps in place, running our personalization campaign is a simple process with some seriously powerful results.

Ready to hear some more new tips? Part 2 is on its way!