+ All Categories
Transcript

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… &…


Top Related