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.
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.
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.
Before initializing the SDK, store the new UUID in a
When the page is refreshed, the SDK detects the cookie, sets the customer’s UUID, and automatically deletes the cookie.
With SDK method
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
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 = "yourdomain.com" # identical for the entire site customerEmail = "firstname.lastname@example.org" generatedUuid = uuid.uuid5(uuid.NAMESPACE_URL, (salt + customerEmail))
The result of running the above code example is always
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.