Vulnerability in EPiServer.Forms

Try our conversational search powered by Generative AI!

Ronil Rangaiya
Jun 21, 2019
(3 votes)

Visitor Intelligence and Personalization - enrich and use visitor profile data

Recently I've been working with Profile Store, specifically around enriching the profile with custom behaviourable data that can then be used for content personalisation. Here's a quick overview of the implementation. 


Profile Store is Episerver's customer data platform for storing website visitor profile and behaviour data collected by tracking. There is detailed official documentation on how to install and configure tracking for Profile Store . The simplest way to start collecting tracking data is by using the [PageViewTracking] attribute. 

Enrich Profile data

First, a look at the structure of the profile data that is captured out of the box. 

"Name" and "Info" properties will be populated with user data if your website has sign-in capability. The key property here is the "Payload" which can be used to store any custom data. 

The Profile Store API makes it easy to query and update the visitor profiles. I started with a simple Payload model and a helper service with methods to retrieve and update the profile payload.

Note in the "AddPayloadToProfile" method, I'm overwriting the profile payload property however it can be made smarter to preserve the existing payload in case you have multiple processes that update the payload.

The Profile Store adds a request cookie "_madid", which is the DeviceId and is used to retrieve the profile. 


Once the profile has been enriched, the next step is to create custom VisitorGroups to use for personalization.

I created a VisitorGroup to use for simple value comparison. Depending on your custom data, you can create visitor groups to suit different criteria requirements.

Now you can add VisitorGroup criteria and apply to your website content accordingly

Wrapping up

Been able to push custom data to the profile using the Profile Store API opens up endless possibilities to enrich the profile data for personalization purposes. It can be as simple as pushing data captured from a Form on your website or via a data insights tool that analyses and enriches profile data for improved customer experience.

Jun 21, 2019


Marcus B
Marcus B Jun 24, 2019 12:23 PM

Nice, Ron

Please login to comment.
Latest blogs
Stop Managing Humans in Your CMS

Too many times, a content management system becomes a people management system. Meaning, an organization uses the CMS to manage all the information...

Deane Barker | Nov 30, 2023

A day in the life of an Optimizely Developer - Optimizely CMS 12: The advantages and considerations when exploring an upgrade

GRAHAM CARR - LEAD .NET DEVELOPER, 28 Nov 2023 In 2022, Optimizely released CMS 12 as part of its ongoing evolution of the platform to help provide...

Graham Carr | Nov 28, 2023

A day in the life of an Optimizely Developer - OptiUKNorth Meetup January 2024

It's time for another UK North Optimizely meet up! After the success of the last one, Ibrar Hussain (26) and Paul Gruffydd (Kin + Carta) will be...

Graham Carr | Nov 28, 2023

Publish content to Optimizely CMS using a custom GPT from OpenAI 🤖

Do you find the traditional editor interface complicated and cluttered? Would you like an editorial AI assistant you can chat with? You can!

Tomas Hensrud Gulla | Nov 28, 2023 | Syndicated blog

Optimizely Graph and Next.js: Building Scalable Headless Solutions

Optimizely Graph harnesses the capabilities of GraphQL, an intuitive and efficient query language to, transform content within an Optimizely CMS in...

Szymon Uryga | Nov 27, 2023

Getting Started with Optimizely SaaS Core and Next.js Integration: Testing Content Updates

The blog post discusses the challenges of content updates on a website using Optimizely CMS, Next.js, and the Apollo Client due to Apollo's local...

Francisco Quintanilla | Nov 27, 2023 | Syndicated blog