Wednesday, October 22, 2014

DMS Profiling, Personalization Based on a Pattern Card

I continue to swim in the open waters of Sitecore Digital Marketing System.

PROFILING. I know, it's not politically correct but I'll do it anyway. I set a new profile and made 4 profile cards and 4 pattern cards. My questions form the start was: are they related? Do engagement value points have to match one for one between them? The answer seemed to be no, but I was not able to see the patter matching happening. I was clicking on all the right pages (developer) but none of the patterns seemed to match. Until I updated the value points to be exactly the same between corresponding cards and patterns.

I.E. Profile card called Developer has values 1,2, 7, therefore Pattern card for Developer should also have 1,2, 7 for engagement value points.

I discovered that visitor's profile changes as user navigates the site. I originally assumed that once it reaches a certain "status" it keeps it. But it doesn't. The pattern changes between the pattern cards defined on the site depending on which pages I click.

In the API you can get to the same profile collection two different ways. From the current visit itself or through a current visitor.

var visitorProfiles = Sitecore.Analytics.Tracker.Visitor.CurrentVisit.Profiles;
var visitProfiles = Tracker.CurrentVisit.Profiles;

Then to actually match the pattern I iterate though all profiles:

var personaProfile = Tracker.CurrentVisit.Profiles.Where(profile => profile.ProfileName == evaluatorTypeProfile.Name).FirstOrDefault();

            if (personaProfile != null)
            {
                 // load the details about the matching pattern card
                 Item patternCard = Sitecore.Context.Database.GetItem(new ID(personaProfile.PatternId));
                 if (patternCard != null)
                 {
                        //DO YOUR MAGIC HERE
                  }
             }




PERSONALIZATION BASED ON A PATTERN CARD

This is such a quick and visual way personalize based on visitor's pattern. Once I had my profile and cards set up I made a custom condition on a component like this:

in Page Editor click the component. Click Personalize icon and make a new condition like this:

where the current visit matches the Developer pattern pattern card in the Visitor Categories profile

Text in blue is my actual Pattern Card and Profile. Then for this condition I chose a different datasource. Reloaded the page and I checked my current pattern. Happened to be Developer, just like in the condition. And the text inside my personalized component changed accordingly. Success! 














No comments:

Post a Comment