You're planning a CRM switch. The vendor demo looked clean. The pricing made sense. Then someone asks: what happens to the 12,000 contacts you've been accumulating for seven years? Most teams haven't touched that database since they stopped using the last platform. Duplicates breed. Job titles go stale. Phone numbers disconnect. Three people named Michael Johnson blur into one. And nobody—not a single person on your team—can remember why half the contacts are there. Migrating garbage into a new system doesn't create a fresh start. It just delays the problem. You'll spend the next two years working around bad data, losing deals because you can't segment cleanly, and paying for seats of contacts you'll never touch. The audit is painful. But it's three to five days of work that saves months of friction. Here's how to do it. Step 1: Export everything and count the damage Pull a complete export from your current system. Spreadsheet format is fine—you need to see the full picture at once. Most CRM platforms will give you this without ceremony; if not, it's a sign the vendor makes switching expensive on purpose. Now count: Total contacts. Just the number. No judgment yet. Contacts with duplicate emails. Sort by email and look for repeats. Use a pivot table or just scan—you'll spot patterns fast. Most systems have 35–45% duplication here. Contacts missing email or phone. If you can't reach someone, why are they in the database? Contacts added in the last 90 days. This tells you whether the database is alive or inert. If it's under 5%, your sales team stopped using it months ago. Contacts with empty job title, company, or notes. No context = no use case. This audit usually reveals that 30–50% of your contacts are candidates for deletion. Accept it. They're not an asset; they're clutter. Step 2: Merge duplicates ruthlessly Deduplication is not subtle work. You need rules, not intuition. Exact match on email. If two contacts share an email, keep the record with the most complete data (most fields filled, most recent activity). Delete the other. This alone clears 20–30% of duplicates. Fuzzy match on name + company. Look for variations: "Michael Johnson" and "M. Johnson" at the same company. Same person. Merge. Keep the full name, discard the abbreviated one. This is manual work—there's no perfect algorithm—but it's fast once you have a system. Company + phone only. If two records share a company and phone number but different names, investigate. If you can't tell which is right, keep the one with the most recent activity date and complete profile. Discard the other. What to keep in the merged record: Full name (prefer first name + last name over nicknames or initials) Most recent job title Primary email (mark it as such if your system allows) Primary phone Company and company website Most recent activity date (this becomes a quality flag) All notes and interaction history (append, don't overwrite) If you have 10,000 contacts and 3,000 are duplicates, this step takes two to three days depending on team size. Assign it to someone detail-oriented. It's boring. It's also the most valuable thing they'll do that week. Step 3: Validate and segment by intent After deduplication, you have a cleaner list. Now ask: why is this person in our database? Segment by intent: Active deals or prospects in active sales cycles. These move to your new CRM intact. Tag them clearly. Past customers or closed deals. Keep these, but understand that bulk imports of "past" contacts often bog down pipeline views. Consider archiving them separately or moving them to a historical segment you don't surface in daily sales workflows. Suspects (outreach targets, LinkedIn connections, event attendees). These are valuable for prospecting, but they need validation. Are they the right titles? Right companies? Are they reachable? Dead contacts (no activity in 18+ months, unreachable phone/email, no known use case). Delete. Don't migrate these. If your new CRM has segmentation or pipeline logic , this categorization will make setup much faster. You won't be guessing at what goes where. Step 4: Validate phone numbers and email Bad email and phone data will haunt you. If you use outreach tools, email validation tools, or SMS reminders, invalid contact data will tank your campaign performance. Email validation: Use a service like ZeroBounce, NeverBounce, or Clearout (most cost $0.01–0.03 per email). Feed your list in. You'll get back a status for each: valid, invalid, risky, or unknown. Delete the invalid ones. Review the risky ones manually—some are legitimate alt addresses, others are typos. Phone validation: If you're using SMS or WhatsApp outreach, phone format matters a lot. For SEA markets, make sure numbers are stored consistently: with country code (+65 for Singapore, +60 for Malaysia, +62 for Indonesia) or without. Pick one format and standardize the entire list. Bad phone data kills SMS and WhatsApp workflows. Company and title validation: This is harde