This is a simple diagram of how our logic works. There is a good chance that we will add layers of sophistication to this process in the future but it seems to work pretty well and isn’t a computationally expensive process, which is a huge plus at this stage.
Essentially, when someone visits a website using UserSignals we check to see whether a Session ID is present and if it isn’t, we assign one and store it using the browser’s local storage or a cookie. This potentially yields data from multiple sessions unless the ID gets cleared.
Then, if a User ID is available we attach events to that User ID and that’s the end of it. If a User ID is NOT present then the event gets attached to the Session ID. Once a User ID becoms available(typically via sign up or sign in) we can associate that User ID with all events attached to that Session ID and add the User ID to all of the matching events.
What this means is that we can track interactions and events that happened before a visitor has signed up or signed in which can give us insight into the steps that led them to sign up, subscribe or bounce.