BBOSSEOGrowth Brief ← All briefs

Growth Leak Files

The Contact Created Twice

A duplicate record is not a data problem. It's a prospect getting two conflicting messages from a firm that thinks it's following up well.

It's 9:12 on a Tuesday morning. A prospect who called your firm on Friday afternoon opens her email and finds two messages from you. One is from an intake coordinator asking her to schedule a consult. The other is an automated sequence that opens with "Sorry we missed you — tell us about your case." She already told you about her case. On the phone. For eleven minutes.

She replies to one of them. The reply lands on a record nobody is actively working, because the human coordinator is watching the other record. Two days pass. On Thursday she signs with a firm that answered her once, clearly, and moved her to a consult.

Nobody at your firm did anything wrong. The phone was answered. The follow-up fired. The task was created. The dashboard looks healthy. That's what makes this leak so expensive: every individual step worked, and the outcome still failed.

The mechanism: one person, two identities

Duplicate contacts are almost never created by carelessness. They're created by your systems doing exactly what you told them to do, from two different doors.

The common pattern looks like this. A prospect fills out a form on your site on Friday at 4:40pm. That creates Contact A, with the email address she typed. Ten minutes later, she calls because nobody has responded yet. Your call tracking or answering service creates Contact B, keyed to her phone number, with a slightly different spelling of her name and no email. Now you have two records for one human being.

From there the system multiplies the damage on its own:

  • Two owners. Round-robin assignment gives Contact A to one intake person and Contact B to another. Neither knows the other exists.
  • Two tasks. Each record spawns its own "call this lead" task, so your task count looks productive while half the work is redundant.
  • Two sequences. Contact A enters the web-lead nurture. Contact B enters the missed-call sequence. The messages contradict each other because they were written for people at different stages.
  • Two histories. The eleven-minute phone conversation is logged on one record. The intake form answers are on the other. No one on your team can see the whole person.
  • Two versions of the truth in reporting. Your lead count is inflated, your conversion rate is deflated, and your cost per signed case is wrong in a direction you can't measure.

That last one is why firms live with this for years. The leak doesn't show up as a complaint. It shows up as slightly worse numbers everywhere, which get blamed on ad spend, on market conditions, on the intake team.

Why more automation can make it worse

Here's the uncomfortable part. The firms most exposed to this are usually the ones that have invested the most in automation. Clio's 2026 mid-sized-firm research found that 65% said AI lets them handle a higher volume of work. Higher volume is the goal. But volume through a system that can create the same person twice doesn't produce more signed cases — it produces more activity per prospect, distributed across records that don't know about each other.

Automation is a multiplier. Point it at a clean identity model and it compounds your intake capacity. Point it at a system where identity is ambiguous, and it faithfully multiplies the ambiguity. Every new channel you add — a chat widget, a texting number, a second landing page, a paid-search call extension — is another door that can mint a new identity for someone who already exists in your database.

Automation doesn't create the duplicate. It just makes sure the duplicate gets worked as hard as the original.

The fix: one identity, one owner, one auditable path

The instinct is to buy a deduplication tool and call it done. Dedupe tools help, but they solve the symptom after the fact — usually in a nightly batch, long after both sequences have already sent. By the time the merge runs, the prospect has already received the conflicting messages.

The durable fix has three parts, and they have to be built into the flow rather than bolted on behind it.

1. Resolve identity before anything else fires

Every inbound event — form, call, chat, text, referral submission — should hit a matching step before a record is created or a sequence is enrolled. Match on phone, on email, on name plus one corroborating field. If a confident match exists, attach the event to the existing contact as a new touch. If it doesn't, create a new one. The rule is simple: a lead source should be allowed to create a touch, not an identity.

2. Build an error queue a human checks every day

Matching will never be 100% confident, and you don't want it to be. Forcing a machine to guess on ambiguous cases is how you merge two different people with the same common last name — a far worse failure in a law firm than a duplicate.

So route the uncertain ones to an error queue. A near-match on phone with a different name. A second form fill from an email that already exists. A call from a number attached to two contacts. These get held, flagged, and reviewed by a person every single day. Not weekly. Daily, because intake speed is the whole game and a lead sitting in a queue for four days is functionally a lost lead.

The error queue is the part most firms skip, and it's the part that makes the rest of the system trustworthy. Automation you can't audit is automation you'll eventually stop believing.

3. Assign one owner and make the path auditable

Once identity is resolved, ownership follows it. One contact, one assigned intake person, one active sequence at a time — with sequence enrollment rules that check for an existing active enrollment before starting a new one. And every step should leave a record: what fired, when, why, and which human touched it. When something goes wrong, you want to be able to reconstruct the path in two minutes, not reverse-engineer it from a prospect's angry email.

This is the kind of work that Bosseo's Automation engagements are built around — connecting the intake channels, the CRM, and the case management system so that the same human is the same record no matter which door they walk through, with custom software filling the gaps your off-the-shelf tools leave open.

The metric that proves it worked

Don't measure this with a duplicate count. Duplicate counts drop the moment you turn on a merge job, and nothing about the client experience changes.

Measure lead-to-matter cycle time — the elapsed time from first inbound touch to a signed, opened matter. It's the right proof because duplicates lengthen it in ways nothing else quite does: the handoff confusion, the reply landing on a dormant record, the second call that repeats questions already answered. Clean up identity and that curve tightens, usually faster than any other intake change you can make.

Watch it weekly. Segment it by lead source, because your worst duplicate rates are almost always concentrated in the channels you added most recently. And when a firm tells you its intake team is maxed out, check the cycle time before you hire another coordinator. A meaningful share of the time, the team isn't overloaded with prospects. It's overloaded with copies of them.

Next step

See how Bosseo closes this gap

Book a short call and we’ll show you exactly where the leak is.

Book a Demo

Keep reading

Daily Marketing Tip 042 The Client Journey Doesn't Pause While Your News Post Sits in Review