Preparing Your Salesforce Production Environment for Salesforce Data Import
Before you begin any steps to migrate data, you'll have some setup to do in your new Salesforce Production Environment. Some steps you may have already done, but here's a quick guide to ensure you've covered all the major components that will directly impact your CRM data migration.

Salesforce user setup
One of the first things you should do is to setup all of the individuals who need access to your Salesforce CRM. Salesforce has extensive options for setting up users, so you may wish to learn more in detail here. On a high level, you'll want to ensure everyone has a user account created, and that they are assigned the appropriate role and permissions to use the database efficiently.

Adding custom fields in Salesforce
A very important step to prepping your Salesforce production environment for your data migration is to setup all the necessary fields to be able to import all your pertinent business data. Your old CRM database may have standard fields which Salesforce does not, or you may have created custom fields there to house data specific to your business - both scenarios would require you to create custom fields in Salesforce in order to retain that data.

When you create custom fields, it's important to:
- Create them on the correct object (or module). For example, if you have custom fields on your companies/organizations in your old CRM, you'll need to create those fields on Accounts in Salesforce. For more info on Salesforce objects, read here.
- Create the field with the right "type". For example, if your field is formatted as a decimal number in your old CRM database, setup that field as a decimal field in Salesforce.

For a more detailed look, Salesforce has a great guide to custom field setup here.

Customizing page layouts in Salesforce
Salesforce allows you to create page layouts that meet your needs. So, if you want to replicate how your data was laid out in your old CRM database, or create a new and improved view of your records, you can use the Salesforce page editor to decide how you want to view your data. This is the place where you can decide to add any custom fields you've created to your layout, remove unnecessary fields, or rearrange the order of the fields to make your day-to-day work more efficient. You can read more about using the page layout editor here.

Beware restricted and required Salesforce fields
Salesforce has some built-in data quality rules that may apply to your data fields, which you should pay close attention to as you prep for your CRM data migration.

- Picklists: These are a very common source of error during a crm data migration. When you have picklist fields, your incoming data from the import must be an exact match to an option from the picklist, or you will receive an error. There are standard field picklists (see state and country for example), and you may also have created custom field picklists to house your data. Picklists can be restricted, meaning that you must select from an option in the picklist provided; or they can be unrestricted, meaning that you can add additional options as you go.

- Required fields: You may have noticed if you setup custom fields that Salesforce provides the option to make the field mandatory or not. Salesforce has this requirement on some standard fields as well, for example "Account Name". You can view what fields are mandatory when viewing your page layout, denoted by a red asterisk. It's important to note which fields you, or Salesforce, have made required so that you can prep your incoming data if necessary (or make adjustments to the requirements in Salesforce in order to avoid any unnecessary errors during the data migration).

Enable audit fields in Salesforce
If you'd like to retain your records' created and modified timestamps, as well as which user created or modified the record, you'll want to enable audit fields in your Salesforce CRM. Otherwise, when you migrate your data, you will end up seeing that every record was created/modified on the date of the migration, and by the user who performed it.

The steps can be kind of tricky for beginners, as you need to both enable audit fields at an organization level (meaning on a high level, your Salesforce is configured to accept incoming audit field data) and at the individual permissions level, so that the user performing the migration has permission to send data to those fields. You can read here for how to enable audit fields at the organization level, and here for how to setup the profile permissions.

While there are countless other ways to setup and customize Salesforce CRM for your business needs, the items above are the most common to focus on to prepare for a smooth CRM data migration. Feel free to dive in to Salesforce's online documentation to learn more about how you can customize your database, but don't get lost in the weeds too early, or you may find yourself in perpetual setup-mode! Do what you need to prep for the migration, and the rest you can tackle post-migration as needed.