Customer identification

Anonymous customers

When a customer enters your website for the first time, they are anonymous.

However, their actions are already being tracked - a UUID is assigned and stored in an anonymous profile in the CRM. The same UUID is stored in the cookies of the customer’s browser.

The anonymous profile stores information about the customer’s activities, just like it does for recognized customers. The customer can now receive personalized recommendations on the website and be included in marketing campaigns.

Recognized customers

When the customer provides an email address, the anonymous profile in CRM is updated with new data. It retains the UUID and becomes a known customer profile, which means that any activity before the customer was recognized is still present in the profile’s history. A freshly-recognized customer sees personalized content, based on their previous interactions with the website as an anonymous customer.

Note: It’s not necessary for a customer to register an account on your website. A non-anonymous profile may be created based on information provided in other contexts, such as subscribing to a newsletter.

Resetting customer UUIDs

You can reset the UUID of a customer to a value provided by your application. This can be used, for example, to separate the activities of several customers who share a device.

You can do this in two ways: by setting a cookie or by calling an SDK method.

Note: The UUID should not be completely random. However, a fully random UUIDv4 is also allowed, depending on your integration and requirements.

Before initializing the SDK, store the new UUID in a _snrs_reset_uuid cookie.

When the page is refreshed, the SDK detects the cookie, sets the customer’s UUID, and automatically deletes the cookie.

With SDK method

Use the setUuid("newUuid") method:


Generating UUIDv5

For JWT-authenticated events, this kind of UUID is required. In other requests, it’s optional, but recommended.

UUIDv5 is generated by providing a namespace and an identifier string. When working with Synerise, the identifier string is a concatenation of a salt string (identical for all of your customers, everywhere on the site) and an identifier. The resulting UUID is always the same for a given salt+identifier combination.
Thanks to this, you can always assign the same UUID to a customer.

  • The salt can be any string. For example, you can use the name of your domain.
  • Synerise recommends using the customer’s email address as the identifier.

The following example shows how to generate a UUIDv5 in Python 3.8:

import uuid

salt = "" # identical for the entire site
customerEmail = ""
generatedUuid = uuid.uuid5(uuid.NAMESPACE_URL, (salt + customerEmail))

The result of running the above code example is always 7023e164-2318-542c-9992-0b70cf4c5625.

Synerise does not the decode the UUID and cannot re-construct the data the token was created from.

For more instructions on how to generate a UUIDv5, refer to the documentation of the language or framework you are using.


We are sorry to hear that

Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.



Thank you for helping improve out documentation. If you need help or have any questions, please consider contacting support.