Generative Artificial Intelligence: How generative AI works.pdf
Martin English - Extending the experience with CRM - SUGCON
1. Organized by the Community, for the Community.
EXTENDINGTHE
EXPERIENCEWITH CRM
Martin English
Arke
menglish@arke.com
@martinrenglish
sitecoreart.martinrayenglish.com
2. Organized by the Community, for the Community.
• Enterprise Client MarTech Stack = Sitecore + CRM +
Email Marketing
CRM ANDTHE ENTERPRISE CLIENT
SUGCON NORTH AMERICA 2015 2
3. Organized by the Community, for the Community.
CRM ANDTHE ENTERPRISE CLIENT
• One place to store every customer, every lead, every
service request, all of their contact info, preferences,
and history
• Basically, all there is to know about a
customer
• Hub for feeding data to other systems
SUGCON NORTH AMERICA 2015 3
4. Organized by the Community, for the Community.
CRM ANDTHE ENTERPRISE CLIENT
SUGCON NORTH AMERICA 2015 4
5. Organized by the Community, for the Community.
EXPLICIT EXPERIENCE PERSONALIZATION
• We want to enable a unique
experience for users in real-time.
• If a customer or potential customer / lead is
visiting our site, couldn’t we personalize using
key information that we know about them?
• Wouldn't it be nice help our marketers by
informing them of what customer’s and leads
are doing on the website?
SUGCON NORTH AMERICA 2015 5
6. Organized by the Community, for the Community.
EXPLICIT EXPERIENCE PERSONALIZATION
• Imagine if…
– the content on
mizunousa.com
changed based
on our previous
purchases made
with the Mizuno
app…
SUGCON NORTH AMERICA 2015 6
Click any link in the email and the mizunousa.com immediately
closes the loop withCRM and knows all about me
7. Organized by the Community, for the Community.
PRIMARY OBJECTIVES
1. Make CRM data available to Sitecore
2. Make Sitecore data available to a CRM
3. Allow the connector to be “plugable”
4. Build it like Commerce Connect
1. Framework and an API for CRM with a focus
on integration
2. CRM and Email Campaign System
Independence
SUGCON NORTH AMERICA 2015 7
8. Organized by the Community, for the Community.
EXPERIENCE EXTENSION FRAMEWORK
SUGCON NORTH AMERICA 2015 8
Experience
Extension
Framework
Param Check
Processor to examine request
CRM Contact
xDB
Contact
Pipeline to identify and pull
CRM contact into xDB
xDB Contact
Personalization
Conditions for Rules Engine
xDB Contact
Engagement
CRM
Pipeline to push goals and values
toCRM
xDB Contact
CRM
Contact
Processor to initiate pipeline to keep contact up to date
Contact
Facet Data
Provider
Data provider that exposes contact
facets as Sitecore items
9. Organized by the Community, for the Community.
FRAMEWORK RECIPE
• Custom Pipeline
– Andy Uzick: http://bit.ly/1KgqeH0
• Contact Facets
– Sitecore Community Docs: http://bit.ly/1Jwu7qw
– Brian Pedersen: http://bit.ly/1IaRh0l
• Contact Utilities Module
– Adam Conn: http://bit.ly/1hXRgHW
• Custom Conditions
– Brian Pederson: http://bit.ly/1Jg5haJ
SUGCON NORTH AMERICA 2015 9
10. Organized by the Community, for the Community.
CONTACT SYNC PIPELINE
SUGCON NORTH AMERICA 2015 10
Abort Pipeline End Pipeline
Param
Check
No
Yes Valid
Key
Field
Yes
No
CRM
Lookup
No
Yes
OpenTargeted
Email
CRM
Contact
xDb
Args:
IsCommitSync
SitecoreContact
TargetParam
CrmKeyField
CrmKeyValue
FacetMapList<startTracking> after “StartTracking.ProcessQueryString”
Active
Tracker
Yes
No
http://sitecore/campaign/landingpage?crmid=12345
Known
Contact
No
Yes
11. Organized by the Community, for the Community.
CONTACT SYNC PIPELINE
SUGCON NORTH AMERICA 2015 11
Abort Pipeline End Pipeline
Auth
Check
No
Yes Valid
Key
Field
Yes
No
CRM
Lookup
No
Yes
Login
CRM
Contact
xDb
Args:
IsCommitSync
SitecoreContact
TargetParam
CrmKeyField
CrmKeyValue
FacetMapList
Active
Tracker
Yes
No
Known
Contact
No
Yes
User: menglish@arke.com
Pass: somelovelystuff
Return key field
12. Organized by the Community, for the Community.
CONTACT FACETS
• Persist data about the contact
• Link Sitecore Contact to CRM Contact
• Use for explicit personalization
SUGCON NORTH AMERICA 2015 12
13. Organized by the Community, for the Community.
CONTACT FACETS
SUGCON NORTH AMERICA 2015 13
14. Organized by the Community, for the Community.
CONTACT SYNC PIPELINE
• Code Review
• Demo
SUGCON NORTH AMERICA 2015 14
15. Organized by the Community, for the Community.
CONTACT FACET DATA PROVIDER
• Data provider that exposes contact facets
as Sitecore items
• Custom facets to store other key contact
data to personalize on
SUGCON NORTH AMERICA 2015 15
16. Organized by the Community, for the Community.
CONTACT FACET PERSONALIZATION
• Demo
SUGCON NORTH AMERICA 2015 17
17. Organized by the Community, for the Community.
ENGAGEMENT PUSH PIPELINE
SUGCON NORTH AMERICA 2015 18
Abort Pipeline End Pipeline
Active
Tracker
No
Yes
Session End
Update
CRM
Args:
SitecoreConversions
SitecoreInteraction
<CommitSession>
Get
Engagement
Value “push
goals”
Yes
No
18. Organized by the Community, for the Community.
ENGAGEMENT PUSH PIPELINE
• Code Review
• Demo
SUGCON NORTH AMERICA 2015 19
19. Organized by the Community, for the Community.
KEEPING CONTACTS IN SYNC
SUGCON NORTH AMERICA 2015 20
Active
Tracker
Valid
Key
Field
Value
CRM
Lookup
Yes Yes
Abort Pipeline
No
End Pipeline
Yes
Session End
CRM
Contact
xDb
Args:
IsCommitSync
SitecoreContact
TargetParam
CrmKeyField
CrmKeyValue
FacetMapList
<CommitSession>
isCommit
Sync =
true
No
20. Organized by the Community, for the Community.
ENHANCEMENTS
SUGCON NORTH AMERICA 2015 21
• Contact sync as scheduled task
– Get list of identified contacts, sync with CRM (off hours) instead of session end
• Improved implementation of mapping xDB Contact to CRM Contact
– UI?
• Endpoint in Sitecore to push CRM contact data on demand
• Real-time Push Goals
– Send key goals across to CRM instantly
• Qualified data.When they happen, we want to send to CRM.
• Trigger workflow
• “We need to call this customer now!”
21. Organized by the Community, for the Community.
QUESTIONS?
SUGCON NORTH AMERICA 2015 22
22. Organized by the Community, for the Community.
GET INTOUCH!
• Email: menglish@arke.com
• Twitter: @martinrenglish
• Blog: sitecoreart.martinrayenglish.com
SUGCON NORTH AMERICA 2015 23
23. Organized by the Community, for the Community.
THANKYOUTO OUR SPONSORS!
SUGCON NORTH AMERICA 2015 24
SM
Editor's Notes
Processor to examining the request for the parameter and value.
Custom Pipeline to pull in key contact information from CRM and store in xDB.
Condition for the Rules Engine to personalize using key contact information.
Custom Pipeline to push goals and values to CRM.
Task to keep contact info in xDB in sync with CRM.
Great contributions from the community help us put all these pieces of this framework together
The Param Check processor --- pipeline
Check for guid
Custom "CRM Contact" facet to store identified CRM and other key info about contact. Eg: marital status, children in household, income, birthday
The Param Check processor --- pipeline
Check for guid
Custom "CRM Contact" facet to store identified CRM and other key info about contact. Eg: marital status, children in household, income, birthday
The Param Check processor --- pipeline
Check for guid
Custom "CRM Contact" facet to store identified CRM and other key info about contact. Eg: marital status, children in household, income, birthday