Last Updated on July 24th, 2025
Avoiding Duplicates with Record Matching During CRM Migration
There are many cases when your destination CRM already contains data, either partially or fully, for some of the objects from your source CRM. To prevent duplication and ensure a clean migration, our wizard includes a record matching feature. This allows you to align user accounts, companies, contacts, deals, tickets, and custom objects between the source and target systems.
⚠️ Note: We do not recommend matching activities, products, or attachments, as these rarely contain reliable identifiers for accurate matching.
Example Use Case
Suppose you’ve previously imported companies into your target CRM via a native import tool or integration, and saved the original source record ID in a custom field. If you now want to migrate only related records (such as contacts, deals, or activities) without duplicating the company records, you still need to select the "Companies" object at the Entities step of the migration wizard. This is necessary for the matching logic to recognize and link related records correctly.
What the Matching Feature Offers
-
Flexible field selection: You can choose which fields to use for identifying existing records (e.g., email, domain, record ID).
-
Multi-object support: Apply matching rules across users, contacts, companies, deals, tickets, and custom objects.
-
Relationship preservation: Maintain associations between records (e.g., linking contacts to companies or activities to deals).
-
Safe, non-destructive updates: Matched records are not overwritten unless you explicitly choose to update them.
Here are useful UI elements on the matching page
Refresh
When the Refresh button is clicked:
- The current matching data is preserved, and any new records are added to the existing matching.
- The Refresh popup displays the matching rules that were applied to the current matching version. These rules cannot be changed, as the refresh process relies on the active rules.
- The "Refresh cached data" checkbox allows separate settings for the source and target objects. By default, the caches for both objects will be rebuilt during the matching process. You can click the gear icon to disable the rebuild for either the source or target.
- The Refresh process includes an additional sub-process to handle version changes, comparing the active and new matching versions to identify differences.
- After the Refresh, matched records from the previous matching version remain unchanged. New records created on the source/target CRM object since the last match are marked with a "new" tag. Records deleted on the target CRM object or filtered by the migration filter are marked with a "not in target" tag.
Filters
The matching functionality includes the ability to filter matching records based on their status. Users can filter records that have "new" and "not in target" statuses.
Records Summary
A new button has been added to provide a summary of the matching records:
- The button displays the number of "matched" records compared to all ("source") records.
- Additional details can be accessed by clicking the button.
USE CASES
Below you will find two possible scenarios of using records matching in our tool:
If you are sure that all companies from the source CRM exist in the target CRM under the matching IDs, you just need to enable matching and disable migration for the companies object:
When you're ready, click "Next" to proceed.
When accessing the next page (the Wizard Matching step), you will see all entities that require matching. To begin the matching process, matching rules need to be established.
Entities that require rule definition will be flagged for your attention.
As you progress through the matching, we'll also provide you with information about the count of records and the matching status.
To begin the matching process, you'll click on 'Define Matching Rules", then select the fields to use for matching for each object:
Each matching rule will function with an 'OR' operator, whereas the fields within each row will function as 'AND'. Up to five fields per system can be selected within each rule.
Please note: Complex fields (often shown with a '/', such as 'Email/Address' in the image above) include pointers to other fields. If you are choosing to match a complex field, make sure to click into it and select the specific field you'd like to match.
2. If you are unsure and you'd like to bring over all the missing companies, you can enable both matching and migration features for this object:
Match records according to your needs, by selecting options from the drop-down menu. Click the "Next" button:
After clicking the "Next" button, you will be directed to the mapping page:
Once you ensure that everything looks correct, you can then proceed with the sample and full migration!
Still need help?
Please submit an inquiry on the contact page or email support@syncmatters.com.