VANDFORTBook a call
Every tool is free to use. Enter your email once and all five open.All resources

Median SDR Attrition Is 40% a Year: 15 Lead Routing Edge Cases That Break Round-Robin (and How to Test Each)

Transparent glass tracks split at a glowing brass junction, carrying clear and amber spheres into separate gold-rimmed bowls on a cream surface.

The complaint arrives as a feeling before it arrives as a report. One SDR has had a quiet month. Another keeps getting leads from companies his colleague already works. A third comes back from two weeks of leave and gets nine leads in a morning. Nobody changed the routing rules. The rotation is doing what it was configured to do, just not for the team, data and timing it actually meets.

Most lead routing rules examples online show the happy path: a form comes in, the next rep gets it. That case rarely breaks. The edges do: the rep who is away, the lead from a customer, the Gmail address, the 3 a.m. submission, the list import that eats a week of rotation in a minute. Here are 15 edge cases in five classes, with what should happen and how to prove it does.

40%median annual SDR attrition in 2024, across 351 B2B companies (The Bridge Group, 2025)
55%of professionals use a personal email to download long-form content, per NetLine's estimate (MarketingSherpa, 2017)
500Web-to-Lead submissions per day before Salesforce queues the rest for the next day (Salesforce; Salesforce Ben, 2025)

Rebuilding inbound assignment and tired of patching round-robin? Forms Routing is the routing layer VANDFORT installs in engagements: inbound submissions scored, owned and assigned by rule, written into your CRM.

Those three numbers are why round-robin drifts. The Bridge Group's 2025 SDR Metrics Report, covering 351 B2B companies, put median SDR attrition at 40 percent for 2024, with a ramp of 3.0 months, so a pool built in January is a different pool by June. A NetLine analysis of more than 7 million form completions, published by MarketingSherpa in 2017, estimated that 55 percent of professionals use a personal address for long-form content, and each of those leads is harder to match to an account. Salesforce's lead administration guide notes that Web-to-Lead captures up to 500 leads per day; per a 2025 Salesforce Ben guide, the excess waits in a pending queue for the next day.

Round-robin is a reasonable fairness rule. The problem is that it is usually the only rule, so every case it was never meant to handle falls through it. The fix is a short list of cases checked before the rotation, each with an expected result and a test.


Diagnosis: the five classes of edge case that break round-robin

Each class fails for a different reason, so each needs a different test.

1. Team state: the pool is not the team

Case 1, the rep who is away. HubSpot's knowledge base, updated October 2026, says users set to Away will not be assigned records when the "Assign to available users only" option is enabled. That works only if reps set the status; a rep who forgets stays in rotation and leads wait. Case 2, the catch-up flood. A HubSpot Community idea from October 2018 describes rotations that balance counts over time: "a rep that goes on vacation will then get MORE leads when they get added back into rotation." Case 3, the departed rep. Salesforce does not allow inactive users in an assignment rule entry, and HubSpot excludes deactivated users from routing; leads meant for that rep go to a fallback owner nobody watches.

2. Pool changes: the rotation resets or drifts

Case 4, adding or removing a rep. HubSpot's documentation says that when owners are added to or removed from a rotation, "the assignment counts for that action will reset." Case 5, the ramping or part-time rep. A rep in week three of a ramp should not get a tenured rep's share. Weighted distribution is the usual answer, and a 2026 guide from Default, a routing vendor, lists weighted distribution among the things HubSpot workflows do not support natively. Case 6, the empty pool. When every rep in a team is away, HubSpot sets the owner to unassigned. Without an alert, they sit.

3. Existing relationships: the lead already has an owner

Case 7, a lead from a current customer. A new contact from an account you already serve should go to the account owner or CSM, not to the next SDR. Case 8, a lead from a company with an open opportunity. Rotation hands it to a second rep, and two people now call the same buying committee. Case 9, the repeat submitter. The same person fills in a second form a month later, and the rotation treats them as new, sending them to a different rep than the one who already spoke to them. HubSpot's rotate action has a setting that decides whether to overwrite an existing owner; whichever way it is set, it should be a decision, not a default.

4. Dirty inputs: the rule cannot see what it needs

Case 10, personal email domains. A Gmail address cannot be matched by domain, so a customer's VP looks like a stranger and lands in the pool. Case 11, missing or variant geography. "US", "USA", "United States" and blank all appear in real form data, and a territory rule that checks one spelling misses the rest. Case 12, enrichment that arrives late. If enrichment fills company size seconds after creation and routing runs on creation, the rule reads a blank and sends an enterprise lead to the general queue.

5. Timing and volume: the lead arrives at the wrong moment

Case 13, off-hours and time zones. A demo request at 11 p.m. goes to whoever is next, who is asleep, while a colleague in another time zone is online. Case 14, bulk imports. 400 event scans enter the same rotation as demo requests and consume a week of fair distribution in a minute. In Salesforce, the 500-per-day Web-to-Lead limit means a spike can also push form leads into the next day's queue. Case 15, the rule set that was never retested. A new rule placed after a broader one never fires, because Salesforce, per its help documentation, "evaluates each entry in order" and stops at the first match.

The pattern: round-robin answers one question, which rep is next. Every edge case above is a different question that has to be answered first: does this lead already belong to someone, can we read it, is the rep there, and is this the right queue at all. Rotation should be the last step in routing, not the only one.

Framework: lead routing rules examples, with the expected result and a test for each

The table is a suggested starting point, not a standard: reasonable defaults for a $3M to $30M ARR B2B SaaS team. Change any that conflict with how you sell, but write each down before you test it.

#Edge caseExpected behaviorHow to test it
1Rep away, status not setAway status set from the leave calendar, not by memoryBook a test absence; submit a lead; confirm the rep is skipped
2Returning rep catch-upRotation resumes in order, no backlog owedReturn a rep from away; submit five leads; check the split
3Departed rep still in rulesOffboarding removes the rep from every pool the same dayDeactivate a test user; submit a lead; confirm no fallback owner
4Rep added mid-monthCounts reset is accepted or overridden on purposeAdd a user; run ten leads; compare shares to the plan
5Ramping or part-time repReduced share by weight or by a separate poolRun 20 leads; check the share against the weight
6Whole pool awayOverflow queue plus an alert within minutesSet every test user away; submit; confirm alert and queue
7Lead from a current customerAccount owner or CSM, never the poolSubmit with a customer's domain; check the owner
8Company with an open opportunityOpportunity owner, with a notificationSubmit with that domain; confirm owner and alert
9Repeat submitterExisting owner kept unless they left or the lead is staleResubmit a known email; confirm the owner did not change
10Personal email domainMatched on name and company, or routed to a review queueSubmit a Gmail lead for a customer's employee
11Variant or blank countryNormalized before routing; blank goes to a default regionSubmit "USA", "U.S." and blank; check each owner
12Enrichment arrives lateRouting waits for enrichment or a timeoutDelay the enrichment step; confirm routing waits
13Off-hours submissionOnline rep in a covered time zone, or first in queue at start of daySubmit at night and on a weekend; check owner and alert
14Bulk importSeparate import pool; never consumes inbound rotationImport 50 records; confirm inbound rotation did not move
15Rule order after a changeEvery rule can fire; none is shadowedRun the full deck after every rule edit

Read the table as an order of operations. Ownership checks (cases 7 to 9) run first, because a lead that already belongs to someone should never reach the rotation. Data checks (10 to 12) run next, because a rule cannot route what it cannot read. Cases 13 and 14 pick the queue. Only then does round-robin choose a rep, and cases 1 to 6 decide who is eligible.

Design principle: route in layers. Ownership first, then data quality, then queue, then rotation. Each layer has its own fallback, and every fallback goes to a queue someone watches, never to a default owner who does not know they are one.

Implementation: six steps to put the edge cases under test

This works for native CRM rules, workflow tools or a dedicated router. Plan for about two weeks. Our companion lead routing test plan shows how to turn these edge cases into a repeatable regression deck.

Pull the last 90 days of routing outcomes. Export each new lead with first owner, current owner, time to assignment and any manual reassignment. Manual reassignments map the edge cases you already have.

Write the expected behavior for all 15 cases. Start from the table and change anything that conflicts with how you sell. Have the sales leader sign off on cases 7 to 9 and 13, which are business decisions.

Build one test lead per case, plus variants. Copy realistic, messy values from anonymized real leads; cases 10 and 11 need several variants.

Run the deck in a sandbox through every entry point. Forms, imports, integrations and the API do not always trigger the same logic. Record actual against expected owner, queue and alert, and fix until they match.

Shadow the new logic in production for a week. Write the owner the new logic would choose into a separate field while the current rules keep assigning. Every disagreement is either a bug or a case you had not written down; add it to the deck.

Cut over and watch three numbers. For the first two weeks, review leads without an owner after an hour, leads that hit any fallback, and leads reassigned by hand. Agree before go-live which of those triggers a rollback.


Workflow: who keeps each class of edge case covered

Edge cases come back when nobody owns them. Give each class an owner and a trigger.

People operations and sales managers: team state

Leave calendars feed away status, and offboarding removes a departing rep from every pool on their last day. At 40 percent attrition, this is routine.

RevOps: ownership and queues

The existing-account and open-opportunity checks, the import pool, the overflow queue and its alert. RevOps also owns the test deck and adds a case for every reported misroute.

Marketing operations: data at the door

Form fields with picklists instead of free text for country and size, normalization before routing runs, and an enrichment step that finishes before the routing step starts.

Scheduled: the regression run

Rerun all 15 cases after any change to rules, pools, forms or integrations, and once a quarter regardless. Connected tools change without telling you.


Board narrative: explaining routing reliability in three sentences

Boards ask why one segment's pipeline is thin or why a customer got two calls. Three statements answer that.

What we fixed

"Our routing handled the hard leads by accident. We now check ownership, data and availability before any lead enters rotation."

How we know it works

"We keep a fixed set of 15 test cases and run them after every change. We also track leads without an owner, leads that hit a fallback and leads reassigned by hand, every week."

Why it matters

"Speed. Workato's 2026 study of 114 B2B companies found those using a routing tool replied in about three and a half hours on average, against nearly 13 hours without one. A lead in the wrong queue loses that advantage."


Cross-domain: where routing edge cases connect to the rest of the engine

Most of the 15 cases are identity, ownership and data problems that routing exposes. Cases 7 to 10 depend on matching a lead to the right account, covered in our guide to deterministic vs probabilistic matching. The ownership rules behind cases 1 to 6 are covered in our piece on territory assignment automation.

Downstream, routing is the first half of response time. A Speed-to-Lead system can only reply in minutes if the lead reached an eligible owner in seconds; our speed-to-lead benchmarks by ARR band show what fast means at your stage. If your cases have outgrown native CRM rules, our comparison of lead routing software by routing complexity covers when a dedicated router earns its cost.

VANDFORT tests systems against around 20 of the client's own past cases before go-live, with an 85 percent acceptance bar in its methodology. Deterministic routing rules deserve a higher bar: all 15 cases should pass.


Frequently asked questions

Why is HubSpot round robin not distributing leads evenly?

Usually because the pool changed or reps were skipped. HubSpot's documentation says assignment counts reset when owners are added to or removed from the rotation, and users set to Away are skipped when availability filtering is enabled. Uneven totals over a month often trace back to a new hire, a departure or leave. Check those events first, then check whether some leads bypass the workflow through imports or integrations.

What happens to round robin leads when a rep is on vacation?

It depends on the tool and on whether the rep's status is set. In HubSpot, users set to Away are skipped when availability filtering is enabled, and if the whole pool is away the record is left unassigned. If the rep never sets the status, leads keep arriving and wait. The safest setup connects away status to the leave calendar and alerts on any unassigned lead within minutes.

How should lead routing handle existing accounts?

Check ownership before rotation. A new lead whose company is already a customer should go to the account owner or CSM, and a lead from a company with an open opportunity should go to the opportunity owner with a notification. Only leads with no existing relationship should enter round-robin. Matching on email domain alone misses contacts using personal addresses, so add name and company matching or a review queue.

How do you route leads that come in after business hours?

Decide whether speed or continuity matters more for that lead type. For high-intent requests like demos, route to a rep who is online in another time zone if you have coverage. Without coverage, place the lead first in the queue for the start of the next working day and send an immediate confirmation to the buyer, so the wait is visible rather than silent.

Sources: The Bridge Group, 2025 SDR Metrics Report (n = 351), February 2025. MarketingSherpa, "Lead gen: business vs. personal email" (NetLine analysis of 7M+ form completions), July 2017. Salesforce, Tips for Lead Administrators, and Salesforce Help, "Create Assignment Rules," accessed October 2026. Salesforce Ben, "A Step-by-Step Guide to Creating Web-to-Lead Forms in Salesforce," April 2025. HubSpot Knowledge Base, "Assign and rotate record owners using workflows," updated October 2026. HubSpot Community, "Workflow Round Robin: rotate leads evenly and in set order," October 2018. Default, "HubSpot Round Robin: Setup, Types and Limitations," updated October 2026. Workato, "B2B Lead Response Times: What We Learned from 114 Companies," March 2026. VANDFORT, Forms Routing page, accessed October 2026.

Read next