CRM Cleanup Guide
How to prepare a contact export so it imports cleanly into a CRM — and how to explain to a client what you did.
Why This Is a Separate Service
A CRM import is less forgiving than a spreadsheet. One contact entered twice becomes two records that sales reps both call. A date the CRM cannot read becomes an empty field. A file that fails halfway leaves the client unsure what went in.
So the job is not only "make it tidy". It is make it match what the CRM expects, and tell the client what will not import.
Every CRM has its own import rules, and they change. Always work from the client's own import template or field list. Do not rely on what you remember about a product.
The Job, Step by Step
1. Get the target. Ask for the CRM's import template or the exact field names, and which fields are required in the client's setup.
2. Agree the duplicate rule. The CSV Cleaner removes a repeated email only when that row adds nothing new. When two rows share an email but differ — a different phone, a different stage — it keeps both and lists them, and you apply the client's rule by hand.
3. Clean. Switch on duplicate removal, Merge duplicate emails, Flag invalid emails, and the phone, date, and name options. If the file has one full-name column and the CRM wants two, switch on Split full name.
4. Settle the dates. If the report says a date column could be read as month/day or day/month, stop and ask the client. The tool leaves those dates unchanged until you choose the order, because a wrong guess silently corrupts every date.
5. Map the columns. Rename the headers to match the template in Excel or Google Sheets. Keep a note of each rename.
6. Mark what will fail. Rows with a missing or invalid email, or an unreadable required field, go in a short list for the client to decide on.
7. Recommend a test import. Ten to twenty rows first. The client checks them inside the CRM, then imports the rest. You prepare the file; they run the import in their own account.
Practice Project: CRM contact export
A CRM export where one contact was entered twice with different capitalization and a different lifecycle stage, one email is incomplete, one domain looks mistyped, and dates are written three ways. Notice that the two Anna rows are both kept: they disagree about the stage, so the tool asks you instead of choosing. Every person and company in this file is fictional.
Open This File in the CSV Cleaner Download the CSV
Before
| First Name | Last Name | Phone | Company | Created Date | Lifecycle Stage | |
|---|---|---|---|---|---|---|
| ANNA | KOWALSKI | Anna.Kowalski@brightpath-example.com | (212) 555-0147 | Brightpath Example Inc | 01/15/2026 | Lead |
| anna | kowalski | anna.kowalski@brightpath-example.com | 212-555-0147 | Brightpath Example Inc | 1/15/2026 | Customer |
| Marcus | Bell | marcus.bell@quillfield-example.com | 646.555.0182 | Quillfield Example LLC | 02/28/2026 | Lead |
| (empty) | (empty) | (empty) | (empty) | (empty) | (empty) | (empty) |
| SOFIA | MARTINEZ | sofia@orchardline-example.com | +1 (718) 555-0105 | Orchardline Example Co | 3/3/2026 | Opportunity |
| Marcus | Bell | marcus.bell@quillfield-example.com | 646.555.0182 | Quillfield Example LLC | 02/28/2026 | Lead |
| James | O'NEIL | james.oneil@hotmial.com | 5550133 | (empty) | 03/19/2026 | Lead |
| priya | nair | priya.nair@tidewater-example.org | 917 555 0168 ext 22 | Tidewater Example Group | March 21, 2026 | Customer |
| Chen | Wei | chen.wei@ | (332) 555-0190 | Wei Example Trading | 04/02/2026 | Lead |
After
Produced by the CSV Cleaner with every option switched on. Run it yourself and compare.
| First Name | Last Name | Phone | Company | Created Date | Lifecycle Stage | email_check | |
|---|---|---|---|---|---|---|---|
| Anna | Kowalski | anna.kowalski@brightpath-example.com | +12125550147 | Brightpath Example Inc | 2026-01-15 | Lead | ok |
| Anna | Kowalski | anna.kowalski@brightpath-example.com | +12125550147 | Brightpath Example Inc | 2026-01-15 | Customer | ok |
| Marcus | Bell | marcus.bell@quillfield-example.com | +16465550182 | Quillfield Example LLC | 2026-02-28 | Lead | ok |
| Sofia | Martinez | sofia@orchardline-example.com | +17185550105 | Orchardline Example Co | 2026-03-03 | Opportunity | ok |
| James | O'Neil | james.oneil@hotmial.com | 5550133 | (empty) | 2026-03-19 | Lead | check domain (did you mean hotmail.com?) |
| Priya | Nair | priya.nair@tidewater-example.org | +19175550168 x22 | Tidewater Example Group | 2026-03-21 | Customer | ok |
| Chen | Wei | chen.wei@ | +13325550190 | Wei Example Trading | 2026-04-02 | Lead | invalid format |
The change report
Practice Project: Webinar sign-up sheet
A sign-up sheet with international phone numbers and day-first dates. Notice that the tool works out the date order from the data, that one local-format phone number is left unchanged for you to review, and that the repeat registration is kept because its date differs. Every person and company in this file is fictional.
Open This File in the CSV Cleaner Download the CSV
Before
| Name | Mobile | Registered On | Country | |
|---|---|---|---|---|
| DUBOIS, Camille | camille.dubois@example.fr | +33 6 12 34 56 78 | 14/03/2026 | France |
| oliver bennett | Oliver.Bennett@Example.co.uk | 0044 7700 900123 | 15/03/2026 | United Kingdom |
| HANNAH SCHMIDT | hannah.schmidt@example.de | +49 151 23456789 | 15/03/2026 | Germany |
| oliver bennett | oliver.bennett@example.co.uk | (empty) | 16/03/2026 | United Kingdom |
| Name | Mobile | Registered On | Country | |
| Lucas Almeida | lucas.almeida@example.com.br | +55 11 91234-5678 | 02/04/2026 | Brazil |
| mei tanaka | mei.tanaka@yaho.com | 090-1234-5678 | 03/04/2026 | Japan |
| (empty) | (empty) | (empty) | (empty) | (empty) |
| Ravi Menon | ravi.menon at example.in | +91 98765 43210 | 2026-04-05 | India |
After
Produced by the CSV Cleaner with every option switched on. Run it yourself and compare.
| Name | first_name | last_name | Mobile | Registered On | Country | email_check | |
|---|---|---|---|---|---|---|---|
| Dubois, Camille | Camille | Dubois | camille.dubois@example.fr | +33612345678 | 2026-03-14 | France | ok |
| Oliver Bennett | Oliver | Bennett | oliver.bennett@example.co.uk | +447700900123 | 2026-03-15 | United Kingdom | ok |
| Hannah Schmidt | Hannah | Schmidt | hannah.schmidt@example.de | +4915123456789 | 2026-03-15 | Germany | ok |
| Oliver Bennett | Oliver | Bennett | oliver.bennett@example.co.uk | (empty) | 2026-03-16 | United Kingdom | ok |
| Lucas Almeida | Lucas | Almeida | lucas.almeida@example.com.br | +5511912345678 | 2026-04-02 | Brazil | ok |
| Mei Tanaka | Mei | Tanaka | mei.tanaka@yaho.com | 090-1234-5678 | 2026-04-03 | Japan | check domain (did you mean yahoo.com?) |
| Ravi Menon | Ravi | Menon | ravi.menon at example.in | +919876543210 | 2026-04-05 | India | invalid format |
The change report
What to Tell the Client
• How many contacts went in and how many came out, and why the numbers differ
• Which rows you could not make import-ready, with row numbers
• Which columns you renamed or added
• That you checked email format only — not whether each mailbox exists
• That you did not touch records already inside their CRM
Templates for This Service
📄 CRM cleanup service description
✅ Delivery checklist
❓ Client intake questions
Related reading: How to clean your CRM data before a migration · Suggested service packages