personalisation packages in umbraco
Post on 15-Jan-2017
296 Views
Preview:
TRANSCRIPT
Umbraco Personalisation Packages
Andy Butland Zone
@andybutland
Theo ParaskevopoulosGrowCreate@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@theotronwww.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 creationA 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 contentVia 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
BasisUsers who has visited page X
Reaction“”You may like Y”
BasisUser X works
for Company Y
No CRM CRM-enabled
Use case
BriefPersonalise the homepage for known customers:• Named CTA• Message for B2B• Personal message
How it works1. User submits form > Pipeline
Contact2. Track with cookie3. Retrieve Contact, display Name
Use case
BriefPersonalise the homepage for known customers:• Named CTA• Message for B2B• Personal message
How it works1. Automate Contact > B2B group2. Use Pipeline Bridge to match
criteria3. Display alt content on page
Use case
BriefPersonalise the homepage for known customers:• Named CTA• Message for B2B• Personal message
How it works1. Custom Pipeline property
“message”2. Retrieve Contact from cookie3. Display message on page
Toolkit
Pipeline CRM• http://pipelinecrm.co.uk• https://our.umbraco.org/projects/backoffice-extensions/pipelin
e-crm/• https://github.com/theotron/Using-Pipeline-CRMPipeline 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
top related