How Clerk.io Delivers Cookieless Personalisation

This article describes how Clerk.io can deliver a fully personalised experience without using cookies and without any limitations or compromises of quality.

The Clerk.io Knowledge Graph

The core of Clerk.io’s AI is our “Knowledge Graph” - connecting all your products, categories, articles, orders and (if you enable it) customers to each other.

This is where all of Clerk.io’s predictions come from - no matter if that prediction is used for making a better search experience, providing product recommendations, automating email content or segmenting customers.

The Clerk.io Knowledge Graph was built to work without any website data. We did this purely because the initial breakthrough of Clerk.io was founded upon the insight that an order which a customer paid for, is infinitely more valuable compared to a page visit or a click (which we do hundreds of times a day without noticing). This means that Clerk.io has always been using order data as the main source of truth for the AI.

Clerk.io’s core AI does not use website data and is thus completely unaffected by website tracking. Product clicks are only used to understand which products a visitor has recently seen, so the AI can return results for those products in the visitor-related API endpoints.

Providing proof of value

Clerk.io uses website tracking mainly for providing an overall proof of value to you. That means how our services help your visitors and customers, and ultimately makes your business better.

In tracking this, we are not interested in following an individual. Instead, we focus on proving the value of our service for aggregated statistics, by measuring the impact made on orders when customers click on and buy at least 1 product through Clerk.io.

For this to happen, we need a way to identify sessions in order to tie past events and clicks to an order before computing our aggregated statistics - our approach is explained below.

Computing Anonymous Sessions

At Clerk.io we believe that everyone has the right to privacy and a great shopping experience.

That is why we have chosen to publicly disclose our tracking technology, enabling everyone to create a more private internet.

This anonymous session is computed using the following step:

  1. When a browser makes an API request to “api.clerk.io` we compute a hash of the IP, User Agent and a unique store salt. The store salt is unique to every store using Clerk.io and is rotated in 30 day-intervals, hence making long term tracking virtually impossible.
  2. Then we compress the hash from base 16 to base 62 to get more information per byte.
  3. Finally, we throw away +80% (81.4% to be exact) of the hash to anonymise the data, resulting in a unique 8-character string in the format of “Pyqb0mfV”

This is a unique identifier that allows identifying shopping sessions anonymously:

  • It works without enabling any long-term tracking
  • It does not store anything on the consumers’ devices
  • It does not use any personal data

Configuring Clerk.io Privacy Settings on a Per Visitor Basis.

Clerk.io’s privacy settings can be configured down to a per visitor level via Clerk.js, enabling you to deliver just the experience you want for your customers.

Clerk.js can run in 4 privacy modes:

  1. Default (Cookieless)
  2. Persistent Tracking
  3. Fully Private.
  4. Custom Visitor IDs

Default (Cookieless)

By default Clerk.js uses anonymous sessions as described above.

This way, we are able to provide you with accurate aggregated statistics about how Clerk.io is helping your customers, while keeping the sessions private and anonymised.

Persistent Tracking

Persistent Tracking is for customers giving you consent to track them.

This generates a unique ID and places it in a long-time identifier cookie on their device which is used as the basis for all tracking.

Fully Private

No data about the visitor is collected for any reason.

Clerk.io will work as usual except for features that directly reacts to a visitors actions on site eg. showing browsing history or sending trigger emails related to sessions.

Further, any sale made through Clerk.io services will not be attributed to Clerk.io in our dashboard, thus generating false-negatives in your statistics.

Custom Visitor IDs

By configuring and sending visitor IDs that you generate yourself, you can choose exactly what type of ID every visitor and/or session should have. This is mostly used if you prefer matching the IDs with other external tools

See our technical documentation for information about how to use these modes with a Clerk.js or API implementation.

Clerk.io is configured to be cookieless out-of-the box but if you still want to use cookies for visitors who give you consent, we have made it very simple.

Just include this code in your pages when a visitor has accepted cookies:

Clerk('config', 'visitor', 'persistent');

With this configuration we will set a persistent cookie and remember the visitor by that ID.