If you have a product or app where users log in, you can identify those visitors in Snitcher using the identify() method.
This links their browsing sessions to their email address, giving you a complete picture of their journey from your marketing website all the way through to your app.
The best part? This method of revealing someone's email doesn't consume any contact credits đ. It's included with your subscription đ
What Does It Actually Show You?
Without identification, a logged-in user on your app shows up as an anonymous visitor ID in Snitcher, even though you know exactly who they are on your side.
With identify(), that same visitor shows up with their email address. You can see their full session history, which pages they visited, and link it all back to the company they belong to.
How It Works
Your dev team adds a small JavaScript call - Snitcher.identify() - that fires whenever a user logs in, signs up or otherwise provides their email. It looks like this:
Snitcher.identify("sarah@acme.com", {
name: "Sarah Chen",
company: "Acme Corp"
});
Once called, Snitcher links that email to the current session and retroactively connects any previous anonymous sessions from that same visitor.
Note: The retroactive connection, only works if the user had previously accepted cookies when visiting on the previous sessions. See our Cookie Consent guide for more information.
When Should You Use It?
Call identify() whenever you know who the visitor is. This can include things like:
A user logging in to your product
A user signing up for a trial
OAuth or SSO login (Google Sign-In, GitHub, SAML, etc.)
A visitor providing their email in a chat widget
Magic link / passwordless authentication
đĄ For OAuth and SSO flows, automatic form tracking won't capture the email, so identify() is the way to go here.
Install the Tracker on Your App - Not Just Your Website
This is a big one. Most users install the Snitcher tracker on their marketing website, but not on their app (e.g., app.yoursite.com). If the tracker isn't on your app, identify() can't fire there.
We do this ourselves, Snitcher runs on snitcher.com and app.snitcher.com. This is how we connect the full journey from website visit to product usage.
đ¨ Make sure the Snitcher tracker is installed on your logged-in application pages, and have your dev team call identify() on every page load for authenticated users.
This ensures sessions are always linked to the correct user.
Retroactive Session Linking
Here's what makes this really powerful đ
Session | Status | What happened |
Week 1 | Anonymous | Visited your blog, read 3 articles |
Week 2 | Anonymous | Came back, viewed pricing |
Week 3 | Identified | Logged in to your app |
Week 4 | Identified | Returned, viewed case studies |
Once identified in Week 3, all four sessions are linked to that person's profile. You get the full picture.
What It Doesn't Do
identify()links an email to a session. It doesn't reveal additional contacts or company data on its own. For that, you'd use Contact Credits (email reveals and phone reveals).If someone shares a device and another person logs in, the sessions will be attributed to whoever is currently identified. This is rare in practice but worth knowing.
If cookie consent is required and the visitor hasn't accepted, identity won't persist across sessions. See our Cookie Consent guide for more information.
Privacy & Consent
If you use a cookie consent management tool, make sure identify() is only called after consent is granted:
if (hasUserConsent()) {
Snitcher.identify(user.email, { name: user.name });
}
For more details, check out our GDPR compliance guide.
For the full technical implementation guide, including code examples for Google Sign-In, GitHub OAuth, Auth0, Firebase, Next.js and more, check out our developer docs.
As always, feel free to drop us a message if you'd like to talk ideas, need some help or would just like to say hello. Team Snitcher signing off đ



