Lead routing in Salesforce: stop the free-for-all
Round-robin sounds simple until territories overlap and SDRs fight over the same inbound. How we set up routing that reps do not game.
Inbound leads land in Salesforce. Then nothing happens for three days because everyone thought someone else would pick it up.
Bad lead routing is one of the fastest ways to waste marketing spend. Good routing is boring on purpose — clear rules, visible ownership, and a SLA someone monitors.
Start with ownership rules, not fancy tools
Before you buy a lead router app, answer three questions:
- Who gets leads by geography? Draw the map. If APAC is "everyone else," you will have gaps.
- What makes a lead sales-ready? Score, form fill, company size — pick one system and stick to it.
- What happens when the owner is OOO? If the answer is "they sit in queue," you need a backup rule.
Round-robin done properly
Round-robin only works when:
- Reps have capacity caps (max leads per week).
- Leads reassign if untouched in 24–48 hours.
- Marketing and sales agree on the definition of "worked."
We add a simple first-touch timestamp and a dashboard for SDR managers. No touch in SLA? Lead moves to the next person. Sounds harsh. Works.
Common traps
- Duplicate leads from web forms — same person submits twice, two owners call them. Use duplicate rules and matching on email.
- Account-based routing without accounts — you route by company name string matching. "IBM" vs "IBM India" splits ownership. Match to Account first when you can.
- Territory rules nobody updated — rep left six months ago, still in the rotation. Quarterly cleanup is not optional.
When to escalate to dev
If routing depends on product SKU, contract tier, and partner channel all at once, declarative tools might not be enough. That is when Salesforce development (Apex or Flow with invocables) earns its keep — but only after the business rules are written down on paper.
Routing fixes are often a one-week sprint, not a six-month project. Describe how leads arrive today — form, ads, events — and we will tell you if it is a config fix or a build.