Personalisation is about being fast and precise

To a personalised experience

With the help of CRM and Performance teams, we’re currently working on a way to identify customers, even if they’re not logged in and retrieve as fast as possible their profile (RFM, Beauty Tribe, Loyalty Tier, etc.). That’s why we need a Cheetah!

When a user is logged in, a cookie is placed on their browser. This will help the website to recognize him or her, and display the corect information (on My account page particularly). Problem is when the customer logs out, we’re losing all that information.

For these not logged in customers to who we send e-mail because there are in the Sephora Retail database, we are using their Sephore card member id!

With a trick in Mailchimp, we’re now able to send this ID in the emails, and when the receivers open the links (from the email), we know at the moment they’re landing on the website this ID and who they are !

At the exact moment the customer lands on the website, Cheetah is running to our CRM, and brings back the customer information. This data can then be sent to any personalisation or analytics applications (in-house or vendors).

schema

The retrieved data is then stored in a cookie, and accessible from every following pages.

Example

We’re sending an EDM to our (retail + digital) customers. Imagine, one receiver is Lin Foo, a loyal retail-only customer. This time the email is about her favorite product, so she clicks and lands on the website. It’s her first time on the website, ever! Anyway, Cheetah knows immediatly that her Beauty Tribe is Lipstick Lover, so not only she will be able to add to cart the featured product, but all the recommendation will be based on her profile alrerady calculated in our CRM.

victory

Built to be fast

The faster the user information is retrieved, the smoother the experiences on the website will be. Cheetah’s infrastructure is based on 2 main pieces:

  • a strong API, to deliver the information as fast as possible, and able to handle huge traffics
  • the maintenance has to be as little as possible

For that reasons, here are some elements we chose for the stack:

  • Redis as a database: Redis is an in-memory key-value database. For a specific key (account ID), this kind of database will be the fastest to respond
  • API with AWS Lambda + API Gateway: No server required.
  • AWS Lambda for Data import from BigQuery: No server required for the daily import (which can be more frequent than once a day)

schema

Have fun!

– ae

schema