How to Implement Ecommerce Personalization

Personalization is a growing trend in ecommerce. Shoppers want to see relevant marketing, products, and offers. When they receive them, they typically respond by purchasing more.

The idea around personalization is compelling: Your store is treating each shopper like the unique person she is. However, implementing personalization can be difficult, complex, and error-prone. Getting it wrong can be bad.

Many companies sell personalization solutions. But without understanding the fundamentals, you might purchase something too complex to use.

In this article, I’ll explain the basics of how personalization works from a technical perspective, to demystify it. Hopefully you’ll see there’s no magic involved, and you can add it to your store.

How to Implement Personalization

I’ll describe personalization in terms of how to manage it in a backend server. Many companies use JavaScript (a frontend system) for this, especially if they have a hosted ecommerce platform or cannot otherwise modify the source code.

But the backend server way is easier to understand and the concepts apply to any other method.

You should understand four things:

  • The visitor,
  • The visitor’s past behavior,
  • Personalization code,
  • Experimenting and testing.

The visitor. The first thing to know is who the current visitor is. Also called the “identity,” this is just a bit of data that relates to a unique person.

Most backend systems can do this automatically through the use of HTTP cookies, which are small pieces of data that can associate the visitor with a specific customer or a unique but unknown shopper.

For example, a cookie might contain the data:




One complexity with tracking the identity comes from multi-device web use, wherein one person could browse — during a single purchase session — on his work computer, his smartphone, and his iPad.

Ideally your system could identify that this customer is the same person and not three separate customers. Even if it can’t, you can still make personalization work.

Visitor’s past behavior. The second piece of data you need is the past behavior on the shopper.

This can be whatever is relevant, though most ecommerce stores focus on a few critical variables.

  • Purchases. When purchases occurred, from where (geographically and virtually), and prices.
  • Products. Which products were purchased; which ones they’ve added and removed from their cart; which ones they’ve viewed.
  • Browsing. How the visitors came to your site; when was their first visit; when was their last visit; what pages they’ve seen; what offers they’ve seen.

There are plenty of options and choices here. As long as you can easily get the data to your personalization code, you can personalize based on any combination of the data.

Personalization code. Now that we can track visitors and what they’ve done, we can create logic or rules for the personalization. This can be simple or advanced — from a couple of rules or many.

Here’s a simple example in Ruby that toggles between three stages of a visitor:

  • If someone is new to the store,
  • If she has purchased previously,
  • If she’s purchased this product previously.
<% if %>
Hello there, you must be new here. Here's our most popular product.
<% elsif customer.existing? %>
Welcome back <%= %>.

<% elsif customer.purchased?(this_product) %>
Hello again <%= %>, you've purchased this product already. Would you be willing to leave us a product review?

<% end %>


Notice the logic is just a single if statement with the three personalization options.

  • New visitors are welcomed.
  • Existing customers are welcomed back by name.
  • Existing customers who purchased the product are asked to leave a review.

Experimenting and testing. The final component is to brainstorm a list of personalization ideas to experiment with. You don’t have to try every idea, but you never know when you’ll find a real gem, one that drives conversions.

Think about a few areas of your store and how you could personalize them:

  • Product pages,
  • Calls to action, such as add to cart buttons,
  • Anything in your primary conversion funnel

Searching online for A/B test ideas will usually turn up many things that could also work with personalization.

Finally if possible, create a control group of 10 to 50 percent of your visitors. These will be people who don’t see the personalization at all. Compared this group to your experimental group to prove if there was an improvement. Essentially, it’s an A/B personalization test.

Eric Davis
Eric Davis
Bio   •   RSS Feed