Ekku
May 13, 2014, 7:46pm
1
I would like to personalize content depending users segment. For example change banner and hilight sections.
I did read some API documentation. I think it should be doable. If user gets identified (returning user) and belongs to some segment (default or custom) it should be possible to use ajax to load personalized content.
Has anyone tried to archieve something like this?
shynes
(Shynes)
July 20, 2019, 7:34pm
3
Hello, I think there are ways to do it, but you have to be careful you don’t go overboard and do one file per “visitor”. They discuss it here on there github account
opened 09:17PM - 07 Oct 18 UTC
Enhancement
RFC
## What is personalization?
Definition from [wikipedia](https://en.wikipedia.… org/wiki/Personalization)
> Personalization, broadly known as customization, consists of tailoring a service or a product to accommodate specific individuals, sometimes tied to groups or segments of individuals. A wide variety of organizations use personalization to improve customer satisfaction, digital sales conversion, marketing results, branding, and improved website metrics as well as for advertising. Personalization is a key element in social media and recommender systems.
> [...]
> Technically, web personalization can be achieved by associating a visitor segment with a predefined action. Customizing the user experience based on behavioural, contextual and technical data is proven to have a positive impact on conversion rate optimization efforts. Associated actions can range from changing the content of a webpage, presenting a modal display, presenting interstitials, triggering a personalized email or even automating a phone call to the user.
## Why personalization matters?
Personalisation can help companies improve their websites, increase conversion rates, increase average order value, customer lifetime value, improve marketing ROI, and deliver a better user experience.
There are a few tools that offer personalization but none that are open source and give you full control over your data. And a good personalization tool will need to collect heaps of data about users (so we can create these "visitor segments"), and have complex interface to let users define the "predefined actions".
And with Matomo Analytics and Tag Manager we're in a unique position to offer personalization as a service since we already have a whole platform dedicated to measuring users and creating segments (Matomo Analytics), and a product to let people define complex actions and triggers (Matomo [Tag Manager](https://matomo.org/docs/tag-manager/)).
## How would personalization work in Matomo?
Using Matomo stack personalization could work in the following way:
* User create visitor segments using Matomo segment editor: https://matomo.org/docs/segmentation/. With Matomo segments are very powerful and you can match on 85+ dimensions and metrics like Location, Behavior on pages/clicks/downloads/videos/forms interactions, User journey, Conversions, Purchases, Time of visit, and much more. See the list here: https://developer.matomo.org/api-reference/reporting-api-segmentation#list-of-segments
* Matomo would then compile the list of segments matched by all known visitors, so that we have a list `{ visitorid` -> [visitorid1 segments matched ], visitorid2 -> [visitorid2 segments matched], ... } `. If we do it right, it could even be almost real-time as the list could be lazy updated every hour or more often.
* User creates a tag, using a personalisation trigger or so, that lets user select one of the visitor segments (eg. "User has visited the website more than 10 times so far"), and then define an action (popover, message, offering special offer, etc.).
* When a visitor browses the site, Matomo Tag Manager executes and when there's a personalization trigger, the tag manager will look up the current visitorid and checks if it matches the segment. If it does, then the tag executes and the personalised content is displayed.
This personalization would need to be an extremely fast service, as easy to use as possible, work cross-devices on the web (ie. this will be the case when using User ID instead of Visitor ID), it would eventually be possible to combine it with [A/B Testing](https://matomo.org/docs/ab-testing/) and run tests to ensure that personalised content performs better.