SlideShare a Scribd company logo
1 of 30
Umbraco Personalisation Packages
Andy Butland
Zone
@andybutland
Theo Paraskevopoulos
GrowCreate
@theotron
Umbraco Personalisation Packages
Personalisation Groups Pipeline CRM
Andy Butland
• Blog (sporadically) at http://web-matters.blogspot.it/
• Find here a copy of slides and links to various resources
• Contact: @andybutland
• I work for Zone – www.zonedigital.com - a digital agency where I’m head
of .NET development
• We’ve been Umbraco gold partners for a number of years
• We’re based in London, Bristol and Cologne
• With a few outliers like myself, living in Italy
Theo Paraskevopoulos
• Tech Director for GrowCreate
• Digital agency near Oxford
• Umbraco Gold Partner for last 4 years
• Documento, Pipeline CRM packages
github.com/theotron
@theotron
www.growcreate.co.uk
www.pipelinecrm.co.uk
Personalisation?
Examples
Examples
Influences, website features and CMS selection
• Requests for “personalisation” come from website RFPs and stakeholder
requirements gathering sessions
• Might fall into a class of feature “we think we need”/”would be nice to have”
• Might be something quite specific that will always require custom development
• Often though comes down to a genuine need for a general purpose, editorially
controlled means of selectively promoting content
The HubSpot appoach
• Marketing first, then Website
• In-bound: SEO, Social, Blogging
• Conversions: CTAs, Landing pages, Forms, Analytics
• Post-conversion: Personalisation, Automation, Email
• Approach resonates with clients
• CRM underpins everything (free!)
• Personalisation is first major use case
Personalisation
Groups
Controlled by editors not developers
CONTENT PERSONALISATION FEATURES
EDITOR DEVELOPER
Is personalisation a core CMS feature?
• Umbraco has a focus on delivering an excellent CMS with no barriers for
extensibility
• Community packages provide non-core features such as e-commerce, CRM,
newsletter management, split testing, themes… and currently, personalisation
• This focus shouldn’t change…
• … but does mean the product can suffer in “out of the box” comparisons
• Might be that personalisation features do need to be considered as something for
core
Options for personalisation with Umbraco now
• A number of community packages have been developed to offer these
types of features
• Footprint
• Spindoctor
• Personalisation Groups
• Pipeline CRM
Introducing Personalisation Groups
• Free and open-source package for Umbraco providing:
• Various options for common personalisation criteria:
• Day of week, time of day, Umbraco membership, session, cookie, pages viewed, geo-
location
• Extensible for development of custom criteria
• Property editors for:
• Creation of groups matching one or more criteria
• Assigning groups to content
• An API for use in templates or controllers for determining if the current user
should view a piece of content
• Find it at:
• https://our.umbraco.org/projects/website-utilities/personalisation-groups
• https://github.com/AndyButland/UmbracoPersonalisationGroups
Group creation
A group can be created that matches
any or all of a set of criteria.
Criteria can be chosen from the set of
built-in ones, plus any custom ones.
This group would match all “weekday
morning visitors”
Group creation (2)
When adding or editing a criteria in a
group, the definition is provided via a
custom dialog.
Associated groups with content
Via a picker, one or more groups can be
associated with a content item.
Customising content display
@foreach (var post in Model.Content.Children
.Where(x => x.ShowToVisitor()))
{
<h2>@post.Name</h2>
}
An extension method on
IPublishedContent named
ShowToVisitor() allows for content to
be shown or hidden to the current
visitor.
ShowToVisitor(bool) will:
• Look for groups associated with the content:
• If none found, indicate show or hide based on the passed boolean parameter
• If any found, return true if the current visitor matches any one of them according
to the criteria definitions
Creating custom criteria
• The Personalisation Groups package may not provide every criteria you need
• Custom criteria can be created in other packages or in the website solution
• Create class, implementing IPersonalisationGroupCriteria’s single method
MatchesVisitor()
• Provide angularjs assets:
• View for the definition editor
• Controller for the definition editor
• Service component to translate the stored definition into something human readable for
display
• On start-up, all loaded dlls are scanned for classes implementing
IPersonalisationGroupCriteria, the criteria are loaded and made available for
selection
• Shortly Theo will demonstrate how this can be done in creating a criteria
integrated with Pipeline CRM
Demo
• Personalising the content items in a list:
• What’s included and what’s not
• What’s promoted to the top
• Custom presentation of each element
• Personalising a single content page using sub-nodes
• Matching based on day of week and time of day
• Matching based on cookie values
• Personalising a single content page using Nested Content
• Nested Content is a list editing property editor defined by document types
• Content is still represented using IPublishedContent hence our extension method is
available
• Find it at: https://our.umbraco.org/projects/backoffice-extensions/nested-content/
Pipeline CRM
What is Pipeline CRM?
• Custom Relationship Management
• Embedded in Umbraco back-office
• Opportunities and Tasks
• Contacts and Organisations
• Integration and Extension API
Reaction
“Hi X, special offers
for Y users”
CRM offers a new dimension in personalisation
Basis
Users who has
visited page X
Reaction
“”You may like Y”
Basis
User X works for
Company Y
No CRM CRM-enabled
Use case
Brief
Personalise the homepage for
known customers:
• Named CTA
• Message for B2B
• Personal message
How it works
1. User submits form > Pipeline Contact
2. Track with cookie
3. Retrieve Contact, display Name
Use case
Brief
Personalise the homepage for
known customers:
• Named CTA
• Message for B2B
• Personal message
How it works
1. Automate Contact > B2B group
2. Use Pipeline Bridge to match criteria
3. Display alt content on page
Use case
Brief
Personalise the homepage for
known customers:
• Named CTA
• Message for B2B
• Personal message
How it works
1. Custom Pipeline property “message”
2. Retrieve Contact from cookie
3. Display message on page
Toolkit
Pipeline CRM
• http://pipelinecrm.co.uk
• https://our.umbraco.org/projects/backoffice-extensions/pipeline-crm/
• https://github.com/theotron/Using-Pipeline-CRM
Pipeline Bridge + Demo site
• https://github.com/theotron/Pipeline-Bridge
Wrapping up…
Wrapping up…
• Personalisation is a HOT topic and BIG subject
• We focused on 2 ways to do it with Umbraco
• Personalisation Groups – power to the Editor
• Pipeline CRM – an individual dimension
• Go and make wonderful things!
Thanks, y’all.
Andy Butland
@andybutland
Theo Paraskevopoulos
@theotron

More Related Content

What's hot

SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
Jon Galloway
 
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
SPTechCon
 
Content Types: The Building Blocks of Your Content Model
Content Types: The Building Blocks of Your Content ModelContent Types: The Building Blocks of Your Content Model
Content Types: The Building Blocks of Your Content Model
guest616769
 

What's hot (20)

Web development using ASP.NET MVC
Web development using ASP.NET MVC Web development using ASP.NET MVC
Web development using ASP.NET MVC
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
 
Iconus 2016
Iconus 2016Iconus 2016
Iconus 2016
 
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
 
Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.
 
What’s great about being a web developer
What’s great about being a web developerWhat’s great about being a web developer
What’s great about being a web developer
 
NOW I Get it!! What SharePoint IS and why I need it
NOW I Get it!! What SharePoint IS and why I need itNOW I Get it!! What SharePoint IS and why I need it
NOW I Get it!! What SharePoint IS and why I need it
 
Web Components
Web ComponentsWeb Components
Web Components
 
Build Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponentsBuild Reusable Web Components using HTML5 Web cComponents
Build Reusable Web Components using HTML5 Web cComponents
 
Keystone.js 101
Keystone.js 101Keystone.js 101
Keystone.js 101
 
Content Types: The Building Blocks of Your Content Model
Content Types: The Building Blocks of Your Content ModelContent Types: The Building Blocks of Your Content Model
Content Types: The Building Blocks of Your Content Model
 
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint Sites
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint SitesECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint Sites
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint Sites
 
Workflow driven development
Workflow driven developmentWorkflow driven development
Workflow driven development
 
Equity WordPress framework with Chad and Dave
Equity WordPress framework with Chad and DaveEquity WordPress framework with Chad and Dave
Equity WordPress framework with Chad and Dave
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
«The Grail: React based Isomorph apps framework»​
«The Grail: React based Isomorph apps framework»​«The Grail: React based Isomorph apps framework»​
«The Grail: React based Isomorph apps framework»​
 
«Разрушаем Вавилонскую Башню WWW с помощью веб-компонент»​
«Разрушаем Вавилонскую Башню WWW с помощью веб-компонент»​«Разрушаем Вавилонскую Башню WWW с помощью веб-компонент»​
«Разрушаем Вавилонскую Башню WWW с помощью веб-компонент»​
 
Migration to SharePoint 2013 – Theory and practice
Migration to SharePoint 2013 – Theory and practiceMigration to SharePoint 2013 – Theory and practice
Migration to SharePoint 2013 – Theory and practice
 
Web components, so close!
Web components, so close!Web components, so close!
Web components, so close!
 
Integrating Alfresco with SharePoint & Drupal Using CMIS
Integrating Alfresco with SharePoint & Drupal Using CMISIntegrating Alfresco with SharePoint & Drupal Using CMIS
Integrating Alfresco with SharePoint & Drupal Using CMIS
 

Viewers also liked

Evaluacionx competencias
Evaluacionx competenciasEvaluacionx competencias
Evaluacionx competencias
Nena Parrilla
 
Fujitsu France IT Future 2013 : Evolution du Data Center adapter la productio...
Fujitsu France IT Future 2013 : Evolution du Data Center adapter la productio...Fujitsu France IT Future 2013 : Evolution du Data Center adapter la productio...
Fujitsu France IT Future 2013 : Evolution du Data Center adapter la productio...
Fujitsu France
 
Inteligencias multiples
Inteligencias multiplesInteligencias multiples
Inteligencias multiples
marelyne_s
 
Mito ediporeyequipo2
Mito ediporeyequipo2Mito ediporeyequipo2
Mito ediporeyequipo2
CARMENALBAMTZ
 
Mito ediporeyequipo3
Mito ediporeyequipo3Mito ediporeyequipo3
Mito ediporeyequipo3
CARMENALBAMTZ
 
Temática del blog
Temática del blogTemática del blog
Temática del blog
mmartinez126
 
Cómo modificar mis datos y foto unipe
Cómo modificar mis datos y foto unipeCómo modificar mis datos y foto unipe
Cómo modificar mis datos y foto unipe
OEI Capacitación
 

Viewers also liked (20)

Infographic: Comparison of .NET CMS – Sitecore Vs Umbraco Vs Kentiko Vs Sitef...
Infographic: Comparison of .NET CMS – Sitecore Vs Umbraco Vs Kentiko Vs Sitef...Infographic: Comparison of .NET CMS – Sitecore Vs Umbraco Vs Kentiko Vs Sitef...
Infographic: Comparison of .NET CMS – Sitecore Vs Umbraco Vs Kentiko Vs Sitef...
 
Unidad iii
Unidad iiiUnidad iii
Unidad iii
 
Producto final.
Producto final.Producto final.
Producto final.
 
Presentación1
Presentación1Presentación1
Presentación1
 
Evaluacionx competencias
Evaluacionx competenciasEvaluacionx competencias
Evaluacionx competencias
 
Cc 2148 ! PECADOS CONTRA EL SEGUNDO MANDAMIENTO ! LA BLASFEMIA
Cc 2148 ! PECADOS CONTRA EL SEGUNDO MANDAMIENTO !  LA BLASFEMIA Cc 2148 ! PECADOS CONTRA EL SEGUNDO MANDAMIENTO !  LA BLASFEMIA
Cc 2148 ! PECADOS CONTRA EL SEGUNDO MANDAMIENTO ! LA BLASFEMIA
 
Casa abierta 6 egb1
Casa abierta 6 egb1Casa abierta 6 egb1
Casa abierta 6 egb1
 
Kiss and say.....pps by d.
Kiss and say.....pps by d.Kiss and say.....pps by d.
Kiss and say.....pps by d.
 
Desarrollo en la nube
Desarrollo en la nubeDesarrollo en la nube
Desarrollo en la nube
 
Fujitsu France IT Future 2013 : Evolution du Data Center adapter la productio...
Fujitsu France IT Future 2013 : Evolution du Data Center adapter la productio...Fujitsu France IT Future 2013 : Evolution du Data Center adapter la productio...
Fujitsu France IT Future 2013 : Evolution du Data Center adapter la productio...
 
Lattice Energy LLC-LENRs ca 1950s-Sternglass Expts-Einstein & Bethe-Nov 25 2011
Lattice Energy LLC-LENRs ca 1950s-Sternglass Expts-Einstein & Bethe-Nov 25 2011Lattice Energy LLC-LENRs ca 1950s-Sternglass Expts-Einstein & Bethe-Nov 25 2011
Lattice Energy LLC-LENRs ca 1950s-Sternglass Expts-Einstein & Bethe-Nov 25 2011
 
How To Change The Way You Think
How To Change The Way You ThinkHow To Change The Way You Think
How To Change The Way You Think
 
Inteligencias multiples
Inteligencias multiplesInteligencias multiples
Inteligencias multiples
 
APARATO URINARIO UCEBOL
APARATO URINARIO UCEBOLAPARATO URINARIO UCEBOL
APARATO URINARIO UCEBOL
 
T01ppt david oteiza.ppt
T01ppt david oteiza.ppt T01ppt david oteiza.ppt
T01ppt david oteiza.ppt
 
Mito ediporeyequipo2
Mito ediporeyequipo2Mito ediporeyequipo2
Mito ediporeyequipo2
 
Mito ediporeyequipo3
Mito ediporeyequipo3Mito ediporeyequipo3
Mito ediporeyequipo3
 
Temática del blog
Temática del blogTemática del blog
Temática del blog
 
Cómo modificar mis datos y foto unipe
Cómo modificar mis datos y foto unipeCómo modificar mis datos y foto unipe
Cómo modificar mis datos y foto unipe
 
ESCRIBIENDO EN EL MURO
ESCRIBIENDO EN EL MUROESCRIBIENDO EN EL MURO
ESCRIBIENDO EN EL MURO
 

Similar to Personalisation packages in Umbraco

MongoDB Partner Program Update - November 2013
MongoDB Partner Program Update - November 2013MongoDB Partner Program Update - November 2013
MongoDB Partner Program Update - November 2013
MongoDB
 
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Nik Patel
 
Coexist or Integrate? Manage Unstructured Content from Diverse Repositories a...
Coexist or Integrate? Manage Unstructured Content from Diverse Repositories a...Coexist or Integrate? Manage Unstructured Content from Diverse Repositories a...
Coexist or Integrate? Manage Unstructured Content from Diverse Repositories a...
Concept Searching, Inc
 

Similar to Personalisation packages in Umbraco (20)

Building a Documentation Portal
Building a Documentation PortalBuilding a Documentation Portal
Building a Documentation Portal
 
Business 2.0 with WordPress
Business 2.0 with WordPressBusiness 2.0 with WordPress
Business 2.0 with WordPress
 
DITA Interoperability
DITA InteroperabilityDITA Interoperability
DITA Interoperability
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation Portal
 
Getting Started with Drupal
Getting Started with DrupalGetting Started with Drupal
Getting Started with Drupal
 
DITA and SEO
DITA and SEODITA and SEO
DITA and SEO
 
Mumbai Salesforce User Group Inaugural Meetup
Mumbai Salesforce User Group Inaugural Meetup Mumbai Salesforce User Group Inaugural Meetup
Mumbai Salesforce User Group Inaugural Meetup
 
Optimizing DITA Content for Search Engine Optimization tekom tcworld 2016
Optimizing DITA Content for Search Engine Optimization tekom tcworld 2016Optimizing DITA Content for Search Engine Optimization tekom tcworld 2016
Optimizing DITA Content for Search Engine Optimization tekom tcworld 2016
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
 
Talent Base: Best practises in a WCM project
Talent Base: Best practises in a WCM projectTalent Base: Best practises in a WCM project
Talent Base: Best practises in a WCM project
 
MongoDB Partner Program Update - November 2013
MongoDB Partner Program Update - November 2013MongoDB Partner Program Update - November 2013
MongoDB Partner Program Update - November 2013
 
Building on Magnolia's personalization
Building on Magnolia's personalizationBuilding on Magnolia's personalization
Building on Magnolia's personalization
 
Product Catalog and IT Service Management
Product Catalog and IT Service ManagementProduct Catalog and IT Service Management
Product Catalog and IT Service Management
 
Building Sites on DNN's Liquid Content: From Content Modeling to Front-End UX
Building Sites on DNN's Liquid Content: From Content Modeling to Front-End UXBuilding Sites on DNN's Liquid Content: From Content Modeling to Front-End UX
Building Sites on DNN's Liquid Content: From Content Modeling to Front-End UX
 
A Framework Approach to Building an Oracle WebCenter Intranet, Extranet, or P...
A Framework Approach to Building an Oracle WebCenter Intranet, Extranet, or P...A Framework Approach to Building an Oracle WebCenter Intranet, Extranet, or P...
A Framework Approach to Building an Oracle WebCenter Intranet, Extranet, or P...
 
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
Designing Corporate News Application Using SharePoint 2013 Web Content Manage...
 
HighQ Publisher overview - October 2017
HighQ Publisher overview - October 2017HighQ Publisher overview - October 2017
HighQ Publisher overview - October 2017
 
Secrets of SharePoint and Office 365 Intranets
Secrets of SharePoint and Office 365 IntranetsSecrets of SharePoint and Office 365 Intranets
Secrets of SharePoint and Office 365 Intranets
 
Docs Like Code: Strategies and Stories
Docs Like Code: Strategies and StoriesDocs Like Code: Strategies and Stories
Docs Like Code: Strategies and Stories
 
Coexist or Integrate? Manage Unstructured Content from Diverse Repositories a...
Coexist or Integrate? Manage Unstructured Content from Diverse Repositories a...Coexist or Integrate? Manage Unstructured Content from Diverse Repositories a...
Coexist or Integrate? Manage Unstructured Content from Diverse Repositories a...
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Personalisation packages in Umbraco

  • 1. Umbraco Personalisation Packages Andy Butland Zone @andybutland Theo Paraskevopoulos GrowCreate @theotron
  • 3. Andy Butland • Blog (sporadically) at http://web-matters.blogspot.it/ • Find here a copy of slides and links to various resources • Contact: @andybutland • I work for Zone – www.zonedigital.com - a digital agency where I’m head of .NET development • We’ve been Umbraco gold partners for a number of years • We’re based in London, Bristol and Cologne • With a few outliers like myself, living in Italy
  • 4. Theo Paraskevopoulos • Tech Director for GrowCreate • Digital agency near Oxford • Umbraco Gold Partner for last 4 years • Documento, Pipeline CRM packages github.com/theotron @theotron www.growcreate.co.uk www.pipelinecrm.co.uk
  • 8. Influences, website features and CMS selection • Requests for “personalisation” come from website RFPs and stakeholder requirements gathering sessions • Might fall into a class of feature “we think we need”/”would be nice to have” • Might be something quite specific that will always require custom development • Often though comes down to a genuine need for a general purpose, editorially controlled means of selectively promoting content
  • 9. The HubSpot appoach • Marketing first, then Website • In-bound: SEO, Social, Blogging • Conversions: CTAs, Landing pages, Forms, Analytics • Post-conversion: Personalisation, Automation, Email • Approach resonates with clients • CRM underpins everything (free!) • Personalisation is first major use case
  • 11. Controlled by editors not developers CONTENT PERSONALISATION FEATURES EDITOR DEVELOPER
  • 12. Is personalisation a core CMS feature? • Umbraco has a focus on delivering an excellent CMS with no barriers for extensibility • Community packages provide non-core features such as e-commerce, CRM, newsletter management, split testing, themes… and currently, personalisation • This focus shouldn’t change… • … but does mean the product can suffer in “out of the box” comparisons • Might be that personalisation features do need to be considered as something for core
  • 13. Options for personalisation with Umbraco now • A number of community packages have been developed to offer these types of features • Footprint • Spindoctor • Personalisation Groups • Pipeline CRM
  • 14. Introducing Personalisation Groups • Free and open-source package for Umbraco providing: • Various options for common personalisation criteria: • Day of week, time of day, Umbraco membership, session, cookie, pages viewed, geo- location • Extensible for development of custom criteria • Property editors for: • Creation of groups matching one or more criteria • Assigning groups to content • An API for use in templates or controllers for determining if the current user should view a piece of content • Find it at: • https://our.umbraco.org/projects/website-utilities/personalisation-groups • https://github.com/AndyButland/UmbracoPersonalisationGroups
  • 15. Group creation A group can be created that matches any or all of a set of criteria. Criteria can be chosen from the set of built-in ones, plus any custom ones. This group would match all “weekday morning visitors”
  • 16. Group creation (2) When adding or editing a criteria in a group, the definition is provided via a custom dialog.
  • 17. Associated groups with content Via a picker, one or more groups can be associated with a content item.
  • 18. Customising content display @foreach (var post in Model.Content.Children .Where(x => x.ShowToVisitor())) { <h2>@post.Name</h2> } An extension method on IPublishedContent named ShowToVisitor() allows for content to be shown or hidden to the current visitor. ShowToVisitor(bool) will: • Look for groups associated with the content: • If none found, indicate show or hide based on the passed boolean parameter • If any found, return true if the current visitor matches any one of them according to the criteria definitions
  • 19. Creating custom criteria • The Personalisation Groups package may not provide every criteria you need • Custom criteria can be created in other packages or in the website solution • Create class, implementing IPersonalisationGroupCriteria’s single method MatchesVisitor() • Provide angularjs assets: • View for the definition editor • Controller for the definition editor • Service component to translate the stored definition into something human readable for display • On start-up, all loaded dlls are scanned for classes implementing IPersonalisationGroupCriteria, the criteria are loaded and made available for selection • Shortly Theo will demonstrate how this can be done in creating a criteria integrated with Pipeline CRM
  • 20. Demo • Personalising the content items in a list: • What’s included and what’s not • What’s promoted to the top • Custom presentation of each element • Personalising a single content page using sub-nodes • Matching based on day of week and time of day • Matching based on cookie values • Personalising a single content page using Nested Content • Nested Content is a list editing property editor defined by document types • Content is still represented using IPublishedContent hence our extension method is available • Find it at: https://our.umbraco.org/projects/backoffice-extensions/nested-content/
  • 22. What is Pipeline CRM? • Custom Relationship Management • Embedded in Umbraco back-office • Opportunities and Tasks • Contacts and Organisations • Integration and Extension API
  • 23. Reaction “Hi X, special offers for Y users” CRM offers a new dimension in personalisation Basis Users who has visited page X Reaction “”You may like Y” Basis User X works for Company Y No CRM CRM-enabled
  • 24. Use case Brief Personalise the homepage for known customers: • Named CTA • Message for B2B • Personal message How it works 1. User submits form > Pipeline Contact 2. Track with cookie 3. Retrieve Contact, display Name
  • 25. Use case Brief Personalise the homepage for known customers: • Named CTA • Message for B2B • Personal message How it works 1. Automate Contact > B2B group 2. Use Pipeline Bridge to match criteria 3. Display alt content on page
  • 26. Use case Brief Personalise the homepage for known customers: • Named CTA • Message for B2B • Personal message How it works 1. Custom Pipeline property “message” 2. Retrieve Contact from cookie 3. Display message on page
  • 27. Toolkit Pipeline CRM • http://pipelinecrm.co.uk • https://our.umbraco.org/projects/backoffice-extensions/pipeline-crm/ • https://github.com/theotron/Using-Pipeline-CRM Pipeline Bridge + Demo site • https://github.com/theotron/Pipeline-Bridge
  • 29. Wrapping up… • Personalisation is a HOT topic and BIG subject • We focused on 2 ways to do it with Umbraco • Personalisation Groups – power to the Editor • Pipeline CRM – an individual dimension • Go and make wonderful things!

Editor's Notes

  1. Websites often not just the same content for everyone – the more they know about you the more the content can be targeted. For fine targeting likely requires a login. But can use other factors for anonymous users – geographical location, time, referrer, device, site journey
  2. Websites often not just the same content for everyone – the more they know about you the more the content can be targeted. For fine targeting likely requires a login. But can use other factors for anonymous users – geographical location, time, referrer, device, site journey
  3. As an agency developing CMS solutions the personalisation question comes up a lot. Seems to be becoming one of the “standard” types of requests for CMS features – like preview, workflow, rollback etc. If asked – “would you like personalisation” – no stakeholder is going to say no! Request needs to be interrogated – is it needed? Is it something that requires development? Example from RSPB – following completion of a user journey wanted to target separately members, non-members, purchasers and under 18s. Editors wanted to be able to choose the targeted content but also potentially create and use other criteria and combinations.
  4. Back in the day, developers built and populated websites by updated HTML files. With CMS – we put the power for updating the content in the hands of editors. But personalisation is often a website feature – needs a developer to create and, if changes are required, update it. These days we should be looking to take developers out of the ongoing targeting requirements, rather providing a general purpose means of personalising website content.
  5. Perhaps unlike some other CMS products, Umbraco focusses more closely on a core competency. Other general purpose requirements that aren’t strictly CMS come from packages or custom development. Could be argued that personalisation is becoming a core CMS function. Segments and variations planned for core but additional engineering has been required to make it a reality
  6. Footprint – presented last year and released after Codegarden Spin Doctor – around the longest, now upgraded to Umbraco 7.