Upload
todd-mitchell
View
755
Download
0
Embed Size (px)
Citation preview
Sitecore xDBA Crash Course
Todd Mitchell, @agenttmiTechnical Product Manager, Sitecore
@agenttmi
What is xDB?
CRM SocialMedia
Customer SupportWebsite
POS Apps
problem
CRM SocialMedia
Customer SupportWebsite
POS Apps
Problem ERP
Centrally stored ExperiencesCRM Social
Media
Customer SupportWebsite
POS AppsxDB
Model
Contact
Interaction
Web VisitPhone CallHotel Check-InEmail Opened
Outcome
Ticket PurchaseProduct PurchaseSigned Phone Contract
Part 1
xDB Platform Architecture
10
⁞Server RolesContent Delivery
Content Authoring
Processing ReportingCollection
Experience Management
Experience Database
11
InfrastructurexDB
Processing Server
Reporting Server
Search Index
Reporting Database
MongoDB
Content Delivery Cluster
Session State Server
(Sql or Mongo)
CD 1 CD 2 CD 3
Content Authoring
Content Authoring 1
Content Authoring 2
Session State
12
Infrastructure – Content Delivery
Content Delivery
Session State Database
Tracker
Content Delivery
Tracker
Content Delivery Cluster
SharedContact
PrivateInteraction
CollectionDatabase
Goal
PagePage
Contact (if exists)
Tracking web sessionsDelivery Cluster Session
key behavior cache
14
New!8.1
Fast loading customizable cache of recent key behavior and events
Enabling personalization on historical behavior
15
@ Scale
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
Part 2API
Collect Process Report
18
Background – Who’s the Brand?⁞Jetstream airlines
19
Background – External Systems⁞ Membership database⁞ Call Center system⁞ Ticket Booking System
Jetstream wishes to own the experience… for all individuals interacting with their brand
… using all data known for an individual
22
The Problems…⁞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?
Problem 1Using membership data
24
Using membership data⁞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
25
Solution⁞Extend the contact
⁞Facet Technology⁞Unified Contact Model⁞Contact Bulk Import
26
What is contact facet technology?⁞ 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⁞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…Determine which attributes the you want available in your web presence..
A few factors..1.Identification strategy2.Personalization strategy3.Segmentation strategy
29
Identification leads to Merging⁞ Happens when you call Tracker.Session.Identify⁞ It’s expected you customize this for the brand’s specific facets
30
Defining Facet Technology⁞Brand Attributes⁞ First Name, Last Name ⁞ Member Id – unique
identifier for their users⁞ Membership Status –
Silver, Gold, etc.⁞ Preferred Seat
31
Contact Bulk Import⁞Queue up large numbers of new or existing Contact’s to be stored in xDB
⁞Customize specific attributes to be updated
Problem 2Using experiences from Call Centers
33
Using experiences from Call Centers⁞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…
34
Solution⁞Import Interactions
⁞Channels⁞Venues⁞Touch points⁞Interaction Registry API
35
Channel⁞Source of the interaction
36
Venue⁞Physical location of the interaction
37
Touch point1.Interface between a contact and a brand
38
Interaction Registry API⁞Enables you to import interactions⁞Uses same execution model as a web session…
Problem 3Leverage ticket purchases from my booking system
40
Using the booking system’s data⁞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
41
Solution⁞Register Outcomes
⁞Significant events planned by the brand.
42
Outcomes⁞Outcome is not a Goal⁞Can have Monetary Value⁞Directly associated to the contact…
Interactions Interactions Goal Goal Interactions OutcomeInteraction Interactions
43
Registering OutcomesOutcome Manager API
Quick Recap..
45
The Problems…done.Membership data in Sitecore 8
Facets, unified contact, Bulk importExperiences from my Call Center
Interaction registryLeverage ticket purchases from my booking system
Outcomes
Collect Process Report
Collection Database
Reporting Database
Contact Segmentation Index
ProcessingService
Aggregationtask
Blue arrow : data fetchedOrange arrow : data pushed
Processing data flow
48
Processing1)Contact2)Interaction
49
Contact ProcessingExecutes when a contact is 1)Created2)Updated3)Obsoleted
50
Interaction ProcessingExecutes when:
1)Web session is completed
2)Via Interaction Registry
Collect Process Report
Collection Database
Rep
ortin
g S
ervi
ce
Content Management
ProcessingService
Aggregationtask
Blue arrow : data fetchedOrange arrow : data pushed
Reporting data flow
Reporting Database
ContactSegmentation
Index
53
Reporting/Query APIQuerying data from xDB⁞ SQL⁞ Mongo⁞ Contact Segmentation Index
54
Querying Mongo directly⁞Try to only do this when using an indexed field.
⁞ ContactId⁞ Identifier
55
Querying Contact Index⁞Uses Sitecore.ContentSearch API⁞Use when you wish to search across a contact’s behavior
⁞ Interactions⁞ Goals⁞ Campaigns⁞ …
56
Querying Reporting database⁞Accepts T-SQL⁞Executes against reporting database
Reporting S
ervice
Reporting Database
Content Management
Collect Process Report
OrganizersSponsor
Thanks to our… &…