Clean CRM contact CSV exports before import
CRM exports often look simple until they are merged into a mailing list, sales sequence, or analytics table. Clean the file first so duplicates, blank records, and inconsistent field names do not spread downstream.
Start with a contact schema
Decide which fields are required before editing values. A typical contact import should have stable headers such as contact_id, full_name, email, company, lifecycle_stage, owner, created_at, and updated_at.
- Normalize headers to one style before mapping fields in the destination system.
- Keep source identifiers whenever they exist; they make future merges safer.
- Do not infer missing emails or names. Leave uncertain values blank and review them separately.
Deduplicate with a clear key
For CRM data, a duplicate row is not always a duplicate contact. Two records can share a company name but represent different people. Use email or source contact ID as the primary key when available.
- Trim and lowercase emails before duplicate checks in your CRM or spreadsheet.
- Review contacts with missing email addresses instead of deleting them automatically.
- Keep one export of removed duplicates for audit and rollback.
Clean status and owner fields
Lead status, lifecycle stage, owner, and region fields are usually used for routing. Normalize spelling and empty values before import so reports do not split the same group across multiple labels.
- Map values such as Active, active, and ACTIVE into one canonical value.
- Turn placeholders such as N/A, null, none, and -- into blank values.
- Validate owner names against a current user list before uploading.
Use the local cleaner
- Paste a CRM export or load the CRM sample on the main tool page.
- Keep trim whitespace, normalize nulls, unique headers, and duplicate removal enabled.
- Run cleanup and inspect changed cells in the preview.
- Download the cleaned CSV and change log before importing into the CRM.
Example review notes
A useful CRM cleanup log should say more than "deduped rows." Record which rule made a row safe to import. For example, "Alicia Tan" duplicated by the same email is an exact duplicate, while two rows at the same company with different emails should remain separate contacts.
- Email: trim spaces and review case differences before using email as a dedupe key.
- Status: convert labels into a fixed list, but do not invent a lifecycle stage for blank records.
- Owner: validate against current CRM users before upload to avoid orphaned leads.
- Consent: keep consent, source, and unsubscribe columns intact when preparing campaign lists.