Salesforce reads the entries of the active rule in their sort order, from the top. The first entry whose criteria match the lead assigns it, and the rest are never read. An entry that is correct on its own can be dead. Something above it matches first.
Common ways the order goes wrong
- A broad entry above a narrow one. An entry for a whole region sits above one for a single country in it. The country entry never fires.
- A catch-all too high. An entry with no criteria matches every lead. Anything below it is unreachable.
- An entry added at the bottom. New entries land last. If the catch-all was last before, the new entry now sits behind it.
- Criteria that depend on a field the lead does not have yet. A blank value matches nothing, so the lead falls to the next entry. See routing by country or state.
How to test it
- List the entries in order, with the criteria of each.
- Take a lead you expect for each entry. Walk down from the top until one matches. If it is not the entry you expected, the order is wrong.
- Check the last entry is the catch-all and that nothing sits below it.
A check that reads your rule entries and your real leads together can tell you which entry a lead matched. Seven causes to check covers the other reasons a rule misses.
Order matters more with several brands or partners. See several brands in one org and partner leads.
Writing a new entry? Check it before you save it.
The free scan checks your export for:
- entries hidden behind broader ones
- entries after a catch-all
No export access? Paste your rule entries instead.
A made-up rule, before and after
Here is an invented rule with three entries. The columns show the order as found and after the fix. Test the result with a test plan.
| Position | As found | After the fix |
|---|---|---|
| 1 | Region is EMEA, to the EMEA queue | Country is Germany, to the DACH queue |
| 2 | Country is Germany, to the DACH queue | Region is EMEA, to the EMEA queue |
| 3 | No criteria, to the default queue | No criteria, to the default queue |
As found, a German lead matches the EMEA entry first. The DACH entry never fires. After the fix, the narrow entry reads first. The catch-all stays last.
Questions to ask at each review
- Which entry was added last, and what sits below it?
- Is any entry a subset of an entry above it?
- Does any entry test a field that is often blank? See routing by country or state.
- Can you name a real lead for each entry?
An entry with no real lead behind it may be dead. Write it down and ask who still needs it.
Have it checked every night instead.
Routing Forensics connects as a read-only user and checks this, and the rest of your routing, against your real leads. Three design partners get a free health report on their own CRM, free for 90 days: what is leaking, where, and what it is worth. Apply for a place.
Or check it now. The free scan reads your Salesforce export in your browser. Nothing is uploaded.