Skip to content

Identifying Customers

Hello Retail uses a cookie to identify returning customers. When a customer visits a website with the Hello Retail JavaScript installed, the script will check if a tracking cookie exists. If no tracking cookie exists, we will automatically generate a unique cookie for that user. We call this the tracking user ID. If a cookie already exist, the script will know that this is a returning customer and continue to use the existing cookie.

Some users may delete their cookies, and some browsers will only store cookies identified as tracking cookies for a short time. If the website has its own identifier, for instance, through having logged-in users, it is possible to pass this identifier to Hello Retail through the SDK or API. This will allow Hello Retail to use this identifier to know that the current visitor is the same as a previous visitor even though they have a different tracking user ID.

We must emphasize that the custom identified is managed by the website in question, not Hello Retail. We track visitors trusting that the custom identifiers we are given as unique, meaning that they represent a single visitor and not multiple.

Associating customer IDs with tracking users IDs

When a tracking user ID is created, it is not associated with any customer ID, and for this reason, any activity performed by a user with the given tracking user ID is only associated with the tracking user ID and not any customer ID.

The tracked activity includes:

  • Viewing products
  • Adding products to the cart
  • Buying products

Once the webshop identifies the customer using either the setCustomerId SDK method or by including a customer ID when tracking a conversion two things happen:

  1. All tracked activity for the tracking user ID is also associated with the customer ID
  2. Any subsequent personalization is not only based on the tracked activity of the current tracking user but instead based on the tracked activity of all tracking user IDs that have been associated with the customer ID

Note that associating a tracking user ID with a customer ID happens asynchronously. So there might be a short delay between triggering tha association and seeing results based on the activity of the customer ID instead of the tracking user ID

Beyond setting a customer ID through `setCustomerId or through conversion tracking it is also possible to provide the customer ID in the order feed that Hello Retail uses to import extra information about orders. This is particularly useful for making sure that the orders that happened before tracking orders with the Hello Retail JavaScript are also associated with customer IDs.

Changing the association

If the setCustomerId method is called, or a conversion is tracked, with a different customer ID than already set on the tracking user ID then the association will be updated. This only affects the current tracking user ID. So all activity on the current tracking user ID will be "moved" from one customer ID to another. If there are any other tracking user IDs that were associated with the old customer ID they will keep that association.

Newsletter Content

Because the newsletter content product is based on including dynamic images in emails it cannot use the tracking user ID to perform personalization. This is because the email client that shows the image will not have access to the cookies of the browser the customer uses to view the web shop.

Instead the newsletter content has to be provided the recipients email address in both the link and the url to the dynamic image. The email address is then used to find the most recent tracking user ID associated with that email address bases its personalization on that.

If the webshop is able to associated a customer ID with its tracking user IDs then it is possible to use the customer ID instead of the email address in the link and in the image url. This is done by replacing the userEmail parameter with a customerId parameter in the newsletter content snippet inserted into the body of the HTML email.

An example of this can be found on our support page