Maybe you've longed to add personalization to your Sitecore site, but you just don't know where to start. Maybe your organization is just getting to the point where you are ready to consider adding personalization and you want to make sure you start off on the right foot. Or maybe you haven't been thinking about personalization for your own site, but you're intrigued by the idea of it.
Ed Kapuscinski, a Sitecore MVP with years of successfully implementing personalized digital experiences, will teach you how to quickly develop personas and design baseline personalization, laying the foundation to be successful with Sitecore Experience Accelerator.
5. 5
• More meaningful engagement
• Stronger relationships with your customers
• Improved conversion rates
• Increased revenue
You don’t need convincing
6. 6
Yesterday's challenges are gone…
• Personalization is understood
• The value of personalization is accepted
• Technology has simplified personalization
…replaced with new ones
• What, exactly, can I do with personalization?
• What do I need to consider when planning personalization?
• How long is it going to take/how much is it going to cost?
• How do I get started?
Challenges
7. 7
• What We Mean By Personalization?
• Common Personalization Terms
• How Sitecore Personalization Works
• Pre-requisites For Using Personalization
• Setting Up Some Example Personalization
• The Steps To Set Up Personalization
• Details of Most Likely Useful Personalization Rules
What I’m Going To Talk About
8. 8
• The promise of personalization
• The challenge of personalization
• The tragedy of personalization
What Is Personalization?
10. 10
OMS, DMS and XDB
These are all the names for the Sitecore functionality that has allowed
for website personalization.
Different versions of Sitecore have called it different things.
We’ll refer to it as XDB during this presentation.
Terms
11. 11
Display Components
The granular pieces of display on a website.
Sublayouts, Renderings, Views, etc…
Built by developers during development.
We’re choosing a term because the actual underlying tech doesn’t
matter.
Terms
13. 13
Data Sources
Sitecore display components can allow for specific pieces of content to
be set as their “data source” to provide content for that component.
Think of them like “cartridges” in an old video game system. The
system (display component) can play whatever game (data source)
you put in it.
Terms
14. 14
Data Sources
These two chunks of a page
both use the same display
component, but with
different data sources set.
Terms
15. 15
Rules
Sitecore uses “rules” to define personalization situations.
These rules work like the rules in our email programs.
“If X condition is met, perform action A.”
Sitecore’s personalization rules can be compound: “If X and Y but not Z
condition is met, perform action A.”
These rules are all exposed through the CMS, so content editors/marketers
can set them up without developers.
Terms
16. 16
Rules Based
Allows you to configure rules (like a filter in Outlook).
Based on the evaluation of a rule, it can change:
• Data Sources
• Display Components
• Component & Data Sources Together
How Sitecore Personalization Works
17. 17
OMS/DMS/XDB Should Be Enabled
• This may require additional servers: SQL Server & MongoDB.
• You need servers to hold some of the data that XDB generates and uses
• Some functionality can be used without persistence.
• Rules around “who the user is” work fine.
• Rules around “what the user has done” only work for the current visit.
• These are things to work out during development, even if you’re not
planning on using them right away.
Pre-requisites For Taking Advantage of Sitecore Personalization
18. 18
A good solution architecture is required
• Pages must be broken up into display components.
• This is a Sitecore best practice, but not always followed.
• Display components must accept data sources
• This is an easy thing for developers to do, and easier if done ahead of time.
• Content sources need to exist for personalized components
• May requires developers creating new data templates and places to store
content.
• Habitat/Helix makes this easy
Pre-requisites For Taking Advantage of Sitecore Personalization
19. 19
Sitecore Provided Services:
• If you’re doing GEOIP personalization, you need to subscribe to the
Sitecore IP Geolocation Service.
• If you’re going to be doing device detection, you need to subscribe
to the Sitecore device detection service.
Pre-requisites For Taking Advantage of Sitecore Personalization
20. 20
Create Content – First you need to create the content that is going
to be shown to users.
Setup Rule – Then you need to setup the rule that determines
when the personalized content should be shown to a user.
Setting Up Some Personalization
24. 24
1. Determine goals and aims
2. Identify areas for personalization
3. Develop personalized cases
4. Determine how to target cases
5. Make content for each case - Don't forget "default"
6. Implement rules
The Steps For Setting Up Real Personalization
25. 25
Determine goals and aims
What are your site’s goals?
Connect visitors with content more relevant to their interests?
Facilitate transactions?
What value will personalization bring the organization?
Is it measurable?
How are you going to answer questions from stakeholders?
What do you say to your boss about it?
The Steps For Setting Up Real Personalization
26. 26
Identify areas for personalization
• Think about design questions: “show cats or dogs?”
• Highly visible locations
• Contextual locations – “Read another article like
this”
• Global calls to action – Personalization can be setup
in standard values
The Steps For Setting Up Real Personalization
27. 27
Develop personalized cases
• Think about these like personas:
• “Someone from New Orleans”
• “Someone who’s interested in tax law”
• “Someone who has signed up for a webinar in the past”
• Keep this list realistic based on content generation
capabilities
The Steps For Setting Up Real Personalization
28. 28
Determine how to target cases
• Good news: This is done in the CMS by content managers or
marketers
• This is where you translate ideas to actual rules
• “Someone from New Orleans” becomes “Where the Metro Code Is Equal
To 622”
• There are lots of conditions and it is possible to combine them.
• “Someone from Maryland”
• “Someone who has achieved the ’fill out form’ goal”
• “Someone from Maryland and who has filled out a form”
The Steps For Setting Up Real Personalization
29. 29
Make content for each case
• Make sure structures exist.
• Make use of “global” areas in the
content tree to hold content “bits”.
• Get writing!
• Don't forget “default” content.
The Steps For Setting Up Real Personalization
30. 30
Implement rules
1. Do the things you’ve seen in training and the demo:
1. Use Experience Editor for the best experience.
2. Implement the rules you identified during the case
targeting step.
3. Choose content to display.
4. Preview.
2. Don’t forget to publish everything!
The Steps For Setting Up Real Personalization
31. 31
Most Useful Personalization Rules
- GeoIP
- Location information.
- Blog post with details: http://tiny.cc/SitecoreGeoIPInfo
- Source of much data: http://www.maxmind.com/GeoIPCity-534-Location.csv
- Security (User Login, etc...)
- Visit Information
Useful Personalization Rules
Editor's Notes
We’re not really going to talk about “implementation”.
That’s because, as long as the infrastructure is in place, implementation is as easy as actually doing the things we’re going to talk about today.
The promise of personalization
It allows you to have better conversations with your site visitors by improving the relevancy of content being shown to them.
Show dogs to dog people, show cats to cat people
It allows you to resolve limited (and shrinking) screen real estate
There is only so much space on a website, and visitors only have so much attention. By targeting content you can get the best value out of diminishing pixels.
New web experiences are forcing us to show less.
Modern Design trends,
New devices: Tablets, smaller tablets, mobile phones, I think I can even browse the internet on my thermostat.
The challenge of personalization
It requires additional thinking about our content, more so than we can often handle “at the time”
It requires the right technology
Sitecore is a great start, but you also need to make sure you’ve got the right IT infrastructure (for XDB)
The tragedy of personalization
It’s often a “phase 2”
There’s great potential for Sitecore clients to take advantage of it, but they often don’t (that’s why I’m here today)
Terms: I learned long ago that vocabulary in technology is important, because imprecise use of terms can lead to expensive confusions.
I’m going to define some terms, like a lawyer, so we’re all on the same page.
This can mean things like
changing out the slides on a homepage carousel,
changing out imagery in a jumbotron
promoting different content
displaying different calls to action
Over the years Sitecore has renamed this a few times, but for our purposes, it’s all the same.
People call these different things, so I’m planting my flag in this term.
It’s a good catch all for a bunch of different technical things, and is useful in its semi-generic nature because it prevents confusion about actual “things” inside Sitecore.
These are things that your development team have identified and created when building your site.
You can see a number of display components here: the big scrolling jumbotron, the individual callouts down the bottom, the latest news list.
This is worth mentioning quickly.
It’s sometimes the same as the “context” item, and sometimes different. We’ll get into why later.
You can see that these are the same type of display component, but have different data sources set, which means they’re showing different content.
Actually creating a personalized component is easy for a content manager, given all the pre-reqs are in place.
First we make sure we’ve got content, then we setup the rules for the personalization.
I’ll give you a quick walkthrough using the Legal Demo site you’ll be seeing around Symposium.
For our example, we’re going to personalize this big jumbotron on the homepage.
First we make sure we’ve got content.
In a global area, we’ve got teaser content. We’ll use that.
Make sure we’ve got everything we need. Image, text, check.
The content is good to go, so head on into experience editor and get to work there.
I like going to the page in the desktop view, navigating to the item, and hitting “Experience Editor” in the publish ribbon.
Hover over the component, and you’ll see some options. Click the one with the people to get into personalization.
That’ll bring up the rule editor.
[click]
Here’s where we specify a condition by clicking “edit” in the conditions on the left, or hitting “new condition”.
[click]
Choose a rule, and add some values.
[click]
Then we choose our content. Then hit ok a few times.
[click]
And we can preview what we did in experience editor by choosing the condition from the handy dropdown.
We’ve seen how relatively simple it is to perform the mechanics of personalization. But there’s some real work behind it to make it that simple.
These are the steps you’re going to need to perform to get personalization working on a site.
The first thing to think about when starting to think about personalization is the goals of the personalization. While “it’s just cool” is great for blog posts, generally we’re all running websites for a purpose.
How is your personalization going to serve the purpose of your site? Is it connecting customers with more relevant content? Is it trying to facilitate some sort of transaction?
What value is it going to provide your organization?
How are you going to answer questions from stakeholders about it?
Knowing why you’re using personalization will give you a framework around which the rest of your work will be performed around.
Once you know why you’re doing it, you can think about what on your site makes sense to personalize.
Highly visible things are good, but not just because they’re visible. Also because they’re often the places where you had questions during design: “should we go with a cat or a dog”?
I recommend looking at jumbotrons, persistent messaging components (portlets), that type of thing.
Contextual locations are also good. We often surface content related to the current content, but now we can offer content based on a user’s interests.
Personalization can be setup in standard values for data templates, so you can say “personalize this on all pages”, or using the rules themselves, say “anything under this location”.
Once you know what cases you want to personalize against, you need to figure out the rules for targeting them.
There are tons of existing conditions available and even more when you combine things: “someone from Maryland and who has filled out the webinar form”.
When starting off, it makes sense to cast a wide net, so “Everyone in the US” instead of “Everyone in the Washington Metro area, except Arlington”.
Keep in mind that, for every personalization case you’re aiming for, you need content that makes sense for those people.
If your content won’t be targeted, it doesn’t make sense to waste your time.
So keep in mind how much content you can actually create or have.
Now is the time when you take those ideas about what people to target and start mapping them to the actual available rules in Sitecore.
So, ”Everyone in New Orleans” becomes “Where the Metro Code Is Equal To 622“.
Make sure your necessary structures to hold content is there.
In habitat, this can be provided by “teasers”.
Start writing content for each case. Content is king, and often takes longer than you think.
You’ll want to keep this organized, so use folders under a “global” section to keep things tidy.
When writing content, don’t forget you have to handle the “we don’t know” default content.
You can always hide components if you don’t have content.
GEOIP
These are for locating a user via IP (not via location services on mobile devices)
Some of these can be confusing though: “What’s a metro code?” What’s a “region”?
I’ve written a blog post with these details. Google “Ed Kapuscinski Sitecore GEOIP”
Many details come from
Security
Useful for:
Determining if a user is authenticated
If a user is logged in, you can get at their user profile info (name, settings, etc…), or if they’re in a security role.
Visit
These are the things that are Sitecore specific and can bring a lot of power to your personalization efforts
There are lots of things in here.
Can check against goals.
Check campaign status.
See how many pages they’ve visited.
If they match a pattern card (very powerful, could be its own presentation).
------------------------------------------------------------------------------------------------------------------------
GEOIP Blog Post:
I'll explain how each of the rules is used:
where the area code compares to specific value
where the business name compares to specific value
where the city compares to specific city
where the country compares to specific country
where the DNS address compares to specific value
where the IP address compares to specific value
where the ISP name compares to specific value
where the latitude compares to specific value
where the longitude compares to specific value
where the metro code compares to specific value
where the postal code compares to specific value
where the region compares to specific value
Where the Area Code Compares to Specific Value
This rule allows compares the visitor's area code to a specified value. MaxMind exposes area codes as digits only, so compare against "410" not "(410)".
Where the Business Name Compares to Specific Value
In some cases, a business or institution may be available for an IP address. This rule compares against that name. The incidences of these are rather low, however, and when they are not available, the name of the user's ISP is exposed to be tested against.
Where the City Compares to Specific City
This rule compares the visitor's city to the specified value. The list of cities that can be checked against is provided by MaxMind and can be viewed here.
Where the Country Compares to Specific Country
This rule compares the visitor's country to the specified value. The list of countries that can be checked against is provided by MaxMind and can be found in the CSV they provide here.
Where the DNS Address Compares to Specific Value
This rule is similar to the information provided with Business Name, but is more specific. For example, the company may be "The Berndt Group", but the DNS address could read something more like baltimore.berndtgroup.net.
Where the IP Address Compares to Specific Value
IP addresses are one of the most basic building blocks of the Internet, so of course DMS allows them to be checked. IPs can be checked in the standard format: 0.0.0.0.
Where the ISP Name Compares to Specific Value
This rule exposes the ISP that owns the IP address in which the visitor originates. In TBG's case, this would be "Expedient", but it could also likely be "Verizon" or "Comcast.”
Where the Latitude Compares to Specific Value and Where the Longitude Compares to Specific Value
These rules compares against a user's latitude and longitude. Keep in mind that these rules are based on an IP address, not any GPS or other location information that a browser or mobile device may be able to provide. While pinpointing a user's specific latitude or longitude seems to be of little value, the rules are still useful for doing wide ranging geographic targeting, especially when applied together to target a wide swath of the globe.
Where the Metro Code Compares to Specific Value
This rule was one of the more confusing at first, but actually turns out to be incredibly useful. Metro codes correspond to a "Designated Market Area" (DMA), and more information about these DMAs can be found on the Wikipedia article for Media Markets. MaxMind returns the same DMA codes that Google Adwords API does, which makes this page from Google a very useful resource for looking up codes to personalize against. The MaxMind lookup returns the DMA Code from the Google list.
Where the Postal Code Compares to Specific Value
This rule personalizes based on a zip or other postal code. These are available for some IP addresses in Australia, Canada, France, Germany, Italy, Spain, Switzerland, United Kingdom, and the US. In Canada, the first 3 characters are returned, and the first 2-4 characters (outward code) for postal codes in the United Kingdom are provided.
Where the Region Compares to Specific Value
This rule provides personalization choices based on a state, province, or similar geographic unit. The rule should compare against a two character ISO-3166-2 or FIPS 10-4 code for the state/region associated with US and Canadian IP addresses. Additionally, the following are also options that may come back for military IPs:
AA – Armed Forces America
AE – Armed Forces Europe
AP – Armed Forces Pacific
For all other countries, FIPS codes are also exposed.
The MaxMind CSV file also provides information about all of the regions as well, which makes it easy to copy and paste.
This is just the tip of the iceberg in terms of Sitecore’s personalization capabilities, but it’s a great tool for marketers who are eager to begin the personalization journey.
I'd like to thank Sitecore's Casey Piket, who helped supply much of the raw information for this post and my own personalization efforts.