Personalisation packages in Umbraco

30
Umbraco Personalisation Packages Andy Butland Zone @andybutland Theo Paraskevopoulos GrowCreate @theotron

Transcript of Personalisation packages in Umbraco

Page 1: Personalisation packages in Umbraco

Umbraco Personalisation Packages

Andy Butland Zone

@andybutland

Theo ParaskevopoulosGrowCreate@theotron

Page 2: Personalisation packages in Umbraco

Umbraco Personalisation Packages

Personalisation Groups Pipeline CRM

Page 3: Personalisation packages in Umbraco

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

Page 4: Personalisation packages in Umbraco

Theo Paraskevopoulos

• Tech Director for GrowCreate• Digital agency near Oxford• Umbraco Gold Partner for last 4

years• Documento, Pipeline CRM

packages

github.com/[email protected] www.pipelinecrm.co.uk

Page 5: Personalisation packages in Umbraco

Personalisation?

Page 6: Personalisation packages in Umbraco

Examples

Page 7: Personalisation packages in Umbraco

Examples

Page 8: Personalisation packages in Umbraco

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

Page 9: Personalisation packages in Umbraco

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

Page 10: Personalisation packages in Umbraco

Personalisation Groups

Page 11: Personalisation packages in Umbraco

Controlled by editors not developers

CONTENT PERSONALISATION FEATURES

EDITOR DEVELOPER

Page 12: Personalisation packages in Umbraco

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

Page 13: Personalisation packages in Umbraco

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

Page 14: Personalisation packages in Umbraco

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

Page 15: Personalisation packages in Umbraco

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”

Page 16: Personalisation packages in Umbraco

Group creation (2)When adding or editing a criteria in a group, the definition is provided via a

custom dialog.

Page 17: Personalisation packages in Umbraco

Associated groups with contentVia a picker, one or more groups can be

associated with a content item.

Page 18: Personalisation packages in Umbraco

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

Page 19: Personalisation packages in Umbraco

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

Page 20: Personalisation packages in Umbraco

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/

Page 21: Personalisation packages in Umbraco

Pipeline CRM

Page 22: Personalisation packages in Umbraco

What is Pipeline CRM?

• Custom Relationship Management• Embedded in Umbraco back-

office• Opportunities and Tasks• Contacts and Organisations• Integration and Extension API

Page 23: Personalisation packages in Umbraco

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

Page 24: Personalisation packages in Umbraco

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

Page 25: Personalisation packages in Umbraco

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

Page 26: Personalisation packages in Umbraco

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

Page 27: Personalisation packages in Umbraco

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

Page 28: Personalisation packages in Umbraco

Wrapping up…

Page 29: Personalisation packages in Umbraco

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!

Page 30: Personalisation packages in Umbraco

Thanks, y’all.

Andy Butland @andybutland

Theo Paraskevopoulos@theotron