Customer Identification

Customer Identifiers

Defining the right customer identifiers is a critical decision at the beginning of a project. There are two types of identifiers. Usually, there is one hard identifier (hard ID) and multiple soft identifiers (soft IDs).

Soft ID

A typical example of a soft ID is a cookie. One customer can have multiple soft IDs if they used multiple devices to visit your website.


Data limitation

You can assign a maximum of 64 soft IDs of the same type (e.g. cookies) for one customer. Any additional ID will be ditched with the data. For example, if you want to track a new event to a customer with 64 cookies and this event will add a new cookie, the ID that was not used for the longest time will be discarded and the new one will be added to the profile.

Hard ID

Usually, the hard ID is the email that the customer used for the registration. Every customer can have multiple hard IDs but each hard ID can only have one value.


Hard IDs are case sensitive. It is possible to track two different Hard IDs where the only difference would be lower/upper case letters ([email protected], [email protected]). This would in fact be just one customer unrecognized as such due to the case difference. This could result in an email being sent twice to the same customer so it is good practice to automatically transform IDs to lower case.

Identifying a customer

Bloomreach Engagement automatically creates a customer record for every first-time visitor to your website. At first, the customer is identified by a cookie (soft ID), which is unique for every device or browser (also applies for incognito browsing). Once the customer performs an action such as making a purchase, logging in or similar, they are identified by a hard ID which in this case is called registered in Bloomreach Engagement. The nature of the hard identifier depends on how your project is integrated. It's usually the user's email address or some internal ID your company is using.


Note that while the hard ID used in this example is called registered , your hard ID may be different, so replace it if applicable. If you are unsure ask your CSM, Consultant or VDM.

Remember these points when defining your IDs:

  • Every customer profile must have at least 1 ID (hard or soft) with a filled value.
  • It is NOT possible to delete/rename any identifier once it is set.
  • It is NOT possible to change a soft ID identifier into a hard ID once it is set. However, it is possible to have multiple soft-IDs.
  • You can make a one-way change of identifier type from a hard ID to soft ID by a non-reversible admin operation.
  • It is possible to have more than one hard ID identifier set in a project (for example customer ID from e-shop and offline loyalty card number).
  • However, it is recommended to have only one hard id (ideally it should be an email or a customer ID).
  • There can be more than one soft ID:
    • A cookie is a standard soft ID.
    • Special kinds of soft IDs can be required by some integrations.
  • When you import IDs from a table in Excel you can set some basic automatic transformations for both types of IDs by applying the following functions:
    • Trim - removes blank spaces before and after the identifier string.
    • Lowercase - will put all characters for incoming identifier in lowercase to avoid duplication. This is useful as the Bloomreach Engagement identifiers are case sensitive by default.
  • Any ID must contain at least one alphanumeric character
  • Any ID must not contain "null" or "undefined"


Internal ID

The internal ID is an identifier that Bloomreach Engagement automatically assigns to each customer. You won't specify it as a user, but you can see it while viewing the details of a customer. The internal ID appears in the URL.

You can also use the internal ID to retrive the timestamp of the customer profile creation on our side. To do so, you need to decompose it according to MongoDB documentation.

Please note, though, it's not possible to assign an inetrnal ID to a particular customer, and you should not be concerned about this detail.