Bahasa Melayu

Lead Routing and SLA Enforcement That Survives Volume

It's a Friday at 11pm and a $40K demo request from a 600-person fintech sat untouched for four hours. The rep it was assigned to left the company six weeks ago. Nobody noticed because the routing rule still pointed at his queue, his out-of-office Slack auto-reply was disabled when IT offboarded him, and the round-robin counter happily kept ticking past his name. The VP of Marketing finds out Monday morning when the prospect's CRO emails the CEO directly to ask why nobody called back. You, the MOps IC, get the Slack at 9:02am: "How does this happen?"

That's the actual job. Routing is not "we have round-robin." It's "we know which 12% of leads breach SLA each month, we know why, and we know which rule needs to ship to fix it." If you're not at that level of visibility yet, the rest of this playbook is the work to get there.

The Routing Taxonomy That Actually Holds Up

Single-axis routing breaks somewhere between 300 and 500 leads per month. Round-robin alone doesn't know that the demo request is from your ICP and the content download is a student in Bangalore. Territory alone doesn't know that the AE in EMEA is on PTO and the German prospect is sitting in queue. You need three layers stacked.

Layer 1: Firmographic. Segment (SMB / mid-market / enterprise), geography (region for territory rules, country for compliance), employee count, industry. This is the cheapest data, and most of it comes free from Clearbit, ZoomInfo, or a decent enrichment vendor on your form fills. If you don't have firmographic enrichment running, stop reading and go fix that first. Routing without it is guessing.

Layer 2: Intent. What did they actually do? A demo request from pricing.yourdomain.com is not the same lead as an ebook download. Pricing-page visits, demo requests, "talk to sales" form fills, and high-engagement product trial signups are tier-1 intent. Webinar attendance and content downloads are tier-2. Newsletter signups and gated PDFs are tier-3 marketing nurture. Tier-1 should hit a human inbox in minutes. Tier-3 should never wake a rep.

Layer 3: ICP fit score. A composite score using firmographic and behavioral signals, typically a 0-100 score from your scoring model. The point of the score isn't to gatekeep; it's to break ties. When two demo requests hit the queue at the same minute, the higher-fit account goes to the senior AE and the lower-fit one goes to the SDR pool.

Stack these three and the rule reads: "if intent = demo request AND fit-score >= 60 AND segment = mid-market AND geo = NA, route to round-robin pool of NA-MidMkt AEs." That's the rule that holds up at 1,500 leads a day. A pure round-robin will not.

Lead scoring is the upstream input that makes this work. See the lead scoring model that sales trusts for how to build a score sales actually buys into.

The 5-Minute SLA Reality

The Harvard Business Review / InsideSales study everyone cites is real, and it's older than most MOps managers want to admit. The numbers haven't moved much: contact a lead within 1 minute and you're roughly 8x more likely to qualify it than at 5 minutes. Wait an hour and you've lost about 60% of the conversion you could have had. Every minute past minute 5 strips another 10% of conversion off the top.

So the working SLA for tier-1 intent is 5 minutes, end of story. That's "rep has opened the lead and started outreach," not "rep has the lead in their queue." Queue time is invisible to the prospect.

What 5 minutes means in practice gets messy:

  • If your reps sit in PT and your German lead arrives at 3am their time, the SLA cannot be 5 minutes from form fill. It's 5 minutes from the start of the rep's working day, OR you need a follow-the-sun pool.
  • If the lead requests a meeting via Chili Piper or a similar inbound scheduler and books themselves into the calendar, the SLA is "calendar accepted, prep notes added, joined the call on time," not response speed.
  • If two reps are competing for the same lead pool, your SLA dashboard must measure first-response, not first-touch-by-anybody. Otherwise rep A keeps hitting SLA by hijacking rep B's leads.

A realistic operational target: 80% of tier-1 leads contacted within 5 minutes during business hours, 95% within 30 minutes, 100% within 4 hours including off-hours. If you can't hit those, the answer is more rep coverage or a 24/5 SDR pool, not a stricter rule.

SLA Enforcement Without Becoming the Routing Cop

There's a version of this job where you become the person who Slacks reps about late follow-ups. Don't do that. The reps will start hating you, you'll burn out, and the underlying problem won't get fixed.

What works instead is a tiered automation layer plus visible dashboards:

Automation flags.

  • At minute 4 with no rep response: a Slack DM to the rep saying "lead [name] is 4 min in, stage = demo request."
  • At minute 10 with no rep response: a Slack ping to the rep's manager and the lead auto-reassigns to the next rep in the pool.
  • At minute 30: a daily digest email lands in the rep's inbox listing every breach and why.

Manager dashboards. Built in Salesforce, HubSpot, or whatever BI tool the team uses. Three required cuts:

  • Breach rate by rep (rolling 30 days)
  • Breach rate by segment and source (which source/segment combo is breaching most)
  • Breach rate by hour-of-day (does the breach cluster at 8-9am because nobody's covering the morning EMEA window?)

The dashboards do the social work. A rep with 22% breach rate over 30 days will see it sitting on the team Monday-morning report and self-correct. The manager addresses outliers in 1:1s, not you. You ship rule changes that fix the structural breaches.

The difference matters: an alert is information ("hey, you have 4 min left"), and a punishment is judgment ("you missed three SLAs this week"). The first one keeps reps on your side. The second one makes them disable their notifications.

The Deduplication Problem Nobody Wants to Own

Here's the unglamorous truth: about a third of "the rep didn't follow up" complaints aren't routing failures. They're dedupe failures.

The classic patterns:

  1. Lead-to-account mismatch. A new lead from acme.com fills out a demo form. Your routing rule says "if account exists, route to account owner." Salesforce dedupes on email domain and finds Acme Corp, but the matched account was closed-lost in 2023 and the owner is the SDR who got promoted to AE in a different segment. The lead routes to a queue nobody watches.

  2. Fuzzy company-name dedupe. "Google Inc." vs "Google" vs "google.com" vs "Alphabet." Without a normalized account-matching layer, your routing creates four leads on four different accounts and four reps each think the others are handling it.

  3. The "John Smith at Google" problem. Two people with the same name fill out forms three days apart. Your dedupe rule merges them on name + company, overwriting the first lead's source attribution and routing the merged lead to whoever owns it now. The first lead's owner never gets the new touch notification.

The fix is a real lead-to-account matching layer (LeanData's bread-and-butter feature, or HubSpot's improved company-matching, or a custom solution if you have engineering budget). Then rules at the routing layer that distinguish "match found, account active, owner present" from the three failure modes above. The account-matching log gets reviewed monthly along with the SLA review. Otherwise dedupe failures masquerade as routing failures forever.

LeanData vs In-CRM Native Rules

The honest version of this comparison: in-CRM is enough longer than vendors will tell you, and LeanData / Chili Piper / Default earn their keep when the rule complexity gets non-trivial.

Dimension In-CRM rules (Salesforce / HubSpot) LeanData / Chili Piper / Default
Cost Included with seat license $30,000–$80,000/year
Setup time 1–2 weeks for a working ruleset 4–8 weeks (mapping, testing, cutover)
Lead volume sweet spot Under 200 leads/day 200+ leads/day
Segment count it handles cleanly 1–2 segments 5+ segments, multi-product, multi-region
Account-based routing (ABM) Painful — requires custom logic Native, designed for this
Cross-object logic (lead → contact → account → opportunity) Works but breaks with edge cases Built for it
Who owns it Salesforce admin / MOps MOps IC + LeanData admin
Breaking point Around 500 daily leads or 3+ segments Around 5,000+ daily leads or full ABM matrix

If you're under 200 leads a day, one segment, no ABM plays running, in-CRM rules will hold. The $50K/year is better spent on a second SDR or better enrichment data.

If you're running ABM, multi-product, and routing has cross-object dependencies (e.g., "if the lead's account has an open opportunity, route to that opp owner; otherwise route to territory rep based on lead's geo + segment + fit score"), in-CRM rules become a nest of workflow rules that one resignation turns into archaeology. That's where LeanData earns it.

The trap is buying LeanData to fix a problem that's actually upstream: bad enrichment, no scoring model, dedupe broken at the data-entry layer. LeanData makes a clean system better. It does not save a dirty one.

The "Rep Ignored the Lead" Diagnostic Chain

When a rep gets blamed for ignoring a lead, run this 6-step chain before you accept the verdict. Most complaints fail at step 2 or 3, not step 6.

  1. Was it routed? Check the routing log. Did the rule fire? Did it match the rep you think it matched? (Sometimes the rule matches a different rep and the manager's wrong about who owned it.)
  2. Was it received? Did it actually land in the rep's queue / Salesforce view / HubSpot inbox? CRM view filters can hide leads from a rep without anyone noticing.
  3. Was the rep available? PTO, sick day, terminated, role-changed, on a customer call for 90 minutes. The "rep was at desk and ignoring the screen" assumption is wrong about 40% of the time.
  4. Was it visible in their queue? A new lead with a default sort order can land on page 7 of a long list. If the rep filters by "highest score" and the lead came in unscored because enrichment hadn't run yet, it's invisible.
  5. Did they open it? Salesforce + HubSpot both log first-open timestamps. If it was opened, you're at step 6. If not, you're upstream of "ignored."
  6. Did they action it? Email sent? Call logged? Calendar invite booked? This is "rep ignored the lead." Steps 1-5 are routing/data/visibility failures.

A real example: a CRO escalated three "ignored" demo requests. We ran the chain. Step 2 failed for all three. A Salesforce list view filter the rep had set in February 2025 (back when she only handled SMB) was hiding mid-market leads in 2026 because nobody updated the filter when she got promoted. The fix was a 2-minute filter edit, not a coaching conversation about responsiveness.

The same kind of upstream diagnosis matters for MQL→SQL conversion failures. See MQL to SQL conversion diagnostics.

The Monthly SLA Breach Review

The meeting where routing actually gets fixed is the monthly SLA breach review. 45 minutes, four people: MOps IC, head of SDR, head of AE, RevOps lead. Standing agenda:

  1. Topline numbers (5 min). Total leads, breach count, breach rate. The working ceiling for healthy B2B SaaS is 12%. Above 18% is structural: either coverage gap or rules problem.
  2. Top 5 breach causes (15 min). Categorize every breach: rep-on-PTO, rule-stale, dedupe-failure, after-hours-coverage, queue-visibility. The top cause this month is the one you ship a fix for.
  3. Rule changes shipping next month (15 min). Specific changes like "we're adding a fallback rep for the EMEA pool when primary is OOO," or "we're tightening the dedupe rule on accounts older than 12 months." Each change has an owner, a ship date, and a measurement plan.
  4. Segments to re-balance (5 min). Workload review. Is one rep getting 3x the leads of the next? Is one geo over-served and another under-served?
  5. Wins (5 min). Last month's rule change that worked. Keeps the meeting from being purely a defect review.

Document the meeting. The rules-changelog ships to a shared doc (Notion, Confluence, doesn't matter), versioned and dated. When the next MOps IC inherits this in 18 months, the changelog is what saves them.

This is the work the Marketing Operations Manager job description describes when it says "owns the routing layer end to end." It's not a one-time setup. It's a permanent surface.

Routing Is Production Code

The single biggest mindset shift for the MOps IC running routing: this is not a project, and the rules file is not a Salesforce sandbox object you tinker with on Tuesday afternoons. It's production code. It's serving every lead the company spends money to generate. A bad rule change costs more than a bad code deploy because the failure mode is silent. Nobody sees the lead that didn't route.

Treat it that way:

  • Versioned. Every rule change documented with a timestamp, owner, and reason.
  • Reviewed. Big changes (segment rebalance, new ABM logic) get a second pair of eyes before shipping.
  • Monitored. Dashboards run continuously. Breach rate is a tracked KPI, not a quarterly check-in.
  • Tested. Before flipping a rule live, run it against last month's lead volume in a sandbox or a dry-run mode and check the routing output makes sense.

The same discipline applies to your attribution model — see marketing attribution without the religious war.

The rep ignoring the lead is almost never the rep ignoring the lead. It's the rule that hasn't been touched since the AE who built it left in 2024. Your job is to find that rule, ship the fix, document the change, and make sure the next "how does this happen?" Slack at 9:02am Monday is about something genuinely new.

Learn More