Principles of e-commerce personalization

How to set up a targeted and relevant proposition to your customers

Julien Kervizic
Nov 4, 2018 · 8 min read

Setting in place personalization on a website can be a difficult task. There are many ways to offer a certain level of personalization, and one must take into account different levels of user and user information.

Users can be anonymous or logged-in, and the source of their information can be obtained from your website or external sources. Setting up personalization on an e-commerce website should be taken as a journey tackling each of these classes of customers progressively.

Anonymous Identity

It is possible to set up personalization on the website, within a browser we can take advantage of the use of cookies and session or local storage to provide a personalization experience without setting up any type of fancy ecosystem or the need to maintain an identity on a website.

  • Traffic origin & Url parameters: Data points such as referrer can be used to provide a different experience on your website. If you are coming from a deals website, you are most likely looking for different types of offers than if you have come from Google, for instance. Url parameters can be further used to personalize the experience-dependent on which links brought you to the website.
  • Advertising targeting: targeting settings used in advertising campaigns can be used to personalize the experience of a user visiting the website without having to identify the users. Age, gender, location, interests, receptiveness to specific types of offers are parameters that could be set up to provide that personalization experience.
  • Browsing behavior: Behavior on your site, such as specific page visits, abandoned carts, time on site, previous purchase are parameters that can be tailed to provide a personalized experience

The personalization features that have been set up can then be used for multiple purposes:

  1. The personalization of specific page and content blocks
  2. The creation of onsite Journeys
  3. Personalized Recommendations

Segmentation set preference

particular segmentation cookie on website

Marketing targeting features can, for instance, be used to personalize the landing page and their settings for the apparel website. For example, it could be used to preselect or order in a different way the items in their menu.

Nike’s Menu


User to items types of relationships can be found using many actions on your e-commerce website, purchase, add to cart, views… These can be used to upsell, cross-sell, or offer the opportunity to discover relevant products; for instance, Amazon provides different content block centered around the idea of user-items relations:

example of this type of personalization content block on amazon

The setup for these types of personalization does not require to have established an identity to provide a recommendation, merely to track information at a user, or potentially order or session-level to track the necessary data needed to feed the recommender engine.

This type of recommendation typically makes use of a technique called collaborative filtering. This technique uses the information gathered through a large number of users to make inferences related to one’s preference and ranking the available items more effectively. Depending on the model being set up, it can use pre-calculated information or be enhanced to provide the best recommendation.

Onsite Journeys:

extract from a local storage in the browser from a session on

Browsing information related to the type of items viewed by the customers, for instance, is the customer looking specifically at items on deals. Different parameters could be used to decide, for instance, whether or not to trigger specific offers to users based on their browsing behavior.

example of deals lurker behavior

For instance, a deal lurker that browse the website quite often and looks mostly for deals page and product. Given that the users doesn’t normally convert for any of the items offered at regular price, it might be worth offering him a specific discount code to trigger him to convert.

Depending on the setup of the journeys and the tracking being applied to it, models can be used to define the next best actions (NBA) and the relevance and value in offering a specific offer or discount. The setup of journeys and tracking the available information allows for the creation of content sequencing on the website.

Data acquired from browsing behavior, targeting settings, and overall interactions on the website can be used to provide personalized recommendations for users. This typically happens, usually through the use of K-means or KNN types of recommender systems.

dailymotion’s recommendation section

This types of section allow for offering content that is more relevant based on a behavioral characteristic of the customer and offer a truly personal experience.

Resolved Identity

Login events can help unify identity across browsers, devices, and sessions. In such a sense, it is there can be a single user identity for all his/her interaction with your website, regardless of the device s/he used or the fact that he was logged in or not.

Different approaches can be used to handle tying back events happening before the login event to the user’s identity.

Cookies matching is one such technique where if events have previously been sent to the server, they can be tied back to the resolved identity through a lookup. For instance, if we had an anonymous visitor id set up on desktop and mobile, which resolved to one logged-in identity, the data related to these users could be traced back from the following matching table:

Matching data could be provided to the server on the login event and all other data provided using the pseudonymous visitor_id.

Event Push, using the local storage of the browser, it is possible to cache browsing events on the browser until one’s identity has been resolved.

The above picture explains how the behavior would work. If a given visitor identified with visitor id 2020, visited the website on four occasions. On the first and second sessions that the user would show up on the website, the data would start to get accumulated in the browser storage with no data being pushed to the server. In the third session, until the login event happens, the data would continue to be accumulated within the browser but once the login event happened and the user’s identity has been resolved to userid: 123, the data is sent to the server and the event data within the browser storage. In the fourth session, since the identity has been previously resolved, the event data can directly be sent to the server.

At the heart of this data collection effort is the customer profile, a repository of data at the user level that contains all the relevant attributes and event history of a customer. This information can be retrieved when a user logs in to personalize his/her experience in a consistent way across devices.

The data in the customer profile can then be used to fulfill different personalization use cases. Retrieving historical data stored in the customer profile for display, retrieving different scores previously computed, or retrieving features needed to feed a recommendation model.

personalization feature of amazon website, name, address and browser history are directly displayed

Amazon uses different types of personalization on its website; for instance, besides the previously mentioned user-item content block, they also rely on more straightforward personalization mechanisms such as retrieving your browsing history or past purchases.

personal recommendation on amazon

In the above example, data is extracted from a customer profile to feed a recommendation model. Historical data can be used to provide a deeper and more relevant recommendation to the users.

Merged Identity


Certain identifiers can be used to match identities across channels. Within an omnichannel setup, the golden record “360 Customer profile” serves as a holistic view of the customer across all interaction touchpoints.

Data from marketing and CRM automation software can easily be tied back at the customer level using email as a matching key. Tracking identifiers can further be used in these emails to match data from the marketing automation software with website data, potentially offering session matching identifiers between the two systems.

Interaction with customer service typically happens in one of three flavors: calls, emails, and chat. These interaction points’ data can be integrated using any user or order level identifier. Matching can be done at the time of processing the customer’s request doing a lookup in the system for any provided identifier. When using onsite chat widgets and forum support, it is further possible to tie customer contact and requests directly to a session identifier.

For point of sales, loyalty cards and programs allows us to have a link from sales to unique customers, regardless of payment method. Data points such as email address, phone number, name & address can be used as identifiers to merge customer data points into a unique profile. In the case of card payment, card fingerprints can be used as an additional identifier for matching purposes. These identifiers can be used to merge the available basket purchase data with online data.

Hacking Analytics

All around data & analytics topics

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store