Learn how hull.io creates unified user profiles
Hull uses the following reserved attributes for identity resolution purposes:
- External ID
- Anonymous ID
The platform will first try to match an existing user by looking at the attributes in the order outlined above. If no users profile matches, a new profile will be created.
External IDs are permanent and robust identifiers that are consistent over the user's lifetime and therefore immutable. We recommend to use an External ID as often as possible.
An External ID is usually the identifier you reference a user by in your own database. We recommend using a database ID or UUID instead of an email address or username, because database IDs are immutable and do not change. Even if a user changes their email address, you will still recognize them as the same person in all of your tools and you are able to correlate them with your own internal database.
Important: This identifier cannot be changed once it is set.
There are certain use cases where you cannot identify a user by a unique identifier from your own database, but you have at least an email address of the individual. For example you may have a mailing list with no identifiers.
In these cases, you can use the email address as identifier.
The downside of this approach is that you can use only one email address, so if the user has provided his business email and uses his private email address on the next interaction, you end up with two different user profiles for the same person.
For all scenarios where you don't know anything about an individual (yet), but you still want to tie all data together, you can use anonymous IDs. An anonymous ID is a pseudo identifier which can be for example a session ID on your server.
If you don't have such an identifier, we recommend to use a UUID since it is easily usable in most programming languages.
In contrast to the other two identifiers, a user profile stores all anonymous IDs it receives over the lifetime of a user.