Salesforce Data Migration Best Practices

Editor’s note: This article has been updated for accuracy and comprehensiveness in February 2024.

Over the last two decades, Salesforce has become much more than a cloud-based CRM system. The amount of client data that it houses is increasing exponentially. Developers are integrating and transacting data between Salesforce and other systems more than ever before. Most importantly, more systems are being folded into, and more new customers are using Salesforce daily. Overall, these behaviors and trends mean that more data is being migrated into Salesforce, and architects are required to design far more complex and scalable data models as a result.

Table of contents

  1. Two Common Use Cases for Salesforce Data Migration
  2. Salesforce Data Migration: Business Requirements/Strategy
  3. Salesforce Data Migration: Technical Requirements/Strategy
  4. Salesforce Data Migration Tools
  5. Salesforce Data Migration Checklist
  6. Post-Migration: Ensuring Continuous Improvement
  7. Conclusion
Discover best pricing

Two Common Use Cases for Salesforce Data Migration

Importing Data From Another System to Salesforce

There are a number of reasons to move data from other systems to Salesforce. The first would be simply that the functionality of the other system has been rebuilt inside of the Salesforce platform, and there’s no need to continue using two separate systems. Another reason would be that a business is moving from another CRM solution onto Salesforce and would obviously need to bring their data with them. One further reason is that a business is working in collaboration with another business that doesn’t use Salesforce, and they need to periodically import data from their system.

Real-world example

Our client, Cirrus Insight, an all-in-one sales productivity platform, was looking for an integration solution to have automation between various systems, such as Salesforce, QuickBooks, NetSuite, SQL Server, Stripe, and others. The goal was to make day-to-day data-related tasks automated and stop spending so much money and time on complex integration cases. Data synchronization from Stripe (QuickBooks, NetSuite, SQL Server, and others) with Salesforce customer records and subscriptions was seamlessly provided by Skyvia, improving operational efficiency.

Moving Data From One Salesforce Org to Another

On the other side of the coin, a business may need to move data between two or more different Salesforce orgs. This may be because a larger multi-departmental business operates multiple Salesforce orgs in conjunction with one another and needs to shift data between them. Another example would be that an org’s data model has unfortunately not been designed to be scalable, and the business is no longer able to operate without rebuilding from the ground up in a new Salesforce org. The relevant data should follow them into the new org after it has been cleaned and aligned to the new data model.

Real-world example 

In our case study video featuring Kristi Campbell, Senior Salesforce Administrator at Cirrus Insight, you can find out how Salesforce-to-Salesforce integration was enabled and how Skyvia helped to reduce Salesforce dependency for cost efficiency.

Salesforce Data Migration: Business Requirements/Strategy

Addressing challenges that can arise during Salesforce data migration requires careful planning, thorough testing, and collaboration throughout the migration project. Let’s see the best practices for business strategy in data migration:

  1. Communication is key. Ensure the migration is communicated thoroughly and that all relevant parties are made aware of the upcoming changes. This one is particularly important if there is a major migration taking place — a full import of data from another system or a legacy CRM, and the data migration will have a large impact on multiple teams or business units.
  2. Define the migration scope and budget. Make sure to make a definitive plan as to the exact scope of the migration. If only a subset of data is being migrated, or only a single team’s data will be impacted, this must be communicated. Similarly, larger data migrations can take much time and effort — especially when cleansing larger data sets or merging data from multiple origins. Keeping a Salesforce data migration project within a set budget is important, and this budget should be defined from the outset.
  3. Define the migration timeline. Once your scope has been determined, set a timeline with measurable milestones throughout the migration. Your users need to know exactly when the cutover will be and which system they need to use to perform their ‘business as usual’ tasks. Creating a timeline makes it easier to structure the execution of your data migration, but if those milestone dates need to be changed due to delays or unforeseen issues, don’t be afraid to do so.
  4. Clean your data before migration. Plan for where your data is going, not where it’s coming from – clean it before importing it into your Salesforce environment. Ensuring your data is clean before it is imported means your Salesforce data integrity remains intact, and your users can still get valuable information from your data.
  5. Plan and build the data model. In conjunction with the above point, it may be worth reconsidering your data model before replicating it within Salesforce. The beauty of performing a data migration into a new system is that you have a fresh canvas on which to build. If your data has been getting increasingly more complicated over time, take this opportunity to simplify the model and tidy your data. Ensuring you have a thought-out data model means that your Salesforce org will remain scalable for a longer period of time, which is critical for any growing business.
  6. Validate your migrated data. It’s important to validate your data once it has been migrated into Salesforce. This way, you can ensure it has retained its integrity, especially on key pieces of information such as contact details (like email addresses, phone numbers, etc). Sometimes, things don’t go as planned during a data migration, so you should always spot-check your data afterward.
  7. Clean your data after migration. I know you have already cleaned your data BEFORE migration, but you’ll likely need to do some cleanup afterward. Often, during a migration, you’ll find you have duplicate data as a result of merging more than one data source. Merge these duplicates and tidy up any additional data to ensure that your users have the best experience inside Salesforce.
  8. Celebrate your win. A Salesforce Data Migration is no easy task, so be sure to reward yourself and your team as you hit milestones. Not only is it well deserved, but getting your users excited about the Salesforce system will increase user adoption as they begin to use it.
Automate data routine with Skyvia

Salesforce Data Migration: Technical Requirements/Strategy

Just as there are some important business points that must be considered, the technical requirements of a Salesforce data migration are also imperative. Let’s see in detail what technical challenges may appear and what solutions can be applied.

Data Mapping and Transformation

Mapping fields and data structures from the source system to Salesforce objects and fields accurately can be tricky. Data may require transformation to meet Salesforce requirements.Develop a comprehensive data mapping document outlining field mappings and transformation rules. Utilize data mapping tools and scripts to automate the transformation process.

Data Volume and Performance

Handling large volumes of data efficiently can impact migration performance and lead to timeouts or failures.Implement data chunking or batch processing techniques to break large data sets into smaller segments for migration. Try to use Salesforce Bulk API or Skyvia Salesforce Data Loader for high-volume data migration.

Data Quality and Cleansing

Ensuring data quality by identifying duplicate, incomplete, or inconsistent records before migration.Perform data cleansing activities such as deduplication, validation, and standardization using data quality tools or custom scripts. Establish data quality rules and validation checks to enforce data integrity during migration.

Legacy System Integration

Integrating Salesforce with legacy systems or external databases to extract data for migration.Developing custom integration solutions or utilizing third-party platforms to establish connectivity between Salesforce and legacy systems.

Error Handling and Logging

Managing errors and logging migration activities to track progress and troubleshoot issues effectively.Implement robust error handling mechanisms to capture and log migration errors, including data validation failures and system errors. Utilize logging frameworks or Salesforce debug logs to record migration activities and monitor progress in real-time.

Note! Don’t forget to ensure compliance with data governance policies, regulatory requirements, and data security standards to safeguard sensitive data during migration.

To address these technical challenges, let’s consider the following practices:

  1. Create a data governance plan. There’s no point importing data into Salesforce and spending time and effort cleaning it up if it’s going to fall apart shortly after the data migration. It’s critical to create a data governance plan to ensure that the data is kept clean and valuable to the business on an ongoing basis.
    The data governance plan should detail how data should be managed going forward. Things like how legacy data should be kept in the new environment, how data should be validated before being stored, who is responsible for data cleanliness, etc. These things should all form part of the data governance plan.
  2. Selecting the data migration tool. Select your migration tool wisely. Keep in mind the limitations of each tool, and compare the limitations to the data that you need to import. For example, if you have more than 50k records to import, don’t use the Salesforce Data Import Wizard. Selecting the data migration tool. Select your migration tool wisely.
  3. Identify required or read-only fields. Identify any required fields or read-only fields on your Salesforce objects. It’s important to ensure there is a value against every required field before attempting to import records; otherwise, it will be rejected by the system.
  4. Plan the order of migration. Plan for a correct migration order — if your records require a Master-Detail relationship to be populated, and you haven’t inserted the parent record first, your child records will fail.
  5. Planning the naming convention of labels and API names. When building your data model out, ensure you have a consistent naming convention for your objects’ and fields’ API names. API names are used when writing Apex or building out declarative automations using tools like Flow Builder. Salesforce Best Practice would be to keep the Labels and API names aligned where possible.
  6. Ensure correct date format. Ensure your date values align with Salesforce’s standard date format. You can set your dates using the YYYY-MM-DDThh:mm:ssZ format when migrating data to Salesforce (YYYY = year, MM = month, DD = date, hh = hour, mm = minutes, ss = seconds. T identifies the start of the time, and Z identifies that the standard timezone should be used).
  7. Plan for the inevitable errors. There’s a high chance you will run into some kind of error during your Salesforce data migration. This will likely be due to data not being cleansed properly, or data not being formatted correctly, or a Validation Rule being hit inside of Salesforce. Salesforce Best Practice is to record the error that you receive. This way, you can continue along your original data migration plan as much as possible and tidy up any leftover data at the end, rather than getting stuck at a single point.

Salesforce Data Migration Tools

Salesforce Data Import Wizard

The Salesforce Data Import Wizard is Salesforce’s built in import tool that operates within the Salesforce web app — there’s no need for a software download to use this tool. It works with a number of Standard Objects as well as Custom Objects, and allows up to 50k records to be uploaded at once.

Salesforce API: Apex Data Loader

The Salesforce API offers many different methods to manipulate Salesforce data. Using either the SOAP or REST API, a developer can get, push, update, or delete data from with the Salesforce database. There are applications that make use of the Salesforce API to make it easier for end users to make use of its flexibility – one such manifestation of this is the Salesforce Apex Data Loader.

The Salesforce Apex Data Loader is a free, downloadable piece of software that makes use of the Salesforce API to insert, update, upsert, and delete data from a Salesforce org. There are two main ways to use the Data Loader: through the User Interface (which supports both macOS and Windows), and through the CLI (which supports Windows only).


Skyvia offers Salesforce migration features that make any migration easier. Using the Salesforce Connector in Skyvia, you can enhance your Salesforce data migration plans with the functionality of a powerful cloud-based data platform. If you need to migrate Salesforce data in a CSV format, please use Skyvia Salesforce data loader.

Unlike many other tools, Skyvia is a cloud-based tool that requires little-to-no configuration. This means that you don’t need to download a small software client onto a local computer to run it — simply access it via the web browser. Using Skyvia Import, you’re able to connect Salesforce and other cloud apps or databases and easily migrate data into your Salesforce environment. This could be useful when you’re migrating from another system into Salesforce, or if you need to continually keep importing new data into Salesforce (i.e. new Contacts from a POS system).

Not only can you use Skyvia to import data into one Salesforce org, you can also connect multiple Salesforce environments and transfer data between orgs. Skyvia makes it super simple to perform a Salesforce to Salesforce data migration. Once again, whether this is a once-off migration from one org to another, or you need to keep records in sync between two or more Salesforce orgs, Skyvia makes it easy.

Data Migration and syncing is one thing, but having a complete backup of your Salesforce data is also incredibly important. Skyvia Backup allows you to connect a Salesforce org and back it up prior to a major migration or change. Keeping an ongoing backup of your data is also a Salesforce best practice, regardless of major imports or changes.

Comparative analysis of the tools

Data Migration ToolSalesforce Data Import WizardSalesforce API: Apex Data LoaderSkyvia
Data exportNoYesYes
Data loads scheduleNoYesYes
Records supportUp to 50 000Up to 5 000 000Unlimited
Advanced mapping featuresNoNoYes
Connectivity to File StoragesNoNoYes
Email NotificationsNoNoYes
Support for other data integration scenariosNoNoYes

Situational recommendations for applying each tool

Salesforce Data Import WizardSalesforce API: Apex Data LoaderSkyvia
– Suitable for one-time data integration tasks where automation is not necessary.
– Ideal for scenarios where you need to import a moderate amount of data, typically up to 50,000 records.
– Recommended for straightforward data import processes without complex transformations or scheduling requirements.
– Best for business processes requiring custom object support in Salesforce.
– Suitable for handling large data volumes, supporting up to 5 million records.
– Ideal for scenarios requiring regular scheduling of data imports, such as nightly imports or scheduled updates.
– Recommended for businesses needing automated and scheduled data import processes.
– Suitable for scenarios where data manipulation language (DML) operations with UPSERT functionality are required.
– Ideal for companies requiring data relations and data splitting capabilities for more complex data integration tasks.
– Particularly useful for companies that rely on regular updates and synchronization of Salesforce data with other systems.

Salesforce Data Migration Checklist

Planning is key to almost any major change inside Salesforce, and that includes a Salesforce Data Migration. Below is a simple checklist that you can use to plan out your Data Migration and should start you off on the path of success:

Main Activities

  1. Backup. ALWAYS take a backup before performing any form of data migration. This ensures that even if something goes drastically wrong, the original data remains intact and can be restored. This means that business will continue to run as smoothly as possible, even in a worst case scenario. Skyvia Backup allows you to take a Salesforce data backup with ease.
  2. Sort your data before migrating. Decide on the data that needs to be migrated – be sure to make a note as to where it will come from, where it’s going to, and how to handle any conflicts (i.e., one system should remain the source of truth).
  3. Create your data migration plan. Create a migration plan — specify the order in which each object must be migrated (ie. Accounts before Contacts, Campaigns and Contacts before Campaign Membership).
  4. Create a data migration workbook. Build a data migration workbook that contains a detailed list of the information that is being migrated in or out of the system. This will help keep track and make sure nothing is forgotten or left behind during the migration.
  5. Create a communications schedule. Create a communications schedule for larger migrations. Keep relevant business teams in the loop so they’re aware of changes to their ‘business as usual’ tasks.
  6. Documentation is vital to a successful Salesforce data migration. Be sure to document each and every step before, during, and after the migration. This will ensure that each step is recorded in case there are any discrepancies in the data that aren’t immediately identified. Creating an auditable migration checklist also means that learnings and inefficiencies can be identified before the next migration.

Additional Post-Migration Activities

  1. User training. Conduct training sessions to educate users on navigating the new Salesforce environment and provide hands-on training for using Salesforce features and functionalities relevant to their roles.
  2. End-user feedback. Gather feedback on usability, functionality, and any pain points encountered during daily usage. Use user feedback to make continuous improvements and enhancements to the Salesforce environment.
  3. Performance optimization. Monitor Salesforce performance post-migration to identify any performance bottlenecks or issues. Optimize system configurations, processes, and workflows to improve overall performance and efficiency.

Post-Migration: Ensuring Continuous Improvement

Effective post-migration strategies are essential for ensuring the long-term success and sustainability of your Salesforce implementation. Beyond the technical aspects of data migration, focusing on user adoption and ongoing management is crucial for maximizing the value of your investment and driving business outcomes.

Strategies for user adoption and ongoing management

  1. Offer ongoing education and support resources, such as training materials, documentation, and video tutorials, to reinforce learning and address any new feature updates or changes.
  2. Create friendly competitions or challenges to motivate users to explore and leverage Salesforce features to their fullest potential.
  3. Implement regular data quality checks and audits to identify and address any data issues or inconsistencies.
  4. Stay informed about Salesforce releases, updates, and new features to leverage the latest capabilities and functionalities to benefit your organization. 


Building out a fresh new Salesforce data model or adding to an existing one is only the first step when either performing a full data migration into Salesforce or importing external data into Salesforce. The migration is just as important, and carries a lot of risk with it. For this reason, it’s important to build out your Salesforce data migration plan and checklists properly, and remember to communicate and celebrate your migration plan milestones with users and stakeholders.

Was our article useful? If yes, then please share it on your favorite social media platforms.

Tim Combridge
Tim Combridge
Salesforce Solutions Engineer



Skyvia podcast