The Merge Duplicates module identifies and merges redundant CRM records. This article covers Insycle's merge logic — including field retention, master record selection, and handling of associated items — and provides an overview of the four-step merge process.
How to Merge Duplicate Contacts, Companies, and Other Record Types
The Merge Duplicates module identifies and combines redundant contacts, companies, deals, custom objects, and other object types. This article explains Insycle's merge logic and provides an overview of the four-step merge process. For a complete configuration reference, see Merge Duplicates Configuration Reference. For a step-by-step walkthrough, see the Bulk Merge Duplicate People and Companies article.
Understanding Insycle's Merge Logic
Data Merge Behavior
When records are merged using Insycle, the properties are consolidated and follow similar logic across all record types on all CRMs:
-
Fields/Property values:
- By default, the value is retained from the master. When a value is empty in the master, it picks a non-empty value from the most recently updated duplicate. All other values are available in the history.
- Multi-select picklist fields: All selected values from duplicate records and the master are automatically consolidated into the master record. For example, if the master record has the value "Newsletter" and a duplicate has the value "Product Updates," the merged record will contain both "Newsletter" and "Product Updates."
- To customize how field data is retained in the master record on a field-by-field basis, use the Field tab under Step 3.
- Associated items: Reassigned from the duplicates to the master.
- Activities (notes, emails, tasks, etc.): Reassigned from the duplicates to the master.
- Attachments: Reassigned from the duplicates to the master. (Note that there may be a short delay before the attachment appears in the merged record.)
See the CRM-specific articles for any further details:
Insycle Merge Process
When merging duplicates, Insycle goes through the following steps for all record types and database types:
- Select the master record according to the rules set in Step 3 on the Master tab.
- Determine field values to retain in the master record based on rules configured in Step 3: Merge Logic, Fields tab.
- For fields without specific rules, identify non-empty values using a "fill in the blanks" method:
- Check whether the master record has any empty fields.
- If empty, copy values from the most recently updated record in the duplicate group.
- Update the master record by:
- Applying the field values chosen in #2 (from Field rules).
- Adding the non-empty values identified in #3 (using "fill in the blanks").
- Preserving all other existing values in the master record.
- Merge the duplicate records and reassign all related objects to the master record.
- Store an audit trail report accessible from the Activity Tracker and send an email notification to the designated recipients.
Fill-in-the-Blanks Data Retention
Though you can create custom data retention rules for any record fields using the Fields tab under Step 3, it is not required. There is no need to create rules for every field in your CRM - Insycle automatically handles fields without specific rules with a "fill in the blanks" approach.
When the master record has empty fields, Insycle copies values from the most recently updated record in the duplicate group where that data exists. For example, if the master record's Industry field is empty but another record in the duplicate group has an Industry value, that value will automatically be copied to the master record.
This means you only need to create custom retention rules for the fields that require special handling, rather than setting up rules for all your fields.
Step-by-Step Process Overview
The Merge Duplicates module follows a four-step process:
Step 1: Find Duplicates
Step 1 is where you define which fields Insycle should examine to find duplicate records, and set the rules for how those fields are compared. Each field you add is cumulative — records must match all of the criteria you specify to be flagged as potential duplicates. For example, matching on First Name AND Last Name AND Phone Number returns only results where all three values are the same.
Step 1 operates through three tabs:
- The Simple tab is where you add matching fields and configure comparison rules, ignored elements, match parts, and conditions.
- The Advanced tab is where you configure Related Fields for any field already added on the Simple tab.
- The Conditions tab is where you set conditions for any field already added on the Simple tab.
A field must be added on the Simple tab before it can be configured on the Advanced or Conditions tabs.
See the Duplicate Identification Rules Reference for a complete breakdown of every option.
Additionally, Step 1 includes a CSV tab that lets you upload a file of known duplicate record ID pairs directly — bypassing field-based matching entirely. See the CSV Tab Reference for details.
Step 2: Review Duplicates
Step 2 displays all duplicate groups identified in Step 1, allowing you to review and verify the matches before proceeding. Records that match your Step 1 criteria are automatically clustered into duplicate groups — each group represents a single entity and shows how many duplicate records it contains. For example, four records for the same person would appear as a single duplicate group containing four records.
Click the chevron at the right end of a duplicate group row to expand it and examine the individual records within that group. You can also add more fields as columns to give yourself further context when evaluating the matches.
To exclude a duplicate group from all future deduplication analysis, click the X on the group row. Excluded groups will not appear as duplicates or be included in merges, even when using different duplicate detection templates. To review and manage excluded groups, click the Exclusions button in the Step 2 header.
Step 3: Merge Logic
Step 3 is where you configure how duplicate groups are consolidated—from choosing your operation mode to defining master selection rules and field retention logic. This step combines operation selection with the merge logic configuration through multiple tabs.
Bulk or Manual Mode
At the top of Step 3, choose between Bulk and Manual modes in the header:
- Bulk mode (recommended) automatically merges all duplicate groups according to the master record selection rules you define in the Master tab. This is the right choice for most deduplication processes, and the only mode that supports templates, Recipes, and automation.
- Manual mode lets you review and select specific records to merge individually from the Record Viewer. Reserve this for high-value records or complex scenarios where you want hands-on control over each merge. Learn more about merging using Manual mode.
Most users should select Bulk mode and proceed.
Step 3 operates through three tabs that work together:
1) Master tab
On the Master tab, you set the rules that determine which record in each duplicate group becomes the master. Insycle evaluates your rules in order from top to bottom, and the first record that uniquely matches a rule becomes the master. If no record matches any rule, master selection fails for that group. See the Master Record Selection reference for a full breakdown of all rules and options.
At the bottom of the Master tab, you'll also configure:
- Processing method — Choose between By Priority (evaluates rules in sequence, stops at first unique match) or Absolute (master must match all rules). Most operations should use By Priority.
- Exclusions — By default, Insycle skips any duplicate group containing more than 5 records—this prevents overly broad matching criteria from accidentally merging unrelated records. You can adjust this threshold up to 100 records per group.
2) Fields tab
The Fields tab lets you control which field values end up in the master record after the merge. By default, Insycle keeps the master record's values and fills any empty fields with values from the most recently updated duplicate. You can override this on a field-by-field basis for any fields that need special handling. See the Field Data Retention Reference for all available criteria and conditions.
3) Method tab (HubSpot & Salesforce only)
The Method tab lets you choose between Native and Synthetic merge logic, and control whether empty master fields are automatically filled. See the Method Tab Reference for details.
Step 4: Review
Step 4 is where you preview and apply your merge changes. It operates in two modes.
Preview Mode generates a CSV report that shows exactly how your records would be merged based on your current configuration — which records become masters, which field values end up where, and whether any errors occur. No changes are made to your CRM. Always run Preview Mode before Update Mode to verify everything is working as expected.
Update Mode applies the merge to your live CRM. Once you've confirmed your Preview results look correct, Update Mode executes the actual merge operations.
When the Merge API is set to Synthetic on the Module tab in Step 3, running in Update Mode displays a Please confirm dialog before the operation begins. This dialog shows an estimated time for the merge based on the number of associations and engagements that need to be reassigned.
Click Yes to proceed.
Processing time for Synthetic merges depends on the volume of associated records and will be longer than Native merges — avoid running multiple operations in parallel on the same database. You can monitor progress in the Activity Tracker.
Advanced Techniques
Select the master record based on email
In HubSpot, the master record always determines which primary email is kept after a merge. If you want to control which primary email address is kept, set up a rule to select the appropriate master record.
Review the email values in Step 2 to identify the criteria, then set up a Master rule in Step 3 to choose the record for each duplicate group based on that criteria.
For example, to select the master based on corporate email addresses over personal ones (like choose the record with john.smith@acmecorp.com over john.smith@gmail.com), configure a master rule:
- Field Name: Email
- Condition: Work domain (non-Gmail, etc.)
Other Example Master Rule Configurations:
- Field Name: Email
-
Condition: Select from the following options based on your business rules:
- Personal domain (Gmail, etc.) — Prioritize personal email addresses; useful when merging consumer contacts or individual leads.
- Not role-based (info@, etc.) — Exclude generic email addresses like info@company.com or sales@company.com to keep only personal contact emails.
- Is / Is not — Match or exclude an exact value. For example, use "Is not" with "noreply@company.com" to avoid selecting automated email addresses as master records.
- Contains / Does not contain — Match or exclude based on partial text. For example, use "Contains" with "@acmecorp.com" to prioritize all company domain emails, or "Does not contain" with "+test" to exclude test email addresses.
- Regex — Use a regular expression pattern for complex matching. For example, use a regular expression (regex) pattern to match emails from multiple specific domains or to identify specific naming patterns.
- Exists / Doesn't exist — Filter based on whether the field has any value. For example, use "Exists" to prioritize records with an email address over those without one.
Retaining Other Email Data
Though you cannot use the Fields rules to control what HubSpot primary email field data is retained, you can set retention rules to copy non-master email values to a different field, such as Additional Email or a custom field.
For example, to preserve non-master email values as backup contact information, configure a field rule:
- Field Name: Additional email addresses
- Criteria: Collect non-master values from
- Other Field: Email
Understanding how master selection works
Insycle evaluates your Master tab rules from Step 3 in order, eliminating records that don't match each rule until only one remains. If multiple records still match after all rules are evaluated, no master can be determined, and the group will show an error in the CSV.
For example, imagine having four duplicate records for the same contact. (In this image, we are examining the records in the Grid Edit module.)
In the Merge Duplicates module, you have configured the first three Master rules based on email engagement metrics, but all four records have identical values of zero, so no records are eliminated. Your fourth rule checks for an active Contact Owner — three records have no owner, so they're eliminated. The one remaining record becomes the master.
This is why rule order matters. Place your most reliably differentiating rules — like record owner, lifecycle stage, or engagement activity — where they're most likely to yield a clear winner. If you're frequently seeing errors in your CSV, revisit your rule order and consider adding a tiebreaker rule, such as earliest Create Date or latest Last Modified Date, as a final fallback.
In this CSV report example, you can see that the one record with an active owner was chosen as the master.
Even though this was the fifth rule, it is the first one that matched only one record:
When Insycle processed the first three rules—Marketing emails clicked, emails bounced, and emails opened—Insycle couldn't eliminate any records because they all had a value of 0.
None of the record email addresses are "role-based," so there isn't a single choice for the master using the Email rule either.
In the next rule about contact owner, there is one record with an active contact owner; therefore, that is the master record.
Explore additional techniques in our Deduplication Scenarios article.
Troubleshooting
If you're not seeing the results you expect when merging duplicates, consider these issues:
Insycle isn't finding any duplicates
Most of the time, when Insycle can't find duplicates, it is due to your matching rules in Step 1. It is important to analyze the underlying data to better understand how to set up your rules. A helpful exercise for contacts is to set up your matching filters to find exact matches on only First Name and Last Name. For companies, you can use Company Name.
When you click Find, these rules can show you a broad overview of what duplicates are potentially in your database and what fields might be useful to include in your matching fields. These settings are just for discovery and should not be used for a final merge operation; many people can have the same first and last names and are not duplicates.
To get further context, on Step 2, click the layout gear button on the right side of the title bar. Here, you can add any field from your database as a column in the duplicate group review to better understand the data in these records. These will also appear in your CSV report.
"Failed" Result in CSV with "Change rules in Step 3 'Master Selection'" Message
If the Result is "Failed" and the Message column of the CSV report displays this text:
Change rules in Step 3 'Master Selection'. Failed to pick master record because multiple records (X) meet the selection criteria. In 'Master Selection', change, add, or reorder the rules such that only one record matches (if cannot determine master based on field values, use 'Record ID is lowest' as the last rule).
This means Insycle could not determine which record in the duplicate group should become the master — none of the records meet more of the rules than the others.
There are a few things you can try to resolve this:
-
Under Step 3, on the Master tab, experiment with reordering or adding rules based on fields that are likely to have unique values across your records. Think about what matters most to your business — the fields that would make one record clearly more valuable or authoritative than another. For example:
- A field that stores an ID linked to an external system, such as an ERP, data warehouse, or proprietary internal tool — the record with that ID populated is likely the one your other systems depend on
- The record with the highest number of associated records (contacts, deals, activities) — indicating it has accumulated more history and relationships
- A field indicating CRM ownership or account status — for example, a record marked as "Customer" vs. "Lead," or one with an active owner assigned
- A field that tracks revenue, subscription tier, or engagement level — the record with higher values may represent the more complete or current entry
- A custom field your team uses to flag record quality or data source reliability
The goal is to surface the fields that reflect record importance for your specific operations, not just default system fields.
-
Also on the Step 3 Master tab, confirm that By Priority is selected rather than Absolute.
With By Priority, a record only needs to match one rule to be selected as master. With Absolute, a record must meet all rule criteria, which makes it much harder for any single record to qualify.
In most cases, By Priority is the right choice. If By Priority is already selected and the error persists, none of the records in the group meet any of the criteria more than the others. Return to the Master tab and continue adding or reordering rules, focusing on the business-critical fields described in #1 above.
- As a last resort, add a rule on the Master tab that uses Record ID is lowest, or Create Date is earliest. These rules will always produce a unique winner, ensuring master selection can complete even when other field-based rules cannot differentiate the records.
Non-duplicate records are being merged together
There are a couple of things to look at that may be causing records to be misidentified as duplicates.
First, you may need a better unique identifier. Under Step 1, if you use only fields that can correctly contain the same values across multiple records, they aren't unique identifiers. In this case, you are likely to identify unrelated records as duplicates and may accidentally merge them.
Unique identifiers are data unlikely to be shared by any other record unless they represent the same underlying entity. Common fields used for deduplication include phone numbers, email addresses, mailing addresses, and ID numbers.
Second, this may indicate the Comparison Rule under Step 1 is too broad. Try using the Exact Match comparison rule instead of the Similar Match rule. Similar Match looks for values that may be close, even with a one-character difference (e.g., a typo), broadening the search.
Remember to always run your deduplication in Preview Mode to confirm it's working as expected before running it in Update Mode and applying the changes to your CRM records.
Not all identified duplicates are merging into the master
You have duplicate records that have been identified by Insycle but not all of them are merging into the master.
Look at the Exclusions at the bottom of Step 3 to see how many duplicates are in the affected duplicate groups. If you have duplicate groups with more than 5 records, you may want to change the Skip duplicate groups with more than [5] records per group setting to ensure you get all of them.
This 5-record default is intended to prevent accidental merging of non-duplicate records when the filter in Step 1 is too broad.
It's taking a long time for Insycle to find duplicates
It can take Insycle a while to find and match duplicates when the fields used to identify them have very long values. The longer the values, the longer it takes Insycle to process the data and generate the results. This might come up when looking for matches based on long ID numbers, LinkedIn bio links, or other URLs with long strings attached (ex, https://www.linkedin.com/in/svadin%C3%ADr-n%C4%9Bmec-1234b31a3/).
You can speed this up by limiting how much of the value Insycle looks at.
If the beginning or ending portion of the values are all unique, you can limit the comparison to the first or last several characters using the Match Parts parameter under Step 1.
Or use the Ignore Text (Substrings) parameter, then click the Terms button.
On the Ignored Text tab of the popup, add the common portion of the URL or text string.
Some fields are missing in the Fields tab dropdown in Step 3
Field rules in Step 3 can only update writable fields. Read-only fields are not shown in the Fields tab dropdown because the CRM prevents these properties from being written back. Insycle excludes them from the field selection options to prevent errors.
While you cannot create field rules for read-only properties in the Fields tab, you can use them in the Master tab. Read-only fields, such as "Last Activity Date," can be used to make merge decisions without attempting to modify those properties.
You can also use read-only properties for filtering and matching in Step 1. Read-only fields are also available when reviewing data in Step 2 or in the CSV report.
To identify which fields are read-only, use the Cleanse Data module. Navigate to Data Management > Cleanse Data, then select a database and record type from the top menu. You can search for a specific field by name or click the Writable heading in the table to sort and review all writable or non-writable fields. A checked box in the Writable column indicates the field is writable.
I get a message to contact Insycle in the Merge Result popup
If you are running a bulk merge operation on custom objects for the first time, you may see the message "Please contact support@insycle.com to enable bulk merge for type: [Custom Object Name]."
By default, you can manually merge custom objects that have been synced with Insycle, but before you can bulk merge duplicate custom objects, they must be enabled for your account. This message indicates the step has not been completed yet.
To enable bulk custom object merging for your account, please contact Insycle support by email at support@insycle.com or via the live chat at the bottom of every page on the Insycle website or in the app.
Learn more about using custom objects and fields in Insycle.
The image below shows the Bulk Merge Result popup showing the "Please contact support@insycle.com to enable bulk merge for type: Custom Demo" message.
For more help troubleshooting issues with Insycle, refer to our Troubleshooting Issues article.
Frequently Asked Questions
Check out the Merging Duplicates FAQ for a complete list of questions about merging HubSpot duplicates.
Additional Resources
Related Help Articles
- Merge Duplicates Configuration Reference
- Bulk Merge Duplicate People, Companies
- Deduplication Best Practices
- Merge Duplicates with Blank Fields
- Manually Merge Duplicates
Related Blog Posts
- HubSpot Deduplication: Merging HubSpot Records
- Salesforce Lead-Contact Cross-Object Deduplication with Insycle
- 9 Ways Duplicate Customer Data Is Impacting Your Bottom Line
- Taming the Two-Way Sync: Preventing Duplicates in HubSpot Before They Sync Into Salesforce
- How to Merge Duplicates in HubSpot and Salesforce and Keep them Syncing