How visitors become users
What identify() and reset() do to visitors, users and their history.
Loomduct counts visitors without cookies. A visitor is one browser on one day. A user is a person in your product, with your own user id. This page explains how the two connect.
A visitor is a browser for one day
Without cookies, Loomduct recognizes a browser by a hash of its IP address and browser details, with a random salt that changes every day. The same person is a new visitor the next day, or after their IP address changes, for example when they move from Wi-Fi to mobile data. People who share an IP address and the same browser version, like in an office, can count as one visitor.
identify() links a visitor to a user
identify('user_42') says: this visitor is user user_42 from now on. Loomduct stores that link with the time it happened.
- Earlier events count for the user. Events this visitor sent before the sign-in are shown as the user's. A visit that started on your landing page and ended in a sign-up is one story.
- Many visitors, one user. The same user on their phone, on their laptop, and on another day are different visitors. Each
identify()links one more visitor to the same user, so the user's page shows all of them. - Only the user id links. Properties like
emailornameare stored on the user, but they never merge two users.
reset() starts over
reset() gives the browser a new visitor and ends the session. The old visitor keeps its link to the user, so nothing in the user's history changes. Events after reset() belong to the new, anonymous visitor until the next identify().
Some user ids are ignored
To protect your data from bugs, Loomduct ignores user ids that are clearly not real ids, like anonymous, guest, undefined, null, 0 or [object Object]. A call with such an id writes nothing, and your page keeps working.