Wednesday, October 31, 2012

The Goal Discussion for Launch Sitecore

image


With our North American team’s www.launchsitecore.net project, we needed to have the fundamental discussions that you or your clients will need to have when taking advantage of all the power of Sitecore’s Customer Engagement Platform.    There are many places to start this discussion (and I will try to cover most of them in follow-up posts), but one that seems to be a very likely starting point is Goals.  For Goals, there are two main parts to this discussion:

  1. What are all the Goals, large and small, that could be accomplished on my site (and how do I identify that they’ve been accomplished)
  2. How do I stack / rank those goals in terms of relative importance for my site.

#1 is fairly straightforward.  Sit in a room together and brainstorm—what are all the conversions that I care to track at all?  Figuring out how those Goals will be identified could spark a bit more discussion (and potentially some developer insight) if the Goals themselves are complex and/or  require notifications and communication with external systems.  Some examples—an ecommerce transaction completing but the completion actually occurs outside of Sitecore, a goal that represents a specific path through the site (page A to page B to page Z without going to page C), leaving a video at a certain timestamp, etc. (well, that might be a failure, but you get the point).


For Launch Sitecore, our goals were fairly obvious and straightforward—your discussions or arguments could be more heated.  For us, we are really trying to engage our Evaluators of Sitecore.  Our Sales Engineering team is involved in the whole Prospect—>Partner—>Happy Supported Customer lifecycle.  Most of our time is focused on trying to provide the best software evaluation stage (sometimes a day and a demo, sometimes months of rigorous proofs) in the industry.  Launch Sitecore is a platform that now helps us do that.
So for goals, it’s clear:

  1. Talk to our Evaluators (both Business Folks and Developers) about the great features of Sitecore’s Customer Engagement Platform.
  2. Ask them to register at www.launchsitecore.net.
  3. Encourage them to download the Launch Sitecore package.
  4. Be excellent at supporting their efforts to uncover the power of the platform.

We know if they Download Launch Sitecore (Goal), they have started down the path to success.  We are interested in how many people will engage with us using their social network credentials (and therefore Sitecore’s Social Connected Module) by logging in (Goal).  We want people to Register (Goal, very selfish here, but this is what enters you into our Engagement Plan funnel….more on that later).  We strive for a continual improvement of this offering so we request our Evaluators’ feedback (Goal).  Even reading an article might be important to us (there was some discussion amongst the team here, so I’ll talk about this in terms of Engagement Value next).



#2 above (how do I stack / rank) is less straightforward.  Now we need to answer tougher questions and apply relevance to the goals we’ve brainstormed.  This will lead to a closer focus on priorities, a reordering and reshuffling of the value of Goals and probably even the throwing out of some of those Goals during the brainstorming session.  In Sitecore’s parlance, this is coming up with a relatively scaled Engagement Value for the Goals we’ve identified.  This can provide for some really interesting (potentially heated) discussions around the main question:  “Why does our site exist?”.
In an ecommerce site this discussion might be short enough to have at 5:00 on a Friday—we’re here to make money, checkout = $.  Done.  In others (or in an ecommerce site considering other goals), it’s not as clean-cut.  How do we value a lead?  Is it important that someone watches a promotional video on our site?  Do we strive for them to Like us?  Is someone that starts a checkout process but than abandons it valuable to us?
For Launch Sitecore our discussion was pretty straightforward, with one important twist:


image


Read an article:  Something we’re still discussing, but for the time, a Goal.  Notice no Engagement Value placed on this goal…it’s something we currently think we want to track as a conversion, but we aren’t necessarily OPTIMIZING our site for this activity.


Login (social or new account):  We’ve felt that by someone logging in, they’ve felt the Launch Sitecore site is a good place to hang.  They feel they are getting something from the offering (maybe they want to see their favorite articles all in one place, find our pointers to helpful links to be very convenient).  We’re engaging with them and we place value on this.  5 Engagement Value Points.


Registered:  An initial registration is particularly important to us for two reasons:

  1. We know that they have probably registered as a result of an SE Engagement (more about campaigns that will tell us for sure later) and that they are doing so to download Launch Sitecore.
  2. The selfish reason is that we are using registration as an entry point to the Engagement Plan we’ve built for this site.

10 Engagement Value Points.


Downloaded Launch Sitecore:  The obvious winner for the biggest goal of them all, right?  Wait a minute.  If we think through the overarching goal of our site, the reason we built our site:

Create hugely successful experiences for organizations evaluating Sitecore.

So, we have to think more carefully about the flow.  If someone just Downloads Launch Sitecore, we know they have great intentions of spending some time with Sitecore.  But things happen, people get busy with their full-time jobs.  How do we really know they got the experience we were hoping for?  What if something happened during the download and they never got back to it?  Our team needs to re-engage (as we’ll see in our Engagement Plan) and ensure we are being excellent at supporting this evaluation.  Now if the Goal…

…Gave the Launch Sitecore team feedback about the evaluation is accomplished, now we’re talking.  We can be very confident that the Evaluator actually spent time with the package and has offered up their insights.  Even if these comments are less than complimentary, we have the information we need to meaningfully re-engage.  This is our ultimate (and highest on the Engagement Value scale) goal.


The relative scaling—25 for downloading and 50 for giving feedback—reflects this conversation.
More to come as we continue to look at the Analytics, Multi-Variate tests and Engagement Plans on www.launchsitecore.net.

Previous Post:  (Re)Introducing Launch Sitecore  |  Next Post:  The Personas for Launch Sitecore

(Re)Introducing Launch Sitecore

Register or login (socially) and grab the download at www.launchsitecore.net


If you are evaluating Sitecore or if you’re a partner working on pitching Sitecore to a prospect, hopefully you’ve had a chance to download and experiment with Launch Sitecore.  I wanted to take a moment to explain the motivations behind the project, the current state and the future hopes and dreams.  I plan on doing a series of posts around this growing platform, as our whole team is buzzing with ideas about the directions this could take.


Before continuing, I wanted to take a moment to give credit where credit is due.  Howard Kim and I dreamt this up a while ago and had been brainstorming lots of ideas based on some challenges in our daily work lives.  Our entire North American Sales Engineering team has kicked in with ideas, article writing, proofing, testing and particular areas of expertise.  But I can’t continue without recognizing the heroic efforts of Chris Castle, who took this project on with such enthusiasm and skill that it has taken on a life of its own.  (I would say it’s his baby, but for those of you that know Chris, there’s just no additional room for that).  This was a part time job in addition to an amazingly busy and productive full time job.


The thing I like most about this project is that, while allowing creativity to enter, it has stayed true to its goals:

  • Create a package that is easily installable, understandable, self-documenting
  • Highlight effective and efficient solutions to common scenarios—reusable content, navigation, configuration, separation of content and presentation
  • Provide a consistent and seamless path from initial developer discussion—>self-install and investigation—>follow up deep dives—>successful evaluation
  • Provide a clean and extensible starting point for SE team, partner and client proof of functionality / proof of concept activities
  • Use the platform in our own “public” site to show real world examples of Digital Marketing System, Analytics, Email Campaign Manager, GeoIP resolution, the upcoming OLAP cube and more.
The motivation for this project has always been clear and concise: 
Create hugely successful experiences for organizations evaluating Sitecore.

Our team believes so strongly in the power of the Sitecore platform that we know absolutely anything you need to do can be done.  From the recent Symposium video from the great folks at Carnival Cruise Lines: “if we can think it, it can be done with Sitecore”.  We also know that with power comes a growing responsibility for the Evaluator.  I can imagine quite a few dictates out there that come close to something like, “go figure out what that Sitecore thing does….and we really need to make a decision by next week”.  Yikes.  In my 5 years at Sitecore, the thing I’m assured of is that I’m going to learn something new every day.


The power of Sitecore doesn’t mean that you’re looking forward to a road of painful complexity.  The amazing thing you’ll see over and over is how things are built from the Core.  This Launch Sitecore package is not an amazingly flashy, feature-laden site.  Nor is it intended to be an ongoing content-based site.  It is intended to highlight the strength of that Core, to let you have a number of ah-hah moments, to get the juices of creativity flowing and to become a vehicle of your ongoing Sitecore learning.


So that’s the Launch Sitecore package—a downloadable Sitecore package (installed with the Installer in the Sitecore Desktop).  But we’re pushing on from there.  Now, a public site:  www.launchsitecore.net.  I’m extremely excited about where this is heading—a real-life Engagement Plan, meaningful Goals and Engagement Value, use of Sitecore Email Campaign Manager throughout, GeoIP lookups and Analytics, available OLAP cube reporting and much more.  Our whole Sales Engineering team will be able to share this story—why we created this site, what were our discussions around Goals, Engagement Values, how did our Campaigns perform, what did we test and how did that improve our Evaluators’ experiences.  And we of course want you to be along for the journey.  Give us some feedback on the site (after all, it’s a Goal and a State in our Engagement Plan).   Or contact any member of the Team (also on the site).


image

Next Post:  The Goal Discussion for Launch Sitecore

Wednesday, September 14, 2011

Sitecore Customer Engagement Platform: Segmenting the Audience

I'm amazed at the richness of the conditions that exist in Sitecore's Customer Engagement platform that can be used to strategize audience segmentation.  This new release takes huge leaps towards the very exciting goal of synthesizing customer activity--online, offline, implicit behavior, explicit profile attributes (either in Sitecore or external to it), channel activity based on email campaigns, mobile experiences, subscriptions, external social sites and much more.

I've had lots of conversations recently that boil down to "where do I begin?"

Mark Twain reminds us:
"Never put off till tomorrow, what you can do the day after tomorrow."
Remember, this is a marathon, not a sprint.  The great thing is, you've chosen (or are now choosing) a Customer Engagement Platform that is built on the groundwork of THE world-class Sitecore Web Content Management System.  This is not a new building.  This is not new set of really high floors set to topple.  This is an expansion of an amazing platform that is the right combination of high and wide, with incredibly sturdy sections all over the place that are ready for your designer touches, when you're ready.  (Walk around for a while).

But let's use another Twain quote as an addendum today:
"All good things arrive unto them that wait - and don't die in the meantime"
After all, we are trying to have the best digital marketing strategy on the planet.  Put one foot in front of the other, eat the elephant one bite at at time, and now my trite quoting is officially done.  Let's look at a really simple starting plan:


In this scenario, we decide that our visitors (or potentially even more compelling--our members or customers), are in one of four states.  These states could also be envisioned as a sales funnel, with the first state I'll describe being the entry point to the funnel:
  1. Just Browsing.  Think of this as a default state where you don't want to make any assumptions yet.  You have content for this--compelling content pages that keep this visitor engaged and circling down the funnel.  In terms of Sitecore's Customer Engagement Platform, maybe this visitor hasn't yet hit your predefined and prestrategized thresholds of goal achievement or profile values.  You're just not ready to guide this visitor in any particular direction until she "tells" you a bit more about herself.  She also hasn't logged in (although this doesn't necessarily mean that she hasn't been to your site before).
  2. Interested in featured product line.   It's the end of the quarter and you have three million of these widgets to sell.  The company is buzzing with ideas about how to promote and unload this last batch--from email newsletters going out to new subscribers, customer service agents noting the promotion to all call in customers, an add running directly on your home page and various landing pages pushing the widget.  While this impression is going to be everywhere--both online and off--you obviously don't want to assume someone is interested in the widget because they've heard about it.  Your criteria is more specific--it's the conversion, the achievement of a predefined goal you've identified as a confident assumption of customer engagement.  As we'll see, this doesn't have to be one thing.  Maybe he specifically searched Google for the exact part number of the widget.  Maybe he opens the email, goes to the landing page, and fills out a form asking for pricing.  Maybe he's downloaded both the widget installation manual AND watched the Getting Started Video.  Maybe he's talked to a customer service agent and told him that he's "very interested" in purchasing by the end of the quarter.  However he got to to this state, now you're ready.  You're ready to change his experience as he gets to the next landing page two days before the quarter ends.  He now gets the very aggressive coupon clearly presented on his arrival.
  3. Ready to buy online.  It's down to the wire and we only have a few days left to the quarter.  Salespeople are carefully watching the transition to this state.  These visitors have been presented the coupon (and maybe even that coupon was part of a multi-variate test where different messaging was presented).  There's been contact outside of the site, where customer service has entered detailed notes in the CRM about the questions asked last week.  This company's DNS record is all over your Sitecore Analytics data--multiple employees of the company have filled out Web Forms for Marketers forms and we've tagged names and email addresses.  We see conversions all over the place, from downloads, to form submissions, to poll questions showing buying intent.  Finally, we see that a shopping cart has been started and 50,000 widgets are in it.  The shopping cart is almost complete.  It's the 30th.  Time for a call.
  4. Existing customer.  Any time during the month we can have an authentication event--someone logged in and we now know him.  Whether his profile data is directly in Sitecore's security tables or sitting in Dynamics, Salesforce or another CRM or home-grown system, we know have a rich set of profile information to work with as we customize this visiting experience.  Has he purchased the Widget in the past?  Has he purchased products that are profiled in a similar way?  Has he specifically told us that he wants to receive email campaigns with these types of offers?
With the four possible states fully described, let's see some conditions we could use to personalize the experience for our visitor.  In follow up posts, I'll keep this theme alive and talk about how we could monitor this with the new Customer Engagement Platform Engagement Plans.

Keep in mind that, while there is an incredible set of predefined conditions available in Sitecore by default, this condition engine is easily extensible to account for your own very specific conditions--conditions that may be based on information in Sitecore or in any external system in your overall solution.

To keep the example simple, let's imagine a simple News Story that we're writing for our site.  You could think of this News Story as being a landing page, the Widget product page itself....whatever.  The point is that we can simply have an image control on this page that can show something different based on the state the visitor is in.

It all starts with placing our simple Show Image control on the page.  We can easily do this in the Device Editor shown below, or we can do it directly in the Page Editor:

Adding our Show Image control in Content Editor's Device Editor.
Now we can set up the set of conditions that will segregate our visiting audience into the four states.  For our example, we'll simply upload some images that are nice visual indications of the current visitor's state.  In the real world case, we might have the Image control vary the advertisement image, we may swap out the control altogether based on the visitor's state, we may have a very rich control that uses dramatically different logic, markup, access to external systems, etc.  Here's our images:
Funnel images to depict the visitor's state
Now we are able to have our Show Image control easily switch between these images.  Techically the control itself is able to switch its Data Source....point to a different content item in the overall Sitecore content tree.

Now, personalizing the component is an exercise of thinking through all the conditions that would lead to our decision that this visitor is part of a particular state.  First one is easy (working from the top of the funnel down).  Here, we just have the "Just Browsing" image, since we're not ready to differentiate the experience for the visitor based on our current information.

Now, it's on to the Interested in Product state.  We've decided that we'll determine a visitor to be interested in the Widget product if ANY of these conditions exist (we could have used AND clauses to ensure multiple factors exist):
  1. This visitor is a known user that has received an email campaign focusing on widgets from us and has opened the email.
  2. This visitor has reached a landing page we set up (maybe by browsing through the site, maybe they saw the link in a featured search result, maybe a Facebook wall post) AND they've filled out the form that they see there.
  3. This visitor reached our site by searching on a specific term in a search engine.
Here's what that set of conditions looks like using prebuilt conditions in Sitecore's Rule Set Editor:

Rule Set Editor for our multiple, independent clause condition
Similarly, we'll list the conditions that brings a visitor down to the "Ready to Buy" section of the funnel.  For our example, we decide that this person could:
  1. Have an "Engagement Value" greater than 10.  This will be covered more in my follow up posts, but think of a combination of goals, events and conversions each having a specific value associated with them.
  2. Have a user name (could just be a tag that we've captured, doesn't need to be an authentication event) of Mike Casey.  Maybe our customer service agent has talked to Mike.
  3. Be a member of the Flagged in CRM role.  More again in a future post, but our connection to a CRM could allow a non-CMS user (like a customer service agent working in a CRM) to affect the existance of this condition simply by completing their day-to-day tasks.
  4. Have a lead profile score of greater than 25.  Since your content authors are able to assign profile values to the content they create, you are now able to determine a threshold at which you'd be confident on the lead value of this visitor.
Completing our rule set by including a check for a particular customer role (this could get a lot more interesting by tying our knowledge of this customer to this clause--what products did they buy, what are their site preferences, etc), we know have a fully built out set of conditions to match a visitor into the approrpriate state:
Our finished set of conditions

Hopefully this gets you thinking about where to start and how rich the set of prebuilt conditions in Sitecore really is.  Remember that you don't have to consider sweeping changes to your Web site based on these conditions--little things, nuanced changes in site navigation, featured image spots, customized landing pages can be incredibly powerful.  In future posts we'll dive deeper into the Engagement Plans that can help us move our audience along the path towards our predefined goals for our digital strategy.

Thursday, September 8, 2011

New Patterns in the Customer Engagement Platform

I have to admit--at first I was pretty confused about this new Patterns feature in Sitecore 6.5.  I understood the intent of allowing content authors the ability to assign a set of profile values in one fell swoop, wrapping up a bunch of attributes into a package that could be easily assigned to a piece of content they are working on.  Now, when I'm writing an article for instance, I could envision "who" this article is most targeted towards, give that audience member a name and face and set of "typical" demographic information.

The confusion in my head came down to terminology....profiles, profile cards, patterns, personas.  This won't be official documentation (Sitecore has plenty of that), but instead a quick and goofy example of how I started to get my own head around these concepts.  Specifically, this will dive into the Patterns concept, as I think you'll agree that this is an amazingly cool new feature in Sitecore's personalization engine.

One statement that helped me understand the difference between Profile Cards and Patterns:  Profile Cards are for assigning attribute values to content items.  Patterns allow rules to assess how closely a visitor matches an expected "mix" of attribute values.

Now starts my goofy example.  Instead of wrapping my head around nebulous attributes (yours will of course be concrete and real-world), I wanted to think about three cartoon characters that differed along three attribute axes.  The three axes--partyer, academic and worker:

Homer Simpson doesn't have a ton of redeeming qualities.  Donuts and beer provide sustenance.  He wins on the partyer scale:
While still showing hope with a value of 1 for Worker and Academic, Homer is off the charts at 10 on the Partyer scale
Scooby Doo is driven by snacks, but this leads to a particularly strong work ethic.  He wins on the Worker scale:
Scooby's snacks drive his work ethic.  A smart and fun loving dog, he still gets 1's for Academic and Partyer



Brian Griffin gets a little tricky.  Martinis are definitely a weakness, but his self-proclaimed academic prowess is what we'll concentrate on.  And for this example's simplicity sake, we'll hide his partying ways:

A true academic (let's concentrate on how he sees himself)
OK, let's see what we've done here.  Below is the area of the content tree where we can model profile attributes, profile cards and patterns:


In the Marketing Center, under the Profiles item we see the overall Profile I created, called Characters.  Directly under Characters are the three Profile Keys (which I've been calling attributes) that make up the possible segregation within the profile.  Remember that this is a mix--I can be on a scale of values between all these Profile Keys.  Profile Keys have a minimum and maximum value so you can decide on the granularity that content authors will have as they assign these values.

Notice there are no Profile Cards included above.  I kept this out on purpose--let's stick to one thing at a time.  Profile Cards would have allowed me to create a predefined mix of attributes that a content author could assign to a piece of content in one operation.  It could LOOK exactly like the patterns above, but a profile card's purpose is to promote the simple and consistent application of these Profile Keys to content.  The way I have it now (as we'll soon see) I will have to assign the value of 10 for Academic, 1 for Partyer and 1 for Worker individually.  Had I created a Profile Card, I could have assigned Brian Griffin to get the same result of those independent Profile Key assignments.

But let's get back to Patterns.  As you can see, under the Pattern Cards item, I added three new Pattern Cards (those are the screen shots with the character images above).  Basically a Pattern is an anticipation of shapes between the axis in the overall Profile.

Because Brian Griffin would be interested, I have to include the formula Sitecore uses to decide which Pattern is matched: 

Squared Euclidean Distance
d(p,q) = (p1 − q1)2 + (p2 − q2)2 + ... + (pi − qi)2 + ... + (pn − qn)2

For you Homers...ah, forget it you already stopped reading.

Thanks to Adam Conn for a much more serious coverage of this subject.

In our example, let's think of it like this.  We're going to label a visitor of our site with one of these characters.  A visitor is always going to be one....they might move from being a Homer to a Brian as they start reading more about the Ivy League.  They might move from Brian to Scooby as they read about the Industrial Revolution.  But they will always be one.

Now our controls on our Sitecore pages know who are visitor is at any one time and can start customizing the experience.  10% off on Scooby Snacks, Happy Hour tickets, virtual tours of the Louvre.  Maybe it's not so dramatic--a movement of a message from the bottom right to the top left, a slight reordering of navigation elements.

Two parts to accomplish this:

First, we have to get smart about our content authoring process, our workflow and review process.  Let's ensure that assigning Profile Keys is an important part of the content lifecycle.  Below you'll see an article that I'm writing called Martinis and Novels (shamelessly pandering to the Brian Griffin crowd).  In addition to the article itself, I've decided to apply the appropriate Profile Keys (remember for simplicity's sake I'm pandering to Brian's self-proclaimed academic prowess).

Clicking on the Profile icons on the right hand side of the Content Editor screen brings up this dialog



I've assigned the value of 10 for Academic, 1 for Partyer and 1 for Worker to my news article.  Now as a visitor browses to my article page, they accumulate those values for their session (or even across multiple sessions).  The "shape" of my article is a triangle that reaches high on the Academic scale and low on the other two.
 
I'd now go through a similar exercise for my articles targeted at other audiences and each content item will carry its own shape.  Doughnuts and Beer will reach way over on the Partyer axis.
 
Second, we want to implement a Rule on one of our controls that takes advantage of this shape matching.  We'll keep it simple and just show a different image (technically we'll change the Data Source of our control to point to a different content item containing an Image field).  Below shows how I can accomplish this in the Sitecore 6.5 Page Editor.  I have a simple control that renders an image.  It's default data source (the image it chooses) is the question mark.  Based on our pattern matching, though, I will switch the image to the appropriate content item that contains an image targeted towards that character:

This is an pre-built rule available in Sitecore 6.5.  I am able to simply look for a condition where the pattern matches the Profile Key distribution of the current visitor.  By looking for these three conditions, I am able to easily move between the cases (as someone becomes more of a Brian than a Homer).  I could also easily switch out the control altogether.

Keep in mind that these conditions can be much more elaborate.  Maybe this pattern matching is a single clause of an overall condition...think about the checks you could make to a CRM or any other persistent profile store in addition to the checks you can make against current visitor browsing patterns.  Sky's the limit...hopefully this gave you way to understand a simple scenario that can open up your significant real world ideas.