Routing a new lead to the owner of an existing account depends on first matching the lead to that account. Matching is where it usually fails, and it fails without an error: the lead is simply treated as new business.
1. Matching on the wrong field
Company name is the weakest match: Acme, Acme Ltd and ACME Limited are three values. An email domain is stronger, but not for people using personal addresses.
2. Shared and personal domains
A match on gmail.com would connect every lead to one account. A sound match ignores free mail domains, and then has no basis for those leads.
3. Duplicate accounts
If the company exists twice, the lead matches one and the owner it reaches may not be the one who looks after the customer.
4. Hierarchy
A lead at a subsidiary should often go to the owner of the parent. Matching that way needs a rule that reads the account hierarchy.
5. The match runs after the owner is set
If the owner is assigned before matching, the lead has already gone to a person by territory or round robin. See a flow overriding the rule for how order decides who wins.
Check it yourself
SELECT COUNT() FROM Lead WHERE IsConverted = false AND Email != null AND CreatedDate = LAST_N_DAYS:90
Then take five leads from companies you know are customers and follow each by hand: which account would match, and who owns it, against who owns the lead.
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. Register interest and you will be first to get a free health report: what is leaking, where, and what it is worth.
The free scan cannot see this one: it reads assignment rules, flows and queues only. Connected, it is checked every night.