DEV Community

Cover image for Umbraco 8 - Personalisation with Members and Tagging
Gareth Wright
Gareth Wright

Posted on • Updated on

Umbraco 8 - Personalisation with Members and Tagging

A few months ago, I developed a tag-based personalisation system for Members. It's simple to use and easy on your database.

It works based on tags on pages and content and stores these against members efficiently in session. Once the member has finished their journey, it stores them into your Umbraco database.

Upon a repeat visit, the code pulls the member's persona from the database and back into session for efficient access. It then displays personalised content appropriately.

Homepage

This shows examples of how content can be displayed to the member, including personalised navigation, promotions, promotions with backfilled content.
image

Page

This screenshot shows how easy it is to add tagging to a page to enable personalisation.
image

Content

This screenshot shows how easy it is to add tagging to a content item to enable personalisation.
image

Members

This screenshot shows what tags are part of this members persona. members
image

Getting Started

Personalisation of content is easy with simple base controllers and methods:

Methods

viewModel.PersonalisedPromotions = Personalise(viewModel.Promotions, true);
viewModel.PersonalisedPromotionsWithoutBackfill = Personalise(viewModel.Promotions);
viewModel.Pages = Personalise(viewModel.MenuItems, true);

There is also a Global.cs file that sets the persona to the database upon session end.

Please reference the controllers in the web project within the solution for an example of this.

There is a new website project in the solution with an example of how to use the nuget package.

Important, remember to change the global.asax to use the Personalisation.Core.Global to upsert to database on session end.

Umbraco Version

Umbraco 8.5.3 +

Questions

Any questions or suggestions, please let me know :)

GitHub logo garpunkal / Personalisation

Personalisation Engine for Umbraco 8

Discussion (0)