Most CRM migrations run into problems not because the tools failed but because the preparation wasn’t there. A contact import that drops 200 records, a pipeline that’s missing half its deals, a team that doesn’t know what changed and when. These are avoidable if you work through the right checklist before you switch.
This checklist covers everything you should verify, prepare, and complete before migrating to a WordPress CRM. Work through it in order.
Phase 1: Know What You’re Moving
Before touching anything, get a clear picture of your current CRM data.
Free CRM Implementation Checklist
70% of CRM implementations fail. Don't be one of them. Get our 40+ point checklist covering all 5 implementation phases.
Get the Free Checklist- How many contacts are in your current CRM?
- How many deals or opportunities are active right now?
- What custom fields or properties have you created?
- What integrations are connected (email marketing, forms, calendar, invoicing)?
- Who on your team uses the CRM and what do they rely on it for daily?
- Are there any automations, workflows, or sequences running?
- Is there activity history (call logs, email logs, meeting notes) that needs to come over?
Write this down. This inventory is what you’ll check against after the migration to confirm everything made it.
Phase 2: Audit and Clean Your Data
Don’t migrate dirty data. Work through these checks on your export file before importing.
- Export all contacts, companies, and deals to CSV
- Remove test records and placeholder data
- Remove hard bounced and unsubscribed contacts (check compliance requirements for your region)
- Deduplicate by email address, keeping the most complete record for each duplicate pair
- Standardize status and stage field values so they’re consistent across all rows
- Standardize phone number formats
- Standardize country names or codes
- Check for and fix character encoding issues in names with accented characters
- Remove contacts with no email address and no realistic path to using them
- Review custom field data for fill rate and consistency
For a detailed walkthrough of the cleaning process, see the guide on CRM data cleaning before migration.
Phase 3: Map Your Fields
Before importing, create a mapping document that shows where each field from your current CRM will land in your new CRM.
- List every column in your export file
- Identify the matching field in your new WordPress CRM for each column
- For columns with no direct match, decide: create a custom field, convert to a note, or drop the data
- Make note of any field that uses constrained values (dropdowns, picklists) so you can set up matching options in the new CRM
Complete this mapping before you set up your new CRM so you know exactly what custom fields to create.
Phase 4: Set Up Your New CRM
Configure the CRM before importing. Importing into an unconfigured CRM means some data will have nowhere to go.
- Install and activate the WordPress CRM plugin (for example, SkunkCRM from skunkcrm.com)
- Create all custom contact fields identified in your field mapping
- Set up pipeline stages to match the stages in your field mapping
- Configure user accounts for everyone on your team
- Set field options (dropdown values, status options) to match the standardized values from your cleaned data
Phase 5: Run a Test Import
Before importing everything, test with a small batch.
- Create a test CSV with 10 to 20 rows from your full export (keep the header row)
- Run the import using this test file
- Check that all 10 contacts appeared in the CRM
- Verify that each field mapped correctly
- Check that custom fields populated as expected
- Look for any character encoding issues or truncated values
- If anything looks wrong, fix the CSV or the field mapping before running the full import
For detailed steps on preparing your CSV, see the WordPress CRM CSV import guide.
Phase 6: Run the Full Import
- Import contacts first
- Review the results report: note the number of created, updated, and failed records
- Investigate and fix any failures before proceeding
- Import companies (if separate) after contacts are in place
- Import deals and opportunities, linking them to contacts by email
- Import notes and activity history last
Phase 7: Verify the Import
Don’t declare success until you’ve verified the data.
- Pick 10 contacts at random from your original export and compare them against the imported records
- Verify that all custom fields have the correct values
- Search for specific contacts you know should exist to confirm they’re findable
- Check that deal records are linked to the right contacts
- Verify that any pipeline stages show the correct counts
- Run a filter or segment you know the answer to (for example, filter contacts in a specific country) and check the count matches expectations
Phase 8: Update Connected Tools
- Update WordPress contact forms to feed into the new CRM
- Reconnect email marketing tools (Mailchimp, Kit, ActiveCampaign, etc.) if they sync contact data
- Update any calendar or scheduling integrations
- Update any invoicing or payment tools connected to your CRM
- Remove or redirect any old webhook or API connections pointing at your previous CRM
Phase 9: Brief Your Team
- Notify your team of the switch date and what’s changing
- Walk them through the new interface, especially the workflows they use daily
- Set a date when the old CRM becomes read-only (no new data should go in after migration)
- Provide a point of contact for questions during the transition
Phase 10: Decommission the Old CRM
Don’t rush this step.
- Keep your old CRM active for at least 30 days after the migration
- Use it as a reference if any data appears to be missing from the new system
- After 30 days, if everything checks out, cancel the subscription
- Export a final backup before cancellation
- Remove or revoke any API integrations connected to the old CRM
Common Things People Forget
A few items that regularly get missed on CRM migrations:
- Email opt-out status: if you have contacts who unsubscribed, make sure that flag carries over so you don’t mail them
- Team assignments: deals and contacts assigned to specific salespeople need to be reassigned in the new CRM
- Active deals: if you have live deals in your pipeline at migration time, these need priority attention to make sure they come over complete
- Recurring automations: any automated sequences still running on old contacts need to be handled before you disconnect from the old system
The full migration process is covered in the pillar guide on how to migrate to a WordPress CRM without losing data. If you’re migrating from a specific platform, the platform-specific guides for HubSpot and Salesforce cover those exports in detail.
SkunkCRM includes built-in import tools, custom field support, and pipeline management designed for exactly this kind of migration. Start at skunkcrm.com or browse more guides at skunkcrm.com/resources.