Why one customer ends up as two contacts in your CRM
Duplicate contacts almost always start with a second phone number. The customer submits a form on one line and texts you from another. Your CRM matches inbound texts against a single phone field, finds nothing, and creates a brand new lead. One buyer, two records, two reps.
Why does a CRM create a duplicate when a customer texts from a different number?
Because the match is a lookup against one field. The lead form captured a house line or a work line. The text comes from a cell. The system searches for that cell, finds no hit, and does the only safe thing it knows: it creates a new contact so the message is not lost. That new record often arrives labelled as an unknown number.
The system is not being careless. It genuinely cannot tell the difference between a returning customer on a second phone and a stranger.
The cost lands on the floor, not in the database. That new record enters your distribution rotation and gets assigned to whoever is next up. Now two reps own one buyer.
What actually goes wrong when the same buyer exists twice?
The conversation splits. One rep sees the original inquiry, the trade details and the vehicle of interest. The other sees three texts and nothing else. Neither has the full picture, and the customer experiences a dealership that cannot keep track of who they are.
Then the automation compounds it. Follow-up cadences fire against the new record because, as far as the system knows, it is a fresh lead. So a buyer who is already negotiating gets an opening message asking whether they are still in the market.
The same thing happens when a lead is resubmitted through more than one campaign, which is routine on trade-in and third-party feeds. Each arrival reads as a new customer, so the opener fires again. Nothing is broken in the ordinary sense. Every piece is doing exactly what it was told. The buyer just experiences a dealership that keeps introducing itself.
How do you keep one customer as one contact?
Hold both numbers on the record and match against both. bkd.ai gives a contact a primary and an alternate phone, and inbound texts, calls and AI replies check both, with the primary always winning if two records could claim the same digits. A customer reaching you from either phone lands in the existing thread.
Texting stays deliberate rather than automatic. If a rep wants outbound messages to go to the other number, they swap which one is primary from the contact card or the composer. Everything downstream, including automated follow-up, then agrees on where to send. Calls work differently because a call has no thread to keep consistent, so a rep picks which number to dial for that call and nothing changes on the record.
And when a number you are adding already belongs to another contact, bkd.ai offers a one-click merge instead of a database error. The older record survives, the other is absorbed, ownership moves to the rep doing the merge, and the previous owner gets a text so the transfer is on the record rather than silent.
Frequently asked questions
Why does my CRM create a duplicate when a customer texts me?
Most CRMs match an inbound text against one phone field on the contact record. If the customer texts from a number that is not in that field, nothing matches, so the system creates a new contact and routes it as a fresh lead. The original record and its history stay behind.
Can a contact record hold two phone numbers?
In bkd.ai, yes. A contact carries a primary and an alternate number. Inbound texts, calls and AI replies are matched against both, with the primary always taking precedence, so a customer reaching you from either phone lands in the same conversation thread.
What happens when a phone number already belongs to another contact?
bkd.ai detects the collision and offers a one-click merge instead of an error. The older record is kept, the newer one is absorbed, ownership moves to the person doing the merge, and the previous owner is notified by text so the transfer is never silent.
How do duplicate contacts cost a dealership money?
A duplicate splits one conversation into two threads owned by two reps. Neither rep sees the full history, the customer gets contacted twice with different information, and follow-up cadences fire against a record that looks brand new when the buyer is already deep in the process.