How to connect anonymous website visits to known leads
How identity resolution links anonymous website visits to a known lead once they convert, the techniques that work, and where they break down.

Chirag Babu
Someone visits your site, reads two blog posts, leaves, comes back a week later from a LinkedIn ad, browses your pricing page, disappears, and returns a month after that to book a demo. To your analytics, that's three anonymous strangers. To your business, it's one lead whose first six touches happened before you knew their name.
Connecting those anonymous visits to the known lead they eventually became is called identity resolution. Get it right and a demo booking arrives with its full backstory attached. Get it wrong and the entire pre-form journey, often the part where marketing did its real work, gets credited to whatever channel happened to deliver the final click.
Why the anonymous-to-known gap exists
Most B2B buyers spend weeks or months researching before they ever fill out a form. During that whole stretch they're anonymous: no email, no name, just a browser hitting your pages.
The form fill is the single moment the anonymous visitor becomes a known person. Everything before it is a pile of un-named events, and everything after it is tied to an email. The job of identity resolution is to reach back across that moment and claim the earlier events for the person they turned out to be.
Without it, attribution windows and models have nothing to work with. A model can only split credit across touchpoints it can attach to a person, and every anonymous touch is invisible to it until this connection is made.
How the connection actually works
The mechanism is a four-step chain, and it hinges on assigning an identifier before you know who someone is.
Assign an anonymous ID on the first visit. A first-party cookie or a value in the browser's local storage gives every new visitor a random, persistent ID. They're still anonymous, but now they're a consistent anonymous, so their second and third visits attach to the same ID instead of looking like new strangers each time.
Log every event against that ID. Page views, the LinkedIn ad they clicked, the pricing page, the UTM parameters on each visit, all recorded against the anonymous ID as they accumulate over days and weeks.
Tie the ID to an email at conversion. When they finally submit a form, capture the anonymous ID alongside the email in the same submission, usually by passing the ID through a hidden form field into the CRM. This is the join. The random ID and the real email are now the same record.
Backfill the history. Every event logged against that anonymous ID before the form fill now belongs to a named person. The two blog posts, the LinkedIn ad, the pricing visit, all of it retroactively attaches to the lead.
The whole thing depends on step one. If no identifier is assigned until the form fill, there's nothing to backfill, and the pre-conversion journey stays lost.
Company-level identification, when person-level fails
Deterministic resolution works when the same browser eventually converts. Plenty of accounts research without any single browser ever filling a form. For those, company-level identification fills part of the gap.
Reverse-IP lookup and de-anonymization vendors match a visitor's IP address to a company, so even fully anonymous traffic can be labelled by account: "someone at Acme Corp viewed pricing three times this week." It won't tell you who at Acme, and IP matching has gotten noisier as remote work spreads people across home networks. For account-based motions, though, knowing the company is often enough to trigger sales outreach or read intent, even without a name.
Person-level resolution answers "which lead." Company-level resolution answers "which account." B2B attribution usually wants both.
Where it breaks down
Identity resolution is powerful and imperfect. Four limits are worth naming honestly.
Cross-device. Someone anonymous on their phone and known on their laptop is two IDs that never join unless a shared login connects them. A first-party cookie lives on one browser; it can't follow a person across devices on its own.
Cookie clearing. A visitor who clears cookies or uses private browsing gets a fresh anonymous ID on their next visit. Their earlier history is stranded under the old ID, unreachable.
Consent. Where a visitor declines tracking, there may be no persistent ID to assign in the first place, which caps how much of the journey can be reconstructed at all. This is the same constraint that shapes attribution without cookies.
Match confidence. Company-level IP matching is probabilistic, not certain, and a wrong match assigns a visit to the wrong account.
None of these break the approach. They just mean the reconstructed journey is very good, not perfect, and it's worth knowing which touches are solid and which are inferred.
Why this is the hard part of attribution
Connecting anonymous visits to known leads is identity stitching applied to the single hardest transition in the journey: the moment before a person has a name. It's the same problem cross-channel attribution solves across channels and devices, narrowed to one critical seam.
Nail it and clean UTMs, sensible windows, and a good model finally have a complete journey to work on, starting from the first anonymous touch instead of the form fill. Miss it and everything before the conversion is credited to the last click, which is exactly the distortion attribution exists to prevent.
Cascayd stitches anonymous visits to the leads and accounts they turn into, so you get the pre-form journey without building the identity pipeline yourself. Try Cascayd for free.