Importing Contacts From Spreadsheets Without Duplicates

The spreadsheet is where most small businesses keep their history, and it is usually messier than anyone admits: three columns for phone numbers, a notes field containing entire life stories, names in inconsistent case, and forty rows that are actually the same person. Our guide to connecting the rest of your stack to your chat CRM finishes here because a bad import is the one setup mistake you will be paying for two years later.
Clean before you import, not after
It is far easier to fix data in a spreadsheet, where you can sort, filter and bulk-edit, than in a CRM where every correction is a separate record. Spend an hour on the file before it goes anywhere near an import screen.
- Sort by phone number and delete the obvious duplicate rows — the same person entered twice with different spellings of their name.
- Split anything combined: full names into first and last, addresses into their parts, multiple phone numbers into separate columns.
- Delete columns you will never use. A field nobody fills in is a field that makes every contact record harder to read.
- Fix the dates. A CRM expects a consistent format, and a spreadsheet with three of them will silently import a third of them wrong.
Phone numbers are the whole game
In a chat CRM the phone number is not just a field; it is the identity that links a contact to their conversations. If the format is wrong, the import creates a contact that never matches the person messaging you, and you end up with two records for everyone who writes in.
Convert everything to full international format with the country code and no spaces, brackets or dashes. Watch for the classic problems: leading zeros stripped by the spreadsheet, numbers stored as text in some rows and numbers in others, and local formats from a market you have since expanded beyond. If a decent proportion of your list is not in that format, fix it in the spreadsheet with a formula rather than trusting the import to guess.
In a chat CRM the phone number is the person. Get it wrong and you have not imported a customer, you have created a stranger.
— be digital ai team
Map fields deliberately
Import screens offer to map your columns to CRM fields, and the temptation is to accept the suggestions and move on. Read them. A column called "Type" might be membership type, or customer type, or the type of work you did, and the CRM has no way to know which.
Anything that does not fit an existing field needs a decision: create a custom field for it, or leave it out. Dumping it into a general notes box means the information is technically present and practically unusable, because you cannot filter or segment on it — which is the whole point of having it, as covered in custom fields and segmentation.
Import twenty rows first
Never import the whole file first. Take twenty representative rows — including your awkward cases, the person with two numbers, the one with an apostrophe in their name, the international customer — and import those. Then open the resulting records and check every field landed where you expected.
Twenty rows takes five minutes to check and reveals nearly every problem the full file would have caused. Fix the spreadsheet, delete the test contacts, and run the rest.
Decide what happens on a match
The import will find contacts that already exist. Before you start, decide whether the spreadsheet or the CRM wins: overwrite existing values, fill only the empty ones, or skip matched records entirely. Filling only the blanks is the safest default, because it adds information without destroying anything a colleague entered last week.
An import is not consent
This is the part that gets businesses into real trouble. Having someone's number in a spreadsheet does not mean you may message them on WhatsApp, and a marketing broadcast to a freshly imported list is the fastest known route to being blocked and reported at scale.
Import the history so your team has context when the customer writes to you. New contacts arriving afterwards from an ad or a form come with their own consent position, which is covered in from Facebook lead forms to a WhatsApp conversation. Contact people only where you have a lawful basis and, for marketing, a real opt-in — the distinction is set out in WhatsApp opt-in and consent, and the reputational mechanics of getting it wrong are in avoiding WhatsApp bans.
Keep the original file
One more thing worth checking before a big import: if a specialist platform already holds these customers, a live connection like the one in connecting a gym management system to your CRM beats a one-off file. Archive the spreadsheet exactly as it was before the import, with a date on it. If something turns out to have imported wrong three months later, the original is the only way to work out what the value should have been — and it costs nothing to keep.
A 20-minute walkthrough of importing and de-duplicating your contact history in be digital ai.
Book a Demo