14. key behavior cache
14
Fast loading customizable cache of recent key behavior and events
Enabling personalization on historical behavior
15. @ Scale
15
Content Delivery Cluster
Session
State Server
(Sql or Mongo)
CD 1 CD 2 CD 3
Content Delivery Cluster
Session
State Server
(Sql or Mongo)
CD 1 CD 2 CD 3
Content Delivery Cluster
Session
State Server
(Sql or Mongo)
CD 1 CD 2 CD 3
xDB
Processing
Server
Reporting
Server
Search Index
Reporting Database
MongoDB
Content Delivery Cluster
Session
State Server
(Sql or Mongo)
CD 1 CD 2 CD 3
22. The Problems…
22
⁞How do I
1. Use my membership data in Sitecore xDB?
2. Use interactions from my Call Center?
3. Leverage ticket purchases from my booking system?
24. Using membership data
24
⁞ Jetstream’s membership system has the following attributes per
user…
⁞ Member Id – unique identifier for their users
⁞ First Name, Last Name
⁞ Membership Status – Silver, Gold, etc.
⁞ Preferred Seat
26. What is contact facet technology?
26
⁞ Enables extensibility model on
Sitecore’s Contact
⁞ Used internally
⁞ Ship with a default set of
attributes (name info, email
addresses, phone numbers,
etc.)
⁞ Scales since it’s part of the
Contact
27. Unified Contact Model
27
⁞ Centralizing Key Fields
⁞ Default Attributes (first name, last name, etc.)
⁞ List of email addresses with bounce count
⁞ List of Addresses
⁞ List of Phone Numbers
⁞ Consent Revoked
⁞ Communication Revoked
28. Designing the contact…
28
Determine which attributes the
you want available in your web
presence..
A few factors..
1 . Identification strategy
2 . Personalization strategy
3 . Segmentation strategy
29. Identification leads to Merging
29
⁞ Happens when you call Tracker.Session.Identify
⁞ It’s expected you customize this for the brand’s specific facets
30. Defining Facet Technology
30
⁞ Brand Attributes
⁞ First Name, Last Name
⁞ Member Id – unique
identifier for their users
⁞ Membership Status –
Silver, Gold, etc.
⁞ Preferred Seat
31. Contact Bulk Import
31
⁞ Queue up large numbers of new or existing Contact’s to be
stored in xDB
⁞ Customize specific attributes to be updated
33. Using experiences from Call
Centers
33
⁞ Jetstream’s call center handles thousands of calls per day…
1 ) They want to collect the results of the call per contact…
2 ) Personalize the web experience based on the phone call’s
result…
40. Using the booking system’s data
40
⁞ Jetstream has a centralized booking system for flight and
vacation purchases.
1 ) They wish treat this information as experience data to use for
personalization..
⁞ Surveys
⁞ New offers
42. Outcomes
42
⁞ Outcome is not a Goal
⁞ Can have Monetary Value
⁞ Directly associated to the contact…
Interactions Interactions Goal Goal Interactions OutcomeInteraction Interactions
45. The Problems…done.
45
Membership data in Sitecore 8
Facets, unified contact, Bulk import
Experiences from my Call Center
Interaction registry
Leverage ticket purchases from my booking system
Outcomes
55. Querying Contact Index
55
⁞ Uses Sitecore.ContentSearch API
⁞ Use when you wish to search
across a contact’s behavior
⁞ Interactions
⁞ Goals
⁞ Campaigns
⁞ …
Gold star – supports strongly typed facets
Custom values will be replaced by facets
Xdb is a product meant to be separate than content delivery. It constsis of 3 server roles – collection, processing, and reporting
You put CD clusters around the world, then centralize xdb
Designing the contact…
Some factors to consider…
How do you wish to identify a contact? 8.0 supports a single unique identifier per contact.
What attributes about the contact do you wish to use for personalization?
Since we can index this data in our contact segmentation index, it can later be used to create lists and segments.. Let’s say you wanted to send an email to all Gold level members using ExM. Storing this in xDB enables it.
Talk about the pipeline and the single merge point… so brands can implement their logic..
Talk about future version of this using better queuing
Talk about the idea is to enable updates to massive numbers of contacts while maintain a stable system.. I.e. not eating all the CPU time on the processing server to import millions of contacts.
Call center handling thousands of calls per day…
Each call they can identify the customer by their member id…
They wish to collect each these experiences including the result of the call…
Did a booking occur?
Was the customer angry?
Did they upsell a vacation package?
Sitecore 8 introduces support for channels…
This replaces traffic type…
You’ll still see traffic type in the system as we’ve begun to obsolete it and expect it to be out fully by 8.2’s release
A channel is the source of an interaction… in this case it would be a phone call
Sitecore 8.1 introduces venue…
A venue is the physical location of the interation.. Some example venues are a the call center where the phone call took place
Channel is a new field on the interaction that replaces traffic type.
While the traffic type is still found in the system, it’s obsolete and will be removed in the coming versions.
Note: There is configuration which maps old traffic types to channels.
Venue – coming in 8.1 defines the physical location of an interactions… so for instance, if we consider
scanning badges at symposium, we could say the venue was Barcelona\Symposium\room 1702
Or
tracking a POS transaction at Starbucks Copenhagen central station – the venue could be Denmark\Copenhagen\Store 1702
Touchpoint – interface between a contact and a brand… for us at Sitecore – this is the page or content item representing the page view. Essentially we just need to tie a specific content item to a subject in the call center or kiosk. A bit more on the kiosk example – we can connect the
Venue – coming in 8.1 defines the physical location of an interactions… so for instance, if we consider
scanning badges at symposium, we could say the venue was Barcelona\Symposium\room 1702
Or
tracking a POS transaction at Starbucks Copenhagen central station – the venue could be Denmark\Copenhagen\Store 1702
Touchpoint – interface between a contact and a brand… for us at Sitecore – this is the page or content item representing the page view. Essentially we just need to tie a specific content item to a subject in the call center or kiosk. A bit more on the kiosk example – we can connect the
Touchpoint – interface between a contact and a brand… for us at Sitecore – this is the page or content item representing the page view. Essentially we just need to tie a specific content item to a subject in the call center or kiosk. A bit more on the kiosk example – we can connect the
The interaction registry enables you to model a full interaction as if it has already occurred and you just need to collect it in xDB.
This uses the same execution model as a page view or even whole session in a Sitecore web session.
So for instance, you can model the entire interaction for a phone call by creating an interaction record along with a touchpoint (or content item) and push that into siteceore. The tracking field still works which means any campaigns, goals, and behavior profiles will still be tracked and triggered for the contact.
Sitecore 8 introduces support for channels…
This replaces traffic type…
You’ll still see traffic type in the system as we’ve begun to obsolete it and expect it to be out fully by 8.2’s release
A channel is the source of an interaction… in this case it would be a phone call
Sitecore 8.1 introduces venue…
A venue is the physical location of the interation.. Some example venues are a the call center where the phone call took place
Outcomes are a significant event planned by a brand… and it can have financial value
In our example case – booking a ticket is a significant event..
When compared to a goal.. A goal is something the contact achieves with-in an interaction and it stays with that interaction.. An outcome goes beyond it..
Examples –
Brands that negotiate contracts – Signing an NDA
eCommerce site – purchasing a package
Airlines - buying an International Ticket
Using the outcome manager you can manage outcomes for a given contact…
Stored in their own collection
Can be associated to an interaction
Can personalize on outcomes..
Can have custom values…
Additional reporting is targeted around v8.2
Ensuring scalability
security,
without allowing direct web access
And supporting full integration to other Sitecore products?
In 8.0
Products like xfile query directly against xdb using the mongo query yet always have a contact id
xAnalytics queries against the reporting database
Searching for contacts is always done against our segmentation index
In 8.0
Products like xfile query directly against xdb using the mongo query yet always have a contact id
xAnalytics queries against the reporting database
Searching for contacts is always done against our segmentation index