Apache Unomi an open source Customer Data Platform
What is personalization?
According to Gartner, personalization is “a process that creates a relevant, individualized interaction between two parties designed to enhance the experience of the recipient.”
So what does that mean?
You could simplify it by saying that personalization is the act of changing an experience or communication based on information it has learned about an individual.
There are challenges in making personalization.
- One challenge is that people might not want to be tracked to get personalized content, and not accept websites using cookies to track their behavior. Most of the tools that are doing personalization do that by adding cookies to the user's browser. If people never accept these cookies we cannot collect the data and make out to which groups of people this person belongs to.
- Another challenge is the data that you are collecting needs to be stored in such a way that you can easily collect and make it possible for the user to retrieve it back if they require it and also remove it if that is the user requirement to not violate any GDPR rules. The data that we collect needs to be stored in a secure way that doesn’t break any laws and rules. Individual security rules for certain clients could also be challenging like where this data is stored geographically and how it’s transported there.
- How do we work with all the data that we collect? Maybe we are connecting a website with user profiles, CRM system, Marketing automation system, Matomo and how is all of that infrastructure going to be managed and connected?
How to implement personalization?
Making personalization can be difficult and that's why you should start out with some easy parts and then build more as you go. Do not try to aim for everything right away, instead try to aim for small parts, it could make a big difference.
So start crawling before you run.
- Geolocation, collect IP addresses on your visitors and make personalization based on that. It is in some cases also possible to detect on what floor in a building the user is located and by that you could (for instance if the user works on a government job) detect what job that specific user most likely has and use that to completely change your website to support that user needs. This is a very narrow segment of people but just as an example to see the possibilities.
- Marketing Campaigns, sending out emails in different campaigns to segments of users.
- Visit frequency, like sending emails to people that visit the site frequently and ask how you are doing and if we can help you in some way.
- Device/system, Make site work different depending on device and system, like empty the whole site if the user is using Internet Explorer as a browser, This is personalization even though it’s a bit malicious :)
But maybe the site needs to be runned with only modern browsers and you need to show a message to people using old browsers to say that not everything is supported on the site if they don’t update their browser.
- Browser behavior: for example detecting that a user has been clicking a lot on a special function or section on the site, maybe change the entire website to reflect that subject.
- Page views could be a way of detecting what a specific user is looking for.
- Known information, buy datasets and be careful and only buy legal datasets.
- Completed events, for example users have filled in some forms on your site that will make the user belong to a specific group (segment) of people.
- CRM integration
- Cross-channel Behavior, for example collecting a user's all devices and sync the website behavior so it looks the same for that user on the mobile phone as on desktop.
- Combination of all
What value could personalization bring you?
- Consistency and relevancy across any channel
- Increased sales
- More return visits
- Higher customer lifetime value
- Better user experience
- Easier self-service
- Turn friction into opportunities.
- Deeper connections and relationships
What data do we need to track?
One thing that is very important to track is the consent data from users who consent to the cookies we are permitted to set in the user's browser. We need to be able to say when a user consents to these cookies and to what extent.
Open sourced Customer Data Platform (CDP).
It is part of the world's largest open source foundation Apache.
Apache Unomi describe themself as “a Java server designed to manage customers, leads and visitors data and help personalize customers experiences while also offering features to respect visitor privacy rules (such as GDPR)”.
It saves user profiles and their actions in an elastic search server and makes it available through a REST API interface. Apache Unome is a REST server, meaning it does not have any GUI and instead it communicates via REST API interface.
Data that Unomi will take care of is consent data, data that make it possible to do segmentation, keeping your customer profile data, integrations to CRM’s like microsoft dynamic etc and it has geolocation features.
Drupal CMS and Apache Unomi
Connecting our site and Apache Unomi we can start using the collected data in Unomi to change your sites behavior and it’s now we can bring value out of this.
By defending segments (a dynamically evaluated group of similar profiles in order to categorize the associated users) to unomi we can start making different changes on our website depending on if the active user belongs to a specific segment. One example could be to only show a specific block (building blocks of content in Drupal) only if you belong to a specific segment.
There are endless possibilities of what we can do here and everything is communicated via Apache Unomi REST API Interface to get segments, actions and do customization to your site using that data. That requires custom code to make those changes, but there are also contributed modules in Drupal that connect and communicate to an Apache unomi server that will speed up the use of the Unomi data for your site's variations. The Drupal module Unomi provides settings to Blocks, Paragraphs and Layout Builder where you can choose which segment users need to belong to to see its content. This is a great way of implementing some personalization for your site in a safe and fast way.
What is a DXP?
DXP or Digital Experience Platform is according to Gartner “a well-integrated and cohesive set of technologies designed to enable the composition, management, delivery and optimization of contextualized digital experiences across multi experience customer journeys”
Adding a Marketing Automation tool to our stack of technologies we described above (Drupal CMS and Apache Unomi) will make a set of tools we call DXP.
Mautic is an open sourced tool for marketing automation and will fit right into our set of Open Source toolset of Drupal and Unomi.
With Mautic we can set up different campaigns and communicate to our customers using different channels like email, social monitoring, marketing messages and focus items.
Credit: Nick Veenhof of Dropsolid and his presentation Open Personalization with Apache Unomi in the GDPR era
This blogpost is inspired of Nick Veenhof’s presentation “Open Personalization with Apache Unomi in the GDPR era” from Drupal Dev Days in Ghent 2022
Make your site editors masters of SEO with Drupal
A few things to bear in mind when you want to create the best experience for your site editors working with SEO.
Drupal: Fem viktiga lärdomar om GraphQL
"Decoupled Drupal" eller "Headless", ett sätt att arbeta med Drupal som består av att separera frontend från backend.
Val av CMS
Om din organisation ska välja ett nytt CMS, vilket av alla 100-tals CMS lämpar sig bäst för er organisation?
Vi tar öppen källkod på allvar!
När vi arbetar med programvara med öppen källkod arbetar vi utifrån principen om "upstream first".