Data Migration to Salesforce – Challenges, Tools, Cleanup, Quality Measurements and Best Practices

Data migrations play a critical role in Quote-to-Cash (QTC or Q2C) transformation projects.

As a leading CRM platform, Salesforce is often integral to the front end of QTC processes, supporting account and opportunity management as well as quoting/CPQ functionalities. As Salesforce expands beyond its original CRM role with modules such as order management, customer support, and billing, the scope of data migrations extends beyond traditional records like accounts, leads, and contacts.

Compared to relational databases, migrating data to Salesforce introduces unique technical challenges, including its schema structure and API-based operations, which often require specialized tools. These challenges and tools are explored in the following sections.

Data Cleanup

Ideally, data should be cleaned before it is imported into Salesforce. However, in certain situations, it might be more practical to perform data cleanup after the import. Some common reasons include:

  • Ease of Cleanup: Depending on the data sources, it may be simpler or more efficient to clean data directly within Salesforce using tools such as DemandTools or others.
  • Consolidating Data from Multiple Sources: When data is pulled from various sources, using an intermediate staging database might not always be necessary. Importing all data into Salesforce and performing cleanup there can streamline the process.
  • Time Constraints: When meeting a go-live deadline is prioritized over achieving fully accurate data, cleanup tasks can be deferred to post-import stages.
  • Different Data Models: Source data models might not align perfectly with Salesforce’s target data structure. In such cases, additional updates and transformations are often needed after the data is imported.

A hybrid approach can also be effective: clean the data to a reasonable extent at the source, migrate it, and then perform the remaining cleanup directly in Salesforce. This strategy balances accuracy with efficiency and allows teams to adapt to specific project needs.

Progress and Data Quality Monitoring

Data migrations are iterative processes that require consistent monitoring to ensure accuracy and progress. Migration scorecards are an effective tool for this purpose, providing a clear comparison of row counts and data consistency between source and destination systems. For example:

ObjectSource CountTarget (Salesforce) CountDifference
Accounts100991
Contacts789260529
   

For large-scale projects, scorecards often include additional details such as:

  • Per-load Snapshots: Capturing progress and data quality at each stage of the migration.
  • Field-level Breakdowns: Analyzing specific fields (columns) within objects (rows) for discrepancies.
  • Summaries: Including aggregated metrics like billed monthly revenue or the size of the sales pipeline.
  • Error Rates: Monitoring the percentage of records with errors, anomalies, or inconsistencies.
  • Other Metrics: As necessary to suit project-specific goals or challenges.

Establishing success criteria

An essential question when designing scorecards is: What defines success in a data migration? Key considerations include:

  • Accuracy Thresholds: Is 100% accuracy required, or is 99% sufficient? Defining this upfront helps set realistic expectations.
  • Object-specific Rules: Should the same success criteria apply to all objects, or are certain objects more critical than others?
  • Cost vs. Quality Trade-off: What is the cost of achieving perfect data compared to “very good” data? Balancing these factors ensures the migration aligns with project timelines and resources.

By addressing these questions early, teams can align on realistic goals and ensure that the data migration meets business needs effectively.

 

Salesforce Data Mapping Challenges

When migrating data to Salesforce, several platform-specific technical considerations must be addressed to ensure a successful migration:

ConsiderationDescription
Object Ids/Primary Keys

Each row in Salesforce is identified by a unique object id. The ids are always auto-generated and cannot be set by users. As a result, the ids change between subsequent data loads and cannot be used as primary key identifiers for migration.

Possible solutions to the problem include intermediate tables mapping source data to object ids or using source primary keys as external ids in the Salesforce model.

Relations/Foreign Keys

Salesforce object relationships are based on object ids.

As a result, migrating relationships from source data will require mapping involving intermediate tables or external ids.

Record Types

Salesforce record types enable creation of sub-classes of objects with different layouts, action menus, workflows, etc. For example, Customer, Partner and Vendor types can be defined for the account object.

As a result, separate source tables may need to be consolidated into a single Salesforce object during migration.

 

Salesforce Data Upload Tools

Salesforce does not provide direct database access; instead, data must be uploaded using specialized tools. These tools can be categorized as follows:

Tool TypeExamples
Data Loaders

Data loaders are import/export tools and can source data from CSV files as well as databases:

Salesforce as a Database

These tools map Salesforce internal storage to SQL databases:

  • Heroku Connect maps to a PostgreSQL database. It is a native, bulletproof Salesforce product, although it may be considered expensive.
  • Skyvia is a good alternative to Heroku Connect, supporting many database types.
  • CDATA products can map Salesforce to Microsoft SQL Server database and use Salesforce via ODBC.

Using these tools, data loading can be easily implemented in SQL.

ETL connectorsETL (Extract, Transform, Load) tools such as Microsoft SSIS have native or third-party connectors to access Salesforce data.
Custom ToolsFor complex migration logic or highly specialized use cases, custom-developed tools may be required. These tools are tailored to meet unique requirements and can be used alongside or in place of standard tools.
 

Implementing Data Migration

It is important to build the migration process so that:

  1. The process is automated and can be run multiple times.
  2. Data is loaded incrementally.
  3. Records are updated rather than removed and re-created.
  4. Data can be uploaded to multiple Salesforce instances.
  5. A full sandbox is used for development and testing.
  6. A staging database is used for cleanup and data transformation:
Source System(s) → Staging Database → Transform & Cleanup → Upload to Salesforce
 

Conclusions

Data migrations to Salesforce can vary widely in complexity, ranging from straightforward data uploads to large-scale, iterative projects involving automation, staging databases, performance scorecards, and more.

This complexity increases significantly when Salesforce is used beyond its core CRM functions, incorporating modules such as order management, customer support, and other advanced capabilities.

At Nextian, we bring extensive experience in Salesforce data migrations and cleanups, backed by a proven track record of successful projects.

Contact us today to find out how we can help you!

    Thank you for contacting Nextian. Your request was successfully submitted, we will get back to you within two working days.

    BY INDUSTRY

    Cloud Infrastructure Providers

    Cloud Software Companies

    Managed Service Providers

    Communications Service Providers

    BY ROLE

    CEO / Owner

    CRO / VP Sales

    CFO / VP Finance

    COO / VP Operations

    CPO / VP Product

    CIO / VP IT

    Product Management

    Plan, launch and manage your product offerings throughout their entire lifecycle.

    CPQ & Sales

    Quickly create accurate quotes for complex products, subscriptions and add-ons

    Order Management

    Ensure faster, consistent order delivery with tasks, workflows and automation

    Service Management, Support & Monitoring

    Retain and upsell customers with comprehensive account intelligence, support, monitoring, analytics

    Customer Portal

    Empower your customers with 24/7 self-service, support and on-line ordering

    NEXTIAN PLATFORM

    Platform Overview

    Billing Integration

    Network Monitoring Integration

    Reporting & Analytics