Blog

CRM setup and data migration: a plain English guide for small businesses

Moving your contacts and history into a new CRM is one of those jobs that looks simple until you're halfway through it. Here is how to do it without losing data, disrupting your team, or spending weeks cleaning up afterwards.

Working through a software decision? We advise UK small businesses every day. Talk to us →

You have chosen a CRM, or you are at least deep enough into a free trial to know it is the right one. Now comes the part most guides gloss over: getting your data in, getting the system configured, and getting your team actually using it.

This guide walks through the whole process in sequence, from cleaning your data before you import anything, to validating the results afterwards. It also covers the point at which doing it yourself stops making sense and getting professional help pays off.

In this guide

Why CRM setup goes wrong

Most small business CRM projects fail not because of the software. They fail because the data going in is a mess, the system gets configured to mirror old habits rather than improve them, and the team never gets shown how to use it properly.

The result is a CRM that becomes an expensive contact list nobody trusts. Within six months, someone suggests going back to spreadsheets.

Getting the setup right upfront, in the correct order, avoids all of that. It takes longer to do properly, but you only have to do it once.

Step 1: Clean your data before you touch the CRM

This step is the one most businesses skip, and it is the one that causes the most problems later. If you import dirty data into your CRM, you carry every problem forward into the new system.

Before exporting anything from your existing spreadsheets or old CRM, go through your contacts and remove duplicates, fix formatting inconsistencies, delete contacts that are years out of date, and fill in gaps where you can. Pay particular attention to:

  • Duplicate records for the same person or company
  • Contacts with no email address or phone number
  • Inconsistent naming conventions (Ltd vs Limited, for instance)
  • Fields being used for different purposes by different people

Assign one person to own this process. Data cleaning done by a committee produces inconsistent results.

The table below runs through every common data type you will likely import, the issues that typically show up in each, and how to fix them before the import runs.

Data typeWhat it includesCommon issues before importHow to clean it up
People (contacts)First name, last name, job title, personal email, mobile/direct phoneNames crammed into one column, “Mr/Dr” prefixes, inconsistent capitalisation (JOHN SMITH vs john smith), missing first or last nameSplit full names into separate First Name and Last Name columns. Strip titles into their own column. Apply proper case. Every person record needs at least a first or last name, otherwise most CRMs will reject it.
Organisations / companiesCompany name, website, main phone, industry, employee count, parent companySame company spelled five different ways (“Acme Ltd”, “ACME Limited”, “Acme Co.”), trading names mixed with legal namesStandardise to one canonical version per company. Decide upfront: legal name or trading name. Remove Ltd/Inc/LLC inconsistencies. Deduplicate — most CRMs treat organisation names as unique, so duplicates will fail on import.
Email addressesWork email, personal email, generic inboxes (info@, sales@)Missing @ signs, trailing spaces, multiple emails stuffed in one cell separated by commas or semicolons, role-based inboxes mixed with personal onesValidate every email contains an @ and a domain. Trim whitespace. Split multi-email cells into separate columns (Email 1, Email 2). Flag generic inboxes separately — they should not go against a named person.
Phone numbersMobile, office, direct dial, faxMixed formats (07700 900123, +44 7700 900123, (0)7700-900-123), no country code, extensions glued onto the numberPick one format. E.164 (e.g. +447700900123) is safest and universally accepted. Move extensions into a separate column. Remove brackets, dots, and spaces if your CRM is fussy about formatting.
Postal addressesStreet, city, region/county, postcode, countryMulti-line addresses pasted into one cell, missing country, postcode in the wrong columnUse one column per address component (Street, City, County, Postcode, Country). Always populate Country — never assume it.
Tags / segmentsLead source, customer type, lifecycle stage, interestsFree-text tagging gone wild (“hot lead”, “Hot Lead”, “HOT”, one cell containing 15 tags with no consistent separator)Agree a finite tag vocabulary before import. Lowercase everything. Use a single separator (comma or semicolon — check your CRM’s preference).
Custom fieldsAnything industry-specific: contract renewal date, account number, preferred contact methodMixed data types (dates as text, numbers with currency symbols, dropdown values that do not match the picklist)Match each column to a planned custom field type in the CRM. For dates pick one format for the whole sheet. For checkboxes use Y/N or TRUE/FALSE. For dropdowns, every value must match the picklist exactly — no typos, no extra spaces.
DatesBirthdays, contract dates, last contacted, first signed upUK vs US format mixed (01/02/2025 — is that January or February?), Excel auto-converting dates to serial numbers, blank cells entered as “N/A”Pick one supported format (yyyy-mm-dd is unambiguous and universally accepted). Reformat the entire column at once. Replace “N/A”, “unknown”, and “TBC” with blank cells.
Notes and historyMeeting notes, call logs, previous commentsOne giant blob with no dates, multiple notes mashed together, notes attached to the wrong contactUse the separator convention your CRM expects. Be aware: Excel truncates cells at around 32,000 characters, so heavy note histories may need an API import rather than a CSV.
Deals / opportunitiesDeal name, value, stage, expected close date, ownerWon/lost deals mixed with open ones, currency symbols in value columns, stages that do not exist in the new CRM yetFilter to the data you actually need (open deals plus last 12 months of won/lost is usually sufficient). Strip currency symbols — value should be a pure number. Map old pipeline stages to new ones before importing.
Marketing status / consentSubscribed, unsubscribed, bounced, GDPR consent date, consent sourceMissing consent records, blank or ambiguous status, unsubscribes not flaggedNever import unsubscribes as active contacts — that is bad practice and likely illegal under UK GDPR. Confirm consent source and date for each contact. Map statuses to the values your CRM uses (typically Active, Inactive, Unsubscribed, Denylisted).
Record ownershipWhich salesperson or user owns the contact or dealOwner column has full names that do not match CRM usernames, owners who have left the companyUse the CRM’s exact username format (often an email address or handle). Reassign records belonging to ex-staff to a current user or a shared account before importing.
File encodingThe CSV file itselfSpecial characters (accented letters, pound signs, smart quotes) showing as ? or gibberish after importIn Excel, save as CSV UTF-8 specifically — not the default CSV option. File, Save As, CSV UTF-8. In Notepad or TextEdit, save with Unicode (UTF-8) encoding.

Step 2: Map your workflows before configuring anything

Before you open the CRM settings, sit down with the people who will use it and document how your sales and follow-up processes actually work. What happens when a new lead comes in? What stages does it move through? What triggers a follow-up? Who owns what?

This matters because every CRM lets you customise pipelines, fields, and automations. If you configure those based on assumptions rather than your real process, the system will feel wrong to your team and they will work around it.

A few things to map before you configure:

  • Your sales pipeline stages, named as your team actually uses them
  • The custom fields you need that the CRM does not include by default
  • Which tasks or follow-ups you want the CRM to automate
  • Which contacts get tagged or segmented and how

The CRM should be configured to reflect how your team works, not the other way around. For more on what this looks like in practice, the post on CRM support and training for SMEs covers what proper implementation includes.

Step 3: Set up your integrations

Before you import your data, get your integrations working. This means connecting the CRM to your email, your web forms, your email marketing tool, and any other software your team uses daily.

Setting integrations up early matters for two reasons. First, it is much easier to test them on a clean system than after a full data import. Second, some integrations affect how data is structured in the CRM, and you want those structures in place before records start coming in.

Common integrations worth prioritising:

  • Email inbox (Gmail or Outlook) for logging conversations automatically
  • Web forms so new enquiries land directly in the CRM as leads
  • Email marketing tool if you are sending newsletters or sequences
  • Calendar for scheduling and tracking meetings

If you are using Zapier to connect tools that do not have a native integration, set those up and test them before the data migration. Our guide to using Zapier with your CRM walks through how to approach that.

Step 4: Run a test migration first

Do not attempt to migrate all your data in one go without testing first. Export a small, representative sample of around 50 to 100 contacts and import that into the CRM to see what happens.

A test migration tells you whether your field mapping is correct, whether the data formats are compatible, and whether anything is getting lost or garbled in the import. It is far easier to fix a problem on 100 records than to untangle it across 5,000.

Check the imported records manually after the test. Look at a mix of contact types and confirm that every field has landed where it should. If something looks wrong, fix the source data or adjust your field mapping before proceeding.

Step 5: Complete the full migration and validate

Once the test migration works cleanly, you can import the rest of your data. Most CRMs accept CSV imports, and many offer direct import from common platforms like HubSpot, Salesforce, or Pipedrive if you are switching from one of those.

After the full import, validate the results before you let your team in. This does not mean checking every record; it means checking a statistically representative sample across different contact types and making sure:

  • Total record count matches what you imported
  • No fields are blank that should have data
  • Custom fields and tags have come through correctly
  • Any company or deal associations are intact

Validation is not optional. It is the point at which you confirm the migration actually worked, rather than assuming it did.

Step 6: Onboard your team properly

A well-configured CRM with good data in it still fails if your team does not use it consistently. Onboarding is the step that turns a system into a habit.

Do not send a video link and hope for the best. Run a live walkthrough with the people who will use the CRM most, focused on the tasks they will actually do: logging a call, moving a deal through the pipeline, finding a contact, adding a note. Keep it practical and short.

Follow that up with written guidance they can refer back to, specific to your configuration rather than generic help articles from the CRM vendor. Generic articles explain features; your team needs to know how your business uses those features.

Plan for a review session two to four weeks after launch. By then, people will have encountered real situations the initial training did not cover, and you can address those before bad habits form.

When to get help with CRM migration

The DIY approach works well when your data is reasonably clean, your team is small, and your workflows are straightforward. If any of those conditions are not true, the time cost of doing it yourself tends to exceed the cost of getting it done properly the first time.

The situations where professional help is worth it:

  • Your data is in multiple sources and formats that need consolidating before import
  • Your previous CRM does not offer a clean export and needs custom extraction
  • You have complex pipeline logic, automations, or scoring rules to configure
  • You have tried a migration and something has gone wrong that you cannot diagnose
  • Your team is already stretched and a disrupted CRM rollout will cause real commercial pain

We work with small businesses at exactly this point in the process. Whether that is a one-off migration project, full CRM configuration, or ongoing support after go-live, get in touch and we can talk through what would actually help.

For a real-world example of migrating from both spreadsheets and a legacy custom CRM simultaneously, the training operations case study shows how an international training organisation moved to cloud-based Capsule CRM across multiple regions.

For a broader view of what the implementation support process looks like, the post on CRM support and training for SMEs is a good starting point.

TL;DR

  • Clean your data before importing anything. Every problem in the source data becomes a problem in the CRM.
  • Map your actual workflows before touching CRM settings. Configure the system to fit your process, not the default template.
  • Set up integrations before the data migration, not after.
  • Always run a test import first with a small sample. Validate it manually before proceeding.
  • After the full migration, validate a representative sample before opening the CRM to your team.
  • Onboarding matters. A live walkthrough focused on real tasks beats a video link.
  • If your data is complex, your timelines are tight, or your first attempt has not worked, professional help is faster and cheaper than repeated DIY attempts.

We help businesses get CRM setup right

If you are about to start a CRM migration, or you are in the middle of one that has stalled, we can help you get it done cleanly. Get in touch and we will talk through where you are and what needs to happen next.