Business Tech & Tools
How do I import contacts into a CRM without creating duplicate or messy records?
The short answer
Clean and define the data before you press Import. Decide which field identifies one person, which version wins when two records disagree, and which information you will leave behind. Then test with twenty records before you move the whole list.
The dangerous approach is to upload several old spreadsheets and hope the CRM will sort them out. A CRM can match records according to its rules, but it cannot know that “Liz,” “Elizabeth,” and “E. Carter” are the same customer unless you give it a dependable identifier.
Protect the original first
Save an untouched copy of every export and label it with the source and date, such as newsletter-export-2026-09-09.csv. Work on a duplicate, not the only copy.
Record three totals before cleaning:
- number of rows.
- number of unique email addresses.
- number of blank email addresses.
Those counts give you something concrete to compare after the import. If your source contains 842 rows but the CRM reports 611 new or updated records, you need to understand the difference before deleting anything.
Make a field map
List each source column and where it should go. Do not import a column just because it exists.
| Source column | CRM destination | Cleaning rule | Import? |
|---|---|---|---|
Email Address |
Trim spaces and make case consistent | Yes | |
Full Name |
First name and last name | Split manually when the result is clear | Yes |
Status |
Lifecycle or contact status | Translate old labels to approved values | Yes |
Notes |
Notes | Review for private or outdated material | Maybe |
Password Hint |
None | Delete from working file | No |
Keep business facts separate from guesses. “Requested a quote on May 12” is a fact. “Cheap and difficult” is an opinion that does not belong in a customer record.
Pick the matching key before resolving duplicates
For people, email address is often the most practical identifier, but it is not perfect. One person may use two addresses, and two family members may share one. For companies, a website domain may be more dependable than the company name.
HubSpot’s current import instructions say that updating records and avoiding duplicates requires a unique identifier. It accepts record ID or a custom unique field, and also allows email for contacts and company domain for companies. See HubSpot’s import-file requirements.
Create an exception list for records you cannot resolve confidently. Do not automatically merge two people simply because they have similar names.
Decide which value wins
For every important field, set a rule before comparing records. For example:
- newer verified email beats an older bounced address.
- a customer’s own spelling of her name beats an abbreviation.
- a recent opt-out beats every older subscription flag.
- a current signed agreement beats an old spreadsheet label.
- a blank import cell never erases a useful existing value unless that is intentional.
Zoho CRM’s import process offers choices such as adding new records, updating existing records, doing both, or skipping matches. It can match on fields such as record ID or email depending on the module, and it offers an option to avoid replacing existing values with blanks. Review Zoho CRM’s importing instructions for the exact choices in your edition.
Run a twenty-record rehearsal
Your test group should include:
- a completely new contact.
- an exact duplicate.
- a changed email address.
- a blank optional field.
- a shared email address.
- a person connected to a company.
- a contact with notes or activities.
- an unsubscribed contact.
- a name containing punctuation or an accent.
- a record you expect the system to reject.
After the test, inspect the records inside the CRM. Do not rely only on the success message. Check names, ownership, subscription status, source, dates, company connections, notes, pipeline stage, and follow-up tasks.
Reconcile the full import
When the test behaves correctly, run the full import once. Save the CRM’s completion report and error file. Compare the number of new, updated, skipped, and failed records with your starting totals.
Keep a short import log containing the date, source file, matching key, options selected, totals, errors, and person who reviewed it. If something looks wrong, that log helps you undo or correct the work without guessing.
Customer lists can contain personal information and marketing preferences. Keep only what your business needs, limit access, and preserve opt-outs and consent records. The FTC advises businesses to know what personal information they hold, keep only what they need, and restrict access. See its guide to protecting personal information. Privacy and retention requirements vary, so check the rules that apply to your location, industry, and customers.
Sources and further reading
- HubSpot: Format Import Files
- Zoho CRM: Importing Data
- FTC: Protecting Personal Information, A Guide for Business
A free next step
You don't have to build this alone
Bring your questions, share what you're working on, and meet other women building businesses from home. It is free to join.
Related Questions
- How do I use a CRM so I never forget to follow up with a lead?
- When is connecting business email to a CRM useful, and what privacy or duplication problems should I watch for?
- What should I do with leads that never respond after reasonable follow-up?
- Which project-management system fits a one-person business: a task list, Trello, Asana, ClickUp, or something simpler?
