You identified a website visitor. Leadpipe resolved the anonymous session into a real person - name, email, company, job title, pages viewed. The webhook fired. The data landed in your CRM.
And then nothing happened for three days.
The contact sat in a shared inbox. Nobody owned it. By the time someone noticed and reached out, the prospect had already booked a demo with your competitor.
This is the routing problem. Visitor identification is only half the equation. The other half is getting the right data to the right person at the right time. And for most sales teams, “the right person” is not a shared Slack channel or a general inbox. It is the specific rep who should own that conversation based on territory, company size, account ownership, or the page the visitor was viewing.
Auto-routing solves this. When a visitor is identified, your system automatically determines which rep should handle them and delivers the alert - or creates the CRM task - directly to that rep. No manual triage. No lag time. No dropped leads.
This post covers the routing rules, the implementation, and the edge cases.
Table of Contents
- Why Routing Matters as Much as Identification
- The Four Routing Dimensions
- Route by Geography
- Route by Company Size
- Route by Account Ownership
- Route by Page Visited
- Implementation: CRM Workflow Rules
- Implementation: Custom Webhook Logic
- Handling Edge Cases
- FAQ
Why Routing Matters as Much as Identification
Visitor identification gives you data. Routing gives you action.
The data from Leadpipe’s webhook is rich - email, name, company, title, pages viewed, visit duration. But data without a clear owner is data that rots. Research consistently shows that response time is the single biggest factor in converting warm leads to meetings:
- Responding within 5 minutes: 21x more likely to qualify the lead
- Responding within 1 hour: 7x more likely than responding after 2 hours
- Responding after 24 hours: basically a cold email at that point
And the response time clock starts the moment the visitor is on your site, not the moment someone on your team notices the alert.
If your identified visitors land in a shared Slack channel where five reps all assume someone else will handle it, your average response time is measured in hours, not minutes. The visitor who spent 3 minutes on your pricing page has already moved to your competitor’s pricing page by the time anyone acts.
Auto-routing eliminates the bystander effect. One rep gets the alert. One rep owns the follow-up. There is no ambiguity, no “I thought Mike was going to handle that,” no leads falling through the cracks.
The Four Routing Dimensions
Every routing rule maps one or more data fields from the identified visitor to a specific rep or team. The webhook payload gives you enough data to route on four dimensions:
| Routing Dimension | Webhook Data Used | Typical Rule |
|---|---|---|
| Geography | company_name -> firmographic lookup -> state/country | State -> Territory -> Rep |
| Company Size | company_name -> firmographic lookup -> employee count | Enterprise -> AE, SMB -> SDR |
| Account Ownership | email domain -> CRM account lookup | Existing customer -> CSM, Target account -> Named AE |
| Page Visited | page_url | Pricing -> Sales, Support docs -> CS, Blog -> Nurture |
You can combine dimensions. A visitor from an enterprise target account who viewed pricing might route to the named AE with a “hot” priority tag, while a visitor from a small unknown company who read a blog post might route to the SDR team with a “nurture” tag.
Let’s walk through each dimension.
Route by Geography
Geographic routing assigns visitors to reps based on territory. This is the most common routing rule for sales teams with regional assignments.
How it works:
- Leadpipe identifies the visitor and delivers company_name via webhook
- Your system looks up the company’s location (state, country, region)
- The location maps to a territory assignment
- The territory maps to the owning rep
Where to get location data: Leadpipe’s webhook provides the company name. You can enrich this with firmographic data from your CRM, Clearbit, or another enrichment API to get the company headquarters location. If the company already exists in your CRM, the location is likely already on the account record.
Example routing table:
| Territory | States | Assigned Rep |
|---|---|---|
| Northeast | NY, NJ, CT, MA, PA | Sarah T. |
| Southeast | FL, GA, NC, SC, VA | Marcus L. |
| Central | TX, IL, OH, MI, MN | Jennifer K. |
| West | CA, WA, OR, CO, AZ | David R. |
| International | Non-US | Alex M. |
Implementation tip: Store your territory mapping in a lookup table (CRM, database, or even a Google Sheet). When the webhook fires, look up the company location, match it to a territory, and route the alert to the assigned rep. If the location is unknown, fall back to a round-robin assignment.
Route by Company Size
Company size routing ensures that enterprise prospects get experienced AEs while smaller accounts go to SDRs or automated nurture workflows.
How it works:
- Leadpipe identifies the visitor and delivers company_name
- Your system looks up the company size (employee count or revenue)
- The size band determines the routing tier
- The tier maps to a rep or team
Example routing tiers:
| Company Size | Classification | Route To | Response SLA |
|---|---|---|---|
| 1-50 employees | SMB | Automated nurture | 24 hours |
| 51-200 employees | Mid-market | SDR team (round robin) | 4 hours |
| 201-1,000 employees | Upper mid-market | Named AE | 1 hour |
| 1,001+ employees | Enterprise | Senior AE + manager alert | 30 minutes |
The logic here is simple: bigger companies mean bigger deals, and bigger deals justify faster, more senior attention.
For the SMB tier, you might not assign a human at all. Instead, route the identified visitor directly into an automated outreach sequence that sends a personalized email. Save your human reps for the deals that justify their time.
For the enterprise tier, you might alert both the AE and their manager, because a Fortune 500 company visiting your pricing page is an all-hands event.
Route by Account Ownership
Account-based routing is the most precise routing dimension. Instead of using geography or company size as a proxy, you check whether the visitor’s company already has an owner in your CRM.
How it works:
- Leadpipe identifies the visitor and delivers email + company_name
- Your system checks the email domain against existing CRM accounts
- If the account exists and has an owner, route to that owner
- If the account does not exist, fall back to geography or company size routing
Routing by account type:
| Account Type | Current Owner | Route To | Priority |
|---|---|---|---|
| Existing customer | CSM | CSM (expansion opportunity) | High |
| Active opportunity | AE | AE (deal acceleration signal) | Urgent |
| Target account (ABM) | Named AE | Named AE | Urgent |
| Churned customer | CSM or AE | CSM for win-back | High |
| Net new account | None | Geography/size routing | Normal |
The most valuable routing scenario is when someone from an existing customer visits your pricing page. That could mean they are evaluating an upgrade (expansion revenue) or comparing alternatives (churn risk). Either way, the CSM needs to know immediately.
Similarly, when someone from an active opportunity visits your website, the AE managing that deal gets an instant signal. If the prospect is browsing your case studies or integration pages, the AE can reference those specific pages in their next conversation.
For ABM target accounts, the routing is direct: every identified visitor from a target account goes to the named AE with an urgent priority flag. These are the accounts your team is actively pursuing, and a website visit from one of them is a buying signal that demands immediate action.
Route by Page Visited
Page-based routing sends visitors to different teams based on what they were looking at on your site. This is powerful because the page someone visits reveals their intent and which team is best equipped to help.
Example routing rules:
| Page Visited | Visitor Intent | Route To |
|---|---|---|
| /pricing | Evaluating purchase | Sales (AE or SDR) |
| /demo | Ready to see product | Sales (AE) |
| /integrations/salesforce | Technical evaluation | Sales engineer |
| /case-studies/* | Social proof seeking | Sales (AE) |
| /support/* or /docs/* | Needs help | Customer success |
| /blog/* | Research/education | Nurture sequence |
| /careers | Job seeker | Do not route to sales |
| /partners | Partnership interest | Partnerships team |
The page_url field from the Leadpipe webhook tells you exactly which page triggered the identification. If the visitor viewed multiple pages, you can route based on the highest-intent page they visited.
Combining with other dimensions: Page routing works best when layered with other routing rules. A blog reader from a target account is still a target account signal - route to the named AE, but with lower priority than a pricing page visitor from the same account.
Try Leadpipe free with 500 leads ->
Implementation: CRM Workflow Rules
The easiest implementation path is through your CRM’s native automation.
In Salesforce
- Leadpipe delivers identified visitors to Salesforce via the native integration or webhook
- Create a Process Builder or Flow that triggers when a new Lead or Contact is created by Leadpipe
- The flow checks routing conditions in order:
- Does the email domain match an existing Account? -> Route to Account Owner
- Is the company in your Target Account list? -> Route to Named AE
- What territory does the company fall in? -> Route to Territory Rep
- What company size tier? -> Route to appropriate team
- The flow assigns the Lead Owner and creates a Task with the visit details
In HubSpot
- Leadpipe delivers identified visitors to HubSpot via native integration
- Create a Workflow triggered by contact creation with source = “Leadpipe”
- Use If/then branching for routing logic:
- Branch 1: Company matches existing deal -> Assign to deal owner
- Branch 2: Company size > 200 employees -> Assign to enterprise AE
- Branch 3: Contact viewed pricing page -> Create high-priority task for sales
- Default: Round-robin assignment to SDR team
- Add a Slack notification action to alert the assigned rep
In Pipedrive or other CRMs
Most modern CRMs support automation rules that trigger on contact creation. The logic is the same - check routing conditions, assign to the right owner, create a follow-up activity.
Implementation: Custom Webhook Logic
For teams that want more control (or have CRMs without robust automation), you can build routing logic directly into your webhook handler.
The flow:
- Receive the Leadpipe webhook payload
- Look up the company in your CRM/database
- Apply routing rules (account ownership -> geography -> company size -> page)
- Deliver the alert to the assigned rep via Slack DM, email, or CRM task
- Log the identified visitor and the routing decision
The advantage of custom webhook logic is flexibility. You can combine routing dimensions in ways that CRM workflows make difficult, add scoring logic, or integrate with systems your CRM does not connect to natively.
A simple routing function looks like this:
function routeVisitor(visitor):
// Check account ownership first
account = lookupAccountByDomain(visitor.email_domain)
if account and account.owner:
return account.owner
// Check target account list
if isTargetAccount(visitor.company_name):
return getTargetAccountOwner(visitor.company_name)
// Route by company size
companySize = getCompanySize(visitor.company_name)
if companySize > 1000:
return getEnterpriseAE(visitor.company_state)
if companySize > 50:
return getSDRByTerritory(visitor.company_state)
// Small company or unknown - automated nurture
return "nurture_sequence"
Each lookup can hit your CRM API, a local database, or a simple lookup table. The routing decision happens in milliseconds, and the alert reaches the right rep seconds after identification.
Handling Edge Cases
Real-world routing has messy edge cases. Here is how to handle the common ones:
Edge case: Rep is out of office
Build a coverage map. When the primary rep is unavailable, the alert routes to their backup. Your CRM may already have this as a feature (Salesforce OOO routing), or you can maintain a simple backup assignment table.
Edge case: Multiple visitors from the same company
If Leadpipe identifies two people from the same company in the same week, they should both route to the same rep. The first identification sets the account owner; subsequent identifications add contacts to that rep’s queue under the same account.
This is especially important for ABM programs where multiple stakeholders visiting is a buying committee signal. The assigned rep needs to see all the contacts, not just the first one.
Edge case: Visitor is an existing contact in the CRM
Check for duplicates before creating a new record. If the identified visitor already exists in your CRM, log the visit as a new activity on the existing contact record and alert the current owner. Do not create a duplicate.
Edge case: Visitor viewed a careers page or support page
Not every identified visitor is a sales opportunity. Build exclusion rules for pages like /careers, /investor-relations, or /privacy-policy. Visitors identified on these pages should be excluded from sales routing entirely.
Edge case: Company cannot be enriched
Sometimes you will identify a visitor but cannot determine their company size, location, or account status. Fall back to round-robin assignment with a “needs triage” flag so a rep can manually review and re-route if needed.
Edge case: Visitor is from a competitor
Create a list of competitor domains. When an identified visitor matches a competitor domain, route them to your competitive intelligence team (or simply log the visit without alerting sales). Knowing that your competitor’s product manager is reading your case studies is valuable intel, but it is not a sales opportunity.
Routing Best Practices
Keep rules simple. Three to four routing conditions are enough. Overly complex routing trees become impossible to maintain and debug. Start with account ownership -> geography -> company size and add complexity only when data shows it is needed.
Audit monthly. Pull a report of all identified visitors and their routing destinations. Look for patterns: Are certain reps getting overloaded? Are high-value visitors routing to the wrong tier? Are any visitors falling through to the default bucket that should have been caught by a rule?
Measure response time by rep. Track how long it takes each rep to act on a routed alert. If one rep consistently responds in 15 minutes and another takes 6 hours, the routing is not the problem - coaching is.
Set SLAs by tier. Enterprise pricing page visitors get a 30-minute SLA. SMB blog readers get a 24-hour SLA. Not all identified visitors are equally urgent, and your SLAs should reflect that.
Use routing data to optimize territories. If one territory generates 3x more identified visitors than another, that rep is going to be overwhelmed. Rebalance territories based on actual visitor volume, not just account count.
FAQ
What data does Leadpipe provide for routing?
The webhook payload includes email, first_name, last_name, company_name, job_title, linkedin_url, page_url, and visit_duration. For geographic and company size routing, you will need to enrich the company_name with firmographic data from your CRM or an enrichment API.
Can I route based on job title?
Yes. The job_title field from Leadpipe’s webhook lets you route executives to senior AEs, technical roles to sales engineers, and marketing roles to your marketing-aligned sales pod. Just be aware that job title matching requires fuzzy logic (VP of Marketing, Vice President Marketing, and Marketing VP are the same role).
What if I have a small sales team with no territories?
Use round-robin assignment for all identified visitors, with page-based priority tagging. Every visitor gets assigned to the next available rep, but pricing page visitors get a “hot” flag and blog visitors get a “warm” flag. This is simpler than territory routing and works well for teams under 5 reps.
How does this connect to an AI SDR setup?
Routing can feed into both human reps and AI outreach agents. High-value visitors route to human reps for personal follow-up. Lower-tier visitors route to the AI agent for automated personalized outreach. The routing logic is the same - only the destination changes.
Should I notify the rep via Slack, email, or CRM task?
Use whatever channel your reps check most frequently. For most teams, that is Slack. Send an instant Slack DM to the assigned rep with the visitor details, and simultaneously create a CRM task as a backup. The Slack message drives fast response; the CRM task ensures nothing is forgotten.