2. DMS Data model
Where is the data at?
Pieter Brinkman, Sitecore
@pieterbrink123
Amsterdam Las Vegas Melbourne
3. Possible subjects
Page Events & Goals Q&A
Reports
Data model
Architecture Customer Engagement Plans
Digital Marketing System(DMS)
Introduction Database API
Page Events & Goals
Distributed Architecture Visitor Profiling
Campaigns Tags Data strategies
Visitor Classification
Amsterdam Las Vegas Melbourne
4. Agenda
• Short introduction DMS
• DMS Data model
• DMS Architecture
• Analytics database and API
• Mapping DMS Functionality to the Data model
• Distributed Architecture
• Data strategies
• Q&A
Amsterdam Las Vegas Melbourne
6. DMS Basic Architecture Sitecore Databases
• Basic Server environment
with one analytics database Analytics Database
• Analytics Database Server
Amsterdam Las Vegas Melbourne
8. Visitor, Visits, Pages
Jared
Visit 3
About
Help FAQ
My Jetstream
Registered
Amsterdam Las Vegas Melbourne
9. Writing to the Analytics Database
Page Event
Page
Goal
Commit
Visitor Change Queue
DataSet
DataSet
Page
Page
Page
Goal
Page
Amsterdam Las Vegas Melbourne
10. Use the Analytics API for Data Access
• Access the data in the Analytics database
trough the API
• Use the Analytics.Tracker to engage visitor
session;
– Tracker.Visitor
– Tracker.CurrentVisit
– Tracker.CurrentPage
Amsterdam Las Vegas Melbourne
11. Demo
Visitor data and API
Amsterdam Las Vegas Melbourne
14. Page Events
Page Event is a predefined event that can
be triggered on a page, for example:
an error or conversion
Amsterdam Las Vegas Melbourne
15. Page Events: Trigger
• On a Item • Sitecore API
• Web Forms For Marketers
– Can trigger one or more goals on
form completion.
Amsterdam Las Vegas Melbourne
17. Page Events: Data model
• Page Events are tied to Page Trails, Visits
and visitor
• Goals is an Page Event assigned with an
IsGoal attribute in the PageEventDefinitions
table
Amsterdam Las Vegas Melbourne
18. Tags
Tags are customizable values that are
added to the visitor record.
Amsterdam Las Vegas Melbourne
19. Tags: Assign
• Web forms for Marketers • Sitecore API
– Mark field as Tag – Set Tag
– Get Tags
Amsterdam Las Vegas Melbourne
24. Visitor Classification : Usage
• Classify visitors in the Engagement Analytics
– Click Classify in the Latest Visit Report
• Get and Set with Sitecore API
Amsterdam Las Vegas Melbourne
26. Visitor Classification: Data model
• A visitor can be classified
• New classification can be added
in the VisitorClassifications table
Amsterdam Las Vegas Melbourne
27. Campaigns
Campaigns is the ability to segment
visit-statistics based on an action.
Amsterdam Las Vegas Melbourne
28. Campaigns: Trigger
• With Sitecore Interface • Sitecore API
– Set Campaign Attribute on an Item – Set visit campaign
– Get visit campaign
– Using the Campaign ID in the Querystring
– Safe Action in Web Form For Marketers
– Within an Engagement Plan
– Email Campaign Manager
Amsterdam Las Vegas Melbourne
33. Reporting: Types of reports
• Engagement Analytics • Executive Dashboard
– Realtime statistics – Period based statistics
– Detailed reports – Management reports based
on visitor value
Amsterdam Las Vegas Melbourne
37. Distributed architecture
• Different connectionstrings for:
– Analytics Analytics Database
– Reporting
– Automation
Transfer data
Reporting Database
Transfer data
Automation Database
Sitecore Databases
Amsterdam Las Vegas Melbourne
38. Data strategy; Example
Customer requirements:
• See detailed visitor data reports
• Compare visitor value of Christmas 2011 with 2012
• Personalize website
Amsterdam Las Vegas Melbourne
39. Data strategy; Example
No strategy defined
Analytics Database:
Size: 100 GB
- Reports are slow
- Trouble with backups
Amsterdam Las Vegas Melbourne
40. Data strategy; Example
A few questions you can ask the customer:
• What period do you want to save the detail visitor data?
• Based on what data do you want to personalize your
website?
• Do you use Visitor Classification? Should we save all
detailed data of the classified visitors?
• Can we remove detailed visitor information after this period?
• Can we get a deticated server for reporting?
Amsterdam Las Vegas Melbourne
41. Data strategies; Example
Defined the strategy Analytics Database:
Size: 100 GB
20
• Use a dedicated reporting server
• Sync SQL data nightly between analytics and
reporting DB
• Create SQL maintenance plan for Reporting server;
– Clear page table, except for; Reporting Database:
Size: 100GB
60 GB
• Classified visitors
• Visits within the last two months
• Create SQL maintenance plan for Analytics server
– Clear all visit related tables with data older than two
months
Amsterdam Las Vegas Melbourne
42. Data strategies
• Other possible strategies
– Memory only
– Only store a percentage of the visitor data
– Switch to SQL Enterprice Edition with online indexing
– Use Engagement Intelligence
Amsterdam Las Vegas Melbourne
43. Data strategies tips
• Define the strategy based on customer needs
• Help the customer by providing some basic strategies.
• Define data strategy before turning DMS on!
Amsterdam Las Vegas Melbourne
44. Any questions?
Contact me on:
• Email : pib@sitecore.net
• Twitter : @pieterbrink123
• Blog : http://newguid.net/
Amsterdam Las Vegas Melbourne
45. Feedback Appreciated!
Please take a moment to provide
session feedback via the mobile site.
http://www.sitecore.net/SymNA
Amsterdam Las Vegas Melbourne
Gekoppeld aan Pages en voor performance + statistieken ook aan visits en visitors
foreach(var profile in Tracker.CurrentVisit.Profiles){ Item item = db.GetItem(string.Format("/sitecore/system/Marketing Center/Profiles/{0}", profile.ProfileName)); var profileItem = new ProfileItem(item); var patternCardItem = profileItem.MatchPattern(profile.Values); }
IsClassigicationGuessedIt sets the Sitecore.Analytics.Tracker.Visitor.Settings.IsVisitorClassificationGuessed flag. If this flag is true, VisitorClassification value will be recalculated before saving the visitor information to the database. It is normally done at the end of the first or second request.