CRM data foundation

Duplicates are a symptom. The disease is uncontrolled record creation.

Every merge tool can collapse two records. The hard part is deciding what a match is, which values survive, and closing every path that keeps creating new copies. That is the work, and it decides whether your CRM stays clean after month two.

Part of one fixed build: $7,500, 21 days, $2,500 back if it isn't running as scoped. Pricing details

Ask yourself

Three questions that usually expose it.

  1. Which system is the source of truth for account ownership, and is that written anywhere?
  2. When two records disagree on a value, who decides which one is right today?
  3. How many processes can create a company record without a human looking at it?

Failure modes

What breaks, and why.

FailureWhat you seeRoot cause
Merges that lose the truthRecords are merged with default rules, so a stale owner or old lifecycle value survives over the correct one.No survivorship policy per field: recency, source priority and 'never overwrite' fields were never defined.
Company duplicates that domain matching missesSubsidiaries, regional domains, rebrands and free-mail signups create parallel accounts.Domain is treated as the only key. Real account identity needs a hierarchy: parent, child and alias domains.
The clean-up that comes backSix weeks after a big dedupe, the duplicate count climbs again.The cleanup fixed records but not creation paths: forms, imports, enrichment writes, integrations and manual entry each create records with their own logic.
Fields that mean five things'Industry' holds free text, picklist values and enrichment output side by side.No data contract: which system owns each field, its allowed values, and who may overwrite it.

First 48 hours

What I check before changing anything.

  • Record creation by source over the last 90 days (form, import, integration, API, manual)
  • Duplicate clusters by match key: email, normalized domain, normalized name plus geography
  • Which duplicates touch open deals or active customers (fixed first)
  • Field fill rates and value variance on the 20 fields reports and routing depend on
  • Every integration or enrichment process with write access, and which fields it overwrites
  • Ownership conflicts: duplicates assigned to different owners

Decisions we make with you

Tradeoffs, written down.

Match key strictness

Strict keys miss real duplicates; fuzzy keys merge different companies. We set confidence tiers: auto-merge high confidence, queue the middle for human review, ignore the rest.

Survivorship per field

Owner and stage follow business rules, contact data follows recency, source fields are never overwritten. Decided in writing before any merge.

Prevent vs. cure

Blocking duplicates at entry frustrates reps; allowing and flagging them creates backlog. We choose per creation path.

Illustrative example · not a real client

A team believes it has a duplicate problem. The audit shows most new duplicates come from one list import routine that creates companies without a domain. Fixing that one path, plus a match rule on normalized company name and country, matters more than any bulk merge.

Want this checked on your own CRM first? Get a free one-page teardown, no call needed.

FAQ

Common questions.

Can a merge be undone if we get it wrong?

Treat it as no. A merge can't be cleanly reversed, which is why nothing is merged until you've signed off the match and survivorship rules, and why we run a reviewed sample first. A full export of every affected object is taken before each batch, so any value can be restored.

Who decides which value survives when two records disagree?

You do, once, in writing. I propose a rule per field (business rule for owner and stage, recency for contact data, never-overwrite for source fields) and the edge cases go to a review queue instead of being forced.

What happens to records that are only maybe duplicates?

They're not auto-merged. Only high-confidence matches merge automatically; the middle tier goes to a review queue with both records side by side, and low-confidence pairs are left alone.

Will this break the integrations or enrichment writing to our CRM?

Not without warning. Before anything changes, I map every process with write access and the fields it touches. Changes to field ownership are agreed with whoever owns that integration, and tested before they go live.

How much of my team's time does the cleanup need?

About an hour a week from one person who knows how you sell, plus quick sign-offs on the rules. Reps keep working normally throughout.

Find out which creation path is producing your duplicates.

Book 20 minutes and bring the CRM up on screen. I reply within 1 business day.

Book a 20-min call