Return to Guides
Last updated: October 2026 9 min read

How to route website visitors to the right rep in your CRM

Get website visits onto the right CRM records, route them to the account owner, and send alerts your reps can act on.

Leon Capaldo
Leon Capaldo Head of Commercial
Share
Summarize
How to route website visitors to the right rep in your CRM

Your CRM already has lead routing. Someone fills in a form, a rule fires and a rep gets a task.

It only works for people who fill in the form.

Most companies on your website never do, so their visits happen outside your CRM. The owner of an open deal doesn’t hear that the buyer was back on your security page. Nobody hears about the company that read your pricing twice this week.

Those visits are intent signals (a company showing interest without telling you so). Routing them means putting each one on the right CRM record and telling the one person who should care.

What does your CRM see on its own?

Only the people who have told it who they are.

A CRM’s own website tracking is built around contacts. Once someone fills in a form or clicks a tracked email, their later visits land on their contact record. Until then they’re an anonymous visitor, and the CRM has no record to attach anything to.

That leaves out most of what you’d want to know:

  • Your champion at an open deal, reading you on her new laptop.
  • Her boss, who has never filled in anything.
  • A company you’ve never spoken to, on your pricing page for the third time.
  • Someone new at a deal you lost last year.

Routing has the same blind spot. Assignment rules, round robins and workflows all start when a record is created or changed, so a visit that touches no record gives them nothing to do. (A round robin can’t rotate a lead that doesn’t exist.)

Visitor identification fills that gap at company level. It names the company behind the visit, and that gives your CRM a record to update and a rule to run.

What should land in the CRM, and what shouldn’t?

Updates to the accounts you already have, always. New accounts, only when they’ve earned it.

“Send it to the CRM” is really two jobs. The first is updating records you already have, so an existing account shows when it last visited and how often. That’s cheap and nearly always right.

The second is creating records you don’t have, and that’s how CRMs fill up. Sync every company that ever visited and you end up with thousands of accounts nobody owns, nobody works and nobody dares delete. So create new ones from a short list (good fit, real interest, not in the CRM yet) and only update the rest.

On the account itself, a few fields do most of the work:

What lands on the accountWhat it’s for
📅 Last visitThe field reps actually sort by
🔁 Sessions and pageviewsTelling a one-off from a habit
🏷️ The list it’s in, such as “lost deal, back on pricing”A trigger your CRM’s own workflows can use

Leave out the rest. Don’t log every pageview as an activity, and don’t let the sync write over something a rep typed. If your team qualifies every new company as a lead first, new companies should arrive as leads too, not as finished accounts that skipped the queue.

Who gets the visit?

One person, picked by a written rule. Not whoever saw the alert first.

Write the rules down in order and let the first one that matches win:

If the company is…It goes toWhy
💚 A customerTheir account managerWhether it’s a wobble or an upgrade, it’s theirs
🤝 An open dealThe deal’s owner, straight awayThey know what’s been promised
🔁 A deal you lostThe rep who lost itThey remember why
👤 Any other account with an ownerThat ownerThey know the account and nobody else does
🆕 Not in the CRM, a good fit, and on pricing or back for a second lookThe rep for that territory, or the next in lineGood fit and real interest, and nobody’s job yet
🚫 None of the aboveNobodyThat’s a decision too, so write it down like the others

The order is the important part. Specific rules sit above general ones. Put “good fit, on pricing” at the top and your biggest customer turns up in the new-leads channel as a hot prospect.

Two more things keep it working. Keep ownership in one place, and make it the owner field in your CRM. A second list of who owns what will be wrong within a month.

And run the rules in one system. If your identification tool and your CRM both act on the same visit, your rep gets two alerts and learns to ignore both.

What should the alert say?

Who it is, what they did, why it’s yours and where the record is. All in one message, to one person.

Most teams start with something like “New visitor! Acme Corp viewed 1 page.” posted to #sales. Whose account is it? Is one page a lot? Nobody knows, so nobody does anything.

Here’s one that gets acted on:

It answers those questions before the rep has to click anything, and it lands in a channel only that rep reads. That last part matters as much as the content. At Snitcher every rep has their own Slack channel for the deals they lost, so when one comes back there’s nobody else to assume it’s handled.

A shared channel is for companies nobody owns yet, with one house rule: whoever replies “mine” first owns it, and updates the CRM to say so.

And if it isn’t urgent, it isn’t an alert. Put it on Monday’s list.

How do you keep junk and duplicates out?

By filtering before anything syncs. Most CRM mess starts with one rule that was too generous on day one.

The messHow it gets inHow to keep it out
📶 Internet providers and coworking spaces as accountsSyncing every identified companySync from a filtered list, never from everyone
👯 Acme Ltd, ACME Corp and acme.com as three accountsMatching on the company nameMatch on the website domain
✍️ A rep’s notes overwrittenThe sync writes to fields that already had a valueLet it fill empty fields only
🧟 Accounts nobody worksCreating a record for every “maybe”Create from real interest and update everything else
🔔 Two messages for one visitTwo tools acting on the same signalOne signal, one owner, one tool

The last row is the one your prospects notice. We’ve done it ourselves: one prospect got two nearly identical messages from the same rep, two hours apart, one by email and one in our app. He noticed. (He was nicer about it than we deserved.)

So before you add a new alert or sequence, check what your CRM, your outreach tool and your in-app messages are already sending to the same people.

How do you test it before reps rely on it?

Send every new rule to a test channel for a week before a rep sees it.

You only get one launch. Reps mute a noisy channel quickly and almost never unmute it, so the first week has to be right. Pick five companies from last week’s visitors and follow each one through your rules:

  • An account with an owner. Did it reach the owner, and only the owner?
  • A good fit nobody owns. Did it reach the right territory or the shared channel?
  • A deal you lost. Did the alert fire when they came back, not only the first time?
  • A customer. Did it go to their account manager and stay away from sales?
  • Something that should go nowhere. Did it?

Then open the CRM and look at what changed. The visit should have updated the existing account. If you find a second account with the same company in it, your matching needs fixing before anything else.

Last, read one alert on your phone while you’re queuing for coffee, because that’s where your rep will read it. If you can’t tell whose it is in five seconds, they won’t be able to either.

How do you know it’s working?

By counting what reps did, not what the tool sent. “Alerts sent” will always look healthy.

What to measureHow to read it
⏱️ Time from the visit to the first touchThe headline number. Measure it before you switch routing on, then again a month later
✅ Alerts acted onThe share that got a reply, a call or a tick within a day. If it’s low, a rule is too loose
🔕 Alerts per rep per dayIf it’s more than a rep can act on, muting comes next
🆕 New accounts that got workedAccounts created from a visit that have any activity two weeks later. The rest is clutter

Look at these once a month with whoever runs sales. When one of them slips, change a single rule and watch what happens, because changing five at once tells you nothing.

So, who should hear about a visit first?

The person who owns the account, and nobody else. If nobody owns it yet, the rule decides who does.

Getting there takes four things:

  1. Put visits on the accounts you already have.
  2. Create new accounts only for good-fit companies showing real interest.
  3. Write your routing rules down in order, with customers and open deals at the top.
  4. Send each alert to one person, with enough in it that they don’t have to open three tabs to understand it.

Then test it on last week’s visitors before your reps ever see it.

Want to start with the rule that pays back fastest? Try Snitcher, connect your CRM and send open deals that come back to your site to the rep who owns them. You’ll know within a week whether your team was missing them.

Frequently asked questions

In three ways, mostly.

Put visits on the accounts already in your CRM, so each rep can see which of their accounts were active this week.
Route each visit to the account's owner with a written rule, so nobody has to watch a shared channel.
Track the time from a visit to the first touch, which shows whether deals get picked up faster than before.

Yes, with a webhook or a tool like Zapier. A webhook sends each visit to a URL you choose as it happens, and Zapier connects most CRMs and chat apps without a developer.

The rules stay the same either way: sync from a filtered list, match on the website domain and send one alert per owner.

Bring them in the same way your team already qualifies new business. If every new company starts as a lead, visitor data should too, so it goes through the same queue as everything else.

In Snitcher it's a setting on the CRM integrations that support it.

No, most visits don't deserve one, because a task is a promise that someone will do something.

Update the account's fields on every visit, and save tasks and alerts for the visits your rules say matter.

What do you think of this page?