Deduplicate HubSpot Contacts, Companies, and Deals in Bulk

How to Merge Duplicate Contacts, Companies, Deals, Tickets, or Custom Objects

You have multiple records that represent the same underlying entities in your HubSpot database. These duplicates hinder your marketing team's ability to effectively filter and personalize your communications. Sales teams step on each other's toes and lack vital context in conversations. Support teams miss important information, and analysis and reporting are skewed.

The Merge Duplicates module can identify duplicate contacts, companies, deals, or custom objects and merge them flexibly, in bulk. You set rules for determining the master record that other duplicates will be merged into—such as the first record created, record with the most email opens, or any other field.

Process Summary

  1. Set rules to identify duplicates.
  2. Review and analyze the identified duplicates.
  3. Configure merge logic—choose Bulk mode, set master selection rules, and specify field data retention.
  4. Deduplicate your records in HubSpot.

 

Step-by-Step Instructions

Step 1: Configure Rules to Identify Duplicates

Navigate to Data Management > Merge Duplicates,  pick the object type, and explore the default templates for a pre-built solution.

Set Your Matching Fields

Matching fields tell Insycle which fields to compare across records. When two or more records have the same values in all of your matching fields, Insycle groups them together as potential duplicates.

For example, to find duplicate contacts, you might match on First Name, Last Name, and Email Domain. Records that share the same value in all three fields will be flagged as a duplicate group.

Add a field by clicking + Field. Remove a field by clicking the X at the end of the field row.

  Tip: Choose fields that, in combination, give you high confidence that matched records truly represent the same person or company. A single field like First Name is too broad on its own — different people can share a name. Pairing it with Email Domain or Phone Number significantly increases accuracy. When in doubt, start with Exact Match and fields you're most confident about, then broaden from there.

When you're done, click Find. Insycle will scan your records and generate a list of potential duplicates for you to review in Step 2.

merge-duplicates-contacts-step-1-first-last-email-domain-exact.png

Expand Criteria for Matching Duplicates

After adding fields on the Simple tab, you can use the Advanced and Conditions tabs to further customize your options for the selected fields.

If you'd like to look at the data in two different fields (that contain similar data) as if it were one, you can set up Related Fields under the Advanced tab. For example, you might want to look at both the Email and Additional Email fields for duplicate values.

merge-duplicates-hubspot-contacts-step-1-advanced-first-last-email+additional-646w.png

The Conditions tab provides rules that one or more records in a duplicate group must meet. For complete details, see the Duplicate Identification Rules reference in the HubSpot Module Overview.

merge-duplicates-hubspot-companies-step-1-conditions-tab-company-values-dont-match-646px.png

Not seeing the results you expected? Return to the Simple tab and try loosening your criteria — for example, switching to Similar Match, adding a Related Fields rule, or removing one of your matching fields. For a full reference of all matching options, conditions, and advanced configuration, see the HubSpot Merge Duplicates Module Overview.

The CSV tab lets you upload a list of known duplicate record ID pairs directly into the Merge Duplicates module, bypassing field-based matching entirely. For complete details, see the CSV Tab Reference in the Module Overview. 

merge-duplicates-step-1-csv-tab-646w.png
Step 2: Analyze the Identified Duplicates

After clicking Find, Insycle displays your results as a list of duplicate groups in Step 2. Each row represents a set of records that matched your Step 1 criteria — click the chevron   at the right end of a duplicate group row to expand it and see the individual records.

Spot-Check Your Results

Before moving forward, take a few minutes to review several groups:

  • Confirm the matches are accurate. Open a handful of groups and verify that the records truly represent the same person or company. If you're seeing records grouped together that shouldn't be, return to Step 1 and tighten your matching fields.
  • Look for patterns. Notice which records tend to have the most complete data, the most recent activity, or other valuable attributes. This will inform how you set your master selection rules in Step 3.
  • Start forming a sense of which record should become the master. The master record is the one that survives the merge — all other records in the group are merged into it and removed. Common approaches include keeping the oldest record, the most recently updated record, or the one with the highest engagement.

Here, you can also exclude a duplicate group from all future deduplication analysis by clicking the X on the group row. Learn more about adding and removing duplicate groups from the Exclusions list in the Advanced How-Tos below.

merge-duplicates-hubspot-contacts-step-2-first-last-email-domain-divine-connor-646w.png

Add Columns for Better Analysis

By default, Step 2 displays the fields you used in Step 1. To see more context about your records, click the gear icon icon-gear-18x18.png at the right end of the Step 2 header to add columns.

Consider adding fields like owner, create date, lifecycle stage, or engagement metrics — anything that will help you evaluate which record is the strongest candidate for master. Any fields you add here will also appear in the CSV report generated in Step 4.

merge-duplicates-step-2-gear-arrow-646w.png
Ready to move on? If your duplicate groups look accurate and you have a sense of which records should be masters, proceed to Step 3 to configure your merge logic. If you're still seeing unexpected results, revisit Step 1.
Step 3: Configure Merge Logic

Step 3 is where you define how your duplicates are merged. You'll choose your operation mode, set rules for which record becomes the master, and optionally control which field values are retained after the merge. 

Choose Your Operation Mode

At the top of Step 3, select Bulk or Manual mode:

  • Bulk mode (recommended) — Automatically merges all duplicate groups according to your master selection rules. This is the right choice for most deduplication operations and is required for Templates, Recipes, and Automation.
  • Manual mode — Lets you select specific records to merge one at a time from the Record Viewer. Reserve this for high-value records or complex situations that require hands-on review of each merge.

Most users should select Bulk mode and proceed.

merge-duplicates-hubspot-contacts-step-3-bulk-manual-mode-highlight-646w.png

Set Master Selection Rules (Master Tab)

On the Master tab, define which record becomes the master in each duplicate group. Insycle evaluates your rules in order from top to bottom — the first record that uniquely matches a rule becomes the master.

For example, you might prioritize records with active owners, or select the contact with the highest engagement score, or the company with the most associated deals.

  Use By Priority processing (the default) for most operations. Insycle works through your rules in sequence and stops as soon as it finds a unique match. This is the right approach for the vast majority of deduplication scenarios. The Absolute option — which requires a record to match every rule — is rarely needed and frequently results in no master being identified. Leave it set to By Priority unless you have a specific reason to change it.
merge-duplicates-hubspot-contacts-step-3-record-tab-active-owner-emails-clicked-646w.png

Customize Field Data Retention (Fields Tab)

On the Fields tab, 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 only need to visit the Fields tab if you have fields that require special handling—for example, combining notes from all duplicates, preserving a specific lifecycle-stage value, or retaining record IDs in a custom tracking field. Otherwise, the default behavior is a reasonable starting point for most merges.

merge-duplicates-hubspot-contacts-step-3-fields-tab-owner-phone-state-646w.png

Select Merge Method (Method Tab)

The Method tab lets you choose between Native and Synthetic merge. Most situations should use the default Native merge. Synthetic merge is intended for specific scenarios, such as when the HubSpot-Salesforce sync is enabled. For full details on when and why to use each method, see the HubSpot Merge Duplicates Module Overview.

merge-duplicates-hubspot-leads-step-3-method-tab-native-autofill-on-646w.png

For a complete reference of all Step 3 options — including all master selection criteria, field retention rules, and merge method details — see the HubSpot Merge Duplicates Module Overview.

Step 4: Preview and Run the HubSpot Merge Operation

Before applying any changes to your HubSpot database, Insycle lets you preview exactly what will happen. Always run a preview first.

Preview Your Changes

Under Step 4, click the Review button and select Preview mode.

merge-duplicates-step-4-review-preview-mode-tab-646w.png

On the Notify tab, you can add recipients who should receive the preview report and include any additional context. On the When tab, click Run Now. If you have a large number of duplicate groups, consider limiting the preview to a smaller batch to review more quickly. Then click Run Now to generate the report.

dup8.png

Insycle will email you a CSV report. Open it in a spreadsheet application and review the results. Each duplicate group appears as a set of rows. Look for the Status column to understand what Insycle is planning to do:

  • Duplicate — This record will be merged into the master and removed. 

  • Master — This is the record Insycle selected as the master based on your Step 3 rules. Confirm these selections look correct. 

  • Master (After) — This row shows the field values the final merged record will contain. Review this carefully to confirm your field retention rules are working as expected.

  • Error — Insycle could not determine a master record for this group. See the Troubleshooting section below for next steps.

mceclip4.png

If the preview looks good, return to Insycle and proceed to Update mode. If something looks off, return to Step 3 and adjust your master selection or field retention rules, then run another preview.

Apply the Merge to Your HubSpot Records

When you're satisfied with the preview results, it's time to apply the changes.

Under Step 4, click Review and select Update mode. On the When tab, select Run Now. If this is your first time running this configuration, consider starting with a small batch to verify the results — including association reassignments — directly in HubSpot before processing all records.

merge-duplicates-step-4-review-update-run-now-chunk-646w.png

If the Merge API is set to Synthetic on the Module tab in Step 3, clicking Run Now in Update Mode displays a Please confirm dialog before the operation begins. This dialog shows the number of records being merged and an estimated time for the operation.

Click Yes to proceed. 

Processing time for Synthetic merges depends on the volume of associated records and complexity of data to be reassigned; it will be longer than for Native merges — avoid running multiple operations in parallel on the same database. You can monitor progress in the Activity Tracker.

merge-duplicates-step-4-review-update-mode-please-confirm-popup-646w.png

Once you're confident in the results, you can run the full operation.

Next Steps: Save, Automate, and Schedule

Once you've confirmed that your merge operation is working as expected, you can save your configuration and set it up to run automatically — so your HubSpot data stays clean without manual effort.

Save Your Configuration as a Template

Return to the Template menu at the top of the page and click Copy to save your current configuration as a new template. Click the pencil icon to give it a meaningful name.

Saving as a template preserves all of your Step 1 matching rules, Step 3 merge logic, and notification settings so you can reuse or refine them later.

save-template-copy-and-rename.png

Learn more about Templates.

Set Up Automation

Under Step 4, click the Review button, and select Update mode. On the Notify tab, choose the send option appropriate for your needs — Always send, Send when errors, or Do not email — and confirm your recipient list.

On the When tab, select Automate and configure how frequently you'd like the operation to run. Click Schedule when finished.

merge-duplicates-step-4-review-update-automate-daily-646w.png

You can view and manage all scheduled Automations at any time from the Operations > Automations page.

Learn more about Insycle automation.

Bundle into a Recipe

When you have multiple templates that work reliably together — for example, separate templates for contacts, companies, and deals — you can combine them into a Recipe. A Recipe runs your templates in sequence, in the order you define, on a consistent schedule.

recipe-templates-2-deduplicate-contacts-basic-646w.png

To trigger a Recipe from a HubSpot Workflow, set it to Execute as HubSpot Workflow Action. This allows you to incorporate Insycle deduplication directly into your HubSpot automation processes.

recipe-review-update-automate-hubspot-workflow.png

Learn more about Recipes and integrating Recipes with HubSpot workflows.

Need More Control Over Which Records Are Merged?

If your scenario requires selecting specific records to include or exclude that can't be handled with matching rules alone, you have three options: 

To handle this in bulk, you can upload a CSV file of known duplicate record ID pairs directly into the Merge Duplicates module using the CSV tab in Step 1. For more complex scenarios — such as designating master records or excluding specific records using custom attributes — you can use the Magical Import module in combination with Merge Duplicates. Learn how to customize merging duplicates in bulk using a CSV

To handle records one at a time, use Manual mode in the Merge Duplicates module. Learn more about merging duplicates in Manual mode.

Tips for Better Results

Use a filter to work with a subset of your data

If your database is large or you're getting an overwhelming number of duplicate groups, use the Filter button in Step 1 to narrow down the records Insycle analyzes. Filtering to a subset — for example, contacts created in the last 30 days, or companies in a specific region — makes it easier to validate your configuration before running it across your full database. A filtered dataset also processes faster.

To add a filter, click the Filter button in Step 1, choose a field, select a condition, and set a value. The filter is applied before the matching step runs.

dup10.png

Most of the options in the Field dropdown match the fields that are found in your HubSpot records, and for contact records, there are three additional options related to the Email value: 

  • Email Username: The portion of the email address before the “@.” For example, if the email address were “maria@acmewidgets.com,” the username value would be “maria.” 
  • Free Email Provider Domain: Choose True to filter out records where the email domain is Gmail, Hotmail, Yahoo, or any of about 10,000 other free email providers. This filter helps ensure these are real clients, or can determine which record is the legitimate one, because it’s most likely that customer companies aren't using free Gmail accounts (though a contact may have accidentally emailed us from one at some point). 
  • Email Top-Level Domain: The top-level domain (TLD) is everything that follows the final dot of a domain name. For example, in the domain name acmewidgets.com, '.com' is the TLD. Some other popular TLDs include '.org', '.uk', and '.edu'. 
Start narrow, then broaden

When setting up your matching fields for the first time, start with your highest-confidence criteria — fields that, together, are very unlikely to match unless the records are true duplicates. Exact Match on email address plus first and last name is a reliable starting point for contacts. Domain Name is a strong starting point for companies.

merge-duplicates-hubspot-companies-step-1-similar-name-domain-exact-phone.png

Once you're confident your configuration is catching true duplicates without pulling in false positives, you can broaden your criteria — for example, by adding Similar Match to catch typos and slight variations: 

merge-duplicates-hubspot-companies-step-1-comparison-rules-646w.png

Or, by using Related Fields to compare values across two fields that contain similar data (such as Email and Additional Email).

merge-duplicates-hubspot-contacts-step-1-advanced-first-last-email+additional-646w.png
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.)

mceclip11.png

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.

merge-duplicates-hubspot-contacts-step-3-master-tab-6-rules.png

In this CSV report example, you can see that the one record with an active owner was chosen as the master.

mceclip13.png
Exclude duplicate groups from deduplication 

By default, all duplicate groups identified in Step 1 are candidates for merging. If there are specific groups you want to permanently prevent from being merged — regardless of which matching rules or templates you use — you can add them to the Duplicate Groups Exclusion List directly in Step 2.

To exclude a duplicate group:

In Step 2, click the X on a duplicate group row. The group will be added to the Exclusion List and will no longer appear in duplicate analysis or be included in merges, even when using different duplicate detection templates.

merge-duplicates-hubspot-contacts-step-2-exclude-group-button-646px.png

To review and manage excluded groups:

Click the Exclusions button in the Step 2 header. This opens a dialog showing all excluded groups. 

merge-duplicates-hubspot-contacts-step-2-header-exclusions-button-646px.png

You can expand each group to view the individual records and their values, and use the Layout tab to configure which fields are displayed. To remove a group from the Exclusion List, click the X next to it — those records will once again be considered during duplicate analysis.

merge-duplicates-hubspot-contacts-step-2-manage-exclusions-popup-remove-exclusion-646px.png

Important considerations:

  • Exclusions apply to the entire duplicate group and cannot be applied to individual records within a group. If a group contains some records that are not actually duplicates, use Manual mode in Step 3 and uncheck the records that should not be merged.
  • Exclusions are based on a specific set of record IDs. If a new duplicate record is later added to your CRM, the system may detect a new group containing that record alongside previously excluded records. Because the group now includes a different set of record IDs, it will appear again during duplicate analysis and can be evaluated or excluded as needed.

For more advanced approaches to merging duplicates, refer to our Deduplication Scenarios article.

HubSpot Specific Considerations

Supported HubSpot Object Types

Insycle supports merging the following HubSpot object types:

  • Companies
  • Contacts
  • Courses
  • Deals
  • Leads
  • Line Items
  • Listings
  • Orders
  • Tickets
  • Custom Objects
Insycle <> HubSpot Merge Logic

When you merge HubSpot records using Insycle, properties are handled in the following way:

Contacts

  • Record ID: A unique Record ID is created for the new resulting merged record.
  • Email address: The email address from the master record becomes the primary, and the duplicate email addresses are added as additional email addresses.
  • Fields/Property values: 
    • To customize how field data is retained in the master record on a field-by-field basis, use the Field tab under Step 3.
    • 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. 
    • Certain specific fields are uniquely handled by HubSpot. These will trigger special messages in the CSV that indicate how values are retained. See the table "Special CSV messages for select HubSpot contact fields" below for details.
  • Associated deals, contacts, companies, and any other objects: 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.)

Companies

  • Record ID: The Record ID from the master record is kept when HubSpot-Salesforce sync is enabled (uses Synthetic merge by default). Otherwise, a unique Record ID is created (uses Native merge by default).
  • Domains: Copied from the duplicates into the master and appended as secondary domains to avoid future duplicates with the same domain.
  • Fields/Property values: 
    • To customize how field data is retained in the master record on a field-by-field basis, use the Fields tab under Step 3.
    • 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.
  • Parent company associations: If you don't configure this field in Step 3 on the Fields tab and the master record has no parent company, Insycle automatically keeps the parent company from the most recently modified duplicate record that has one. To override this behavior, configure the Parent Company field on the Fields tab of Step 3.
  • Associated deals, contacts, companies, and any other objects: 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.)

Courses, Deals, Leads, Line Items, Listings, Orders, Tickets, and Custom Objects

  • Record ID: A unique Record ID is created for the new resulting merged record (uses Native merge by default). When using Synthetic merge, the Record ID from the master record is kept.
  • All other properties, apart from Domain, follow the same merge logic as company records.

Learn more about HubSpot's merging behavior.

Special CSV messages for select HubSpot contact fields

When you include certain fields in Step 3, Master rules, a special message will appear in the Master (After) row of the CSV. These fields do not follow the standard merge logic, and the message lets you know how HubSpot will choose the value. This applies to the following fields:

Field Master (After) message
Lifecycle Stage Stage furthest down the funnel
Number of Form Submissions Added together with the values for each contact
Number of Unique Forms Submitted Added together with the values for each contact
Marketing contact status Most marketable status is kept
Number of Pageviews The total number of page views for both contacts combined
Original Source The oldest value for the original traffic source property is kept unless the source has been manually updated. In that case, the manually updated value will remain.
Legal basis for processing contact data The most recent values from both contact records are kept

See HubSpot's contact merge exceptions info to learn more.

Insycle Merge Process

When merging HubSpot records, Insycle goes through the following steps:

  1. Select the master record according to the rules set in Step 3: Merge Logic, Master tab.
  2. Determine field values to retain in the master record based on rules configured in Step 3: Merge Logic, Fields tab.
  3. 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.
  4. Update the master record by:
    • Applying the field values chosen in #2 (from Field rules).
    • Adding the non-empty values identified in #3 using the "fill in the blanks" approach (unless this is disabled on the Method tab).
    • Preserve all other existing values in the master record.
  5. Merge the duplicate records and reassign all related objects to the master record.
  6. Store an audit trail report accessible from the Activity Tracker and send an email notification to the designated recipients.
Native Merge vs. Synthetic Merge

There are unique features and applications for HubSpot's Native merge functionality compared to the Synthetic merge capabilities provided by Insycle. While both methods may be available for most object types, the default method varies. This option is available on the Method tab under Step 3.

  Native HubSpot Merge Insycle’s Synthetic Merge
Availability This is the default option for all object types except companies when the HubSpot-Salesforce sync is enabled Available for all object types except contacts. This is the default for companies when the HubSpot-Salesforce sync is enabled.
Merge Logic Uses HubSpot’s built-in merge logic Insycle’s customizable merge logic
Record ID A unique Record ID is created for the new resulting merged record The Record ID from the master record is kept. There is no new record
Associated Leads on Companies When merging companies, associated leads from the duplicate companies will appear in the master company after the merge. When merging companies, Insycle automatically recreates leads from the duplicate companies and associates them with the master company. These new leads retain the same name, type, stage, and owner. Learn more
Track Changes In HubSpot: Record Activity tab for merged events and IDs
 
In HubSpot: Custom Insycle Run ID fields or Merged Record ID fields
In Insycle: Activity Tracker and reports
 

When to use the synthetic merge:

  • Record ID: When you want to retain the master record and record ID instead of creating a new record.
  • Salesforce Integration: To merge companies when the Hubspot Salesforce integration is enabled.
  • Parent-child relationships: If you have complicated parent-child associations that aren’t merging properly, synthetic merge can automatically handle reassigning relationships.
  • 250+ duplicates: HubSpot limits the number of duplicates that can be merged into a single record to 250. Synthetic merge lets you bypass this cap.
  • Revert: If there's a chance you want to unmerge records. Learn how to partially restore merged duplicates and undo the changes to the master records.

  Note that due to its complexity, the Synthetic merge may take longer to run than the Native merge. 

Merging Child or Parent Companies While Retaining Associations

When deduplicating child/parent companies in HubSpot, Insycle can detect even the most complex company hierarchy associations, ensuring that the correct child company master records are associated with the correct parent company master records after the companies are merged.

Parent Company Retention: During the merge, if a duplicate company has a parent company and the master company does not, Insycle keeps the parent company from the most recently modified duplicate that has one and applies the Parent label.

Customizing Parent Company Selection: To control which parent company value is retained, configure the Parent Company field in Step 3 on the Fields tab. You can choose to keep the master's value even if empty, select from a record that has a parent company, or base the selection on other field criteria.

merge-duplicates-hubspot-companies-step-3-fields-tab-parent-company-646w.png
Insycle Run ID Property in HubSpot

When working with HubSpot, for every Insycle operation that updates or creates a record, the Run ID will be updated in the custom property, Insycle Run ID

hubspot-contact-property-history-insycle-run-ID.png

If the Insycle Run ID doesn't already exist in your HubSpot database, add it as a custom property with the label "Insycle Run ID" to each object type as needed. 

This object label is the only requirement for the integration to work properly. It's not dependent on the internal name or underlying API field name.

hubspot-contacts-custom-property-insycle-run-ID.png

When using an Insycle Recipe that includes templates for more than one object type, such as companies and contacts, the same Run ID will appear in both HubSpot records.

Troubleshooting

If you're not seeing the results you expect when merging duplicates, consider these issues:

Not all identified duplicates are merging into the master

You have duplicate records identified by Insycle, but not all are merging into the master. Check how many duplicates are in the affected groups. If you have duplicate groups with more than 5 records, you may want to change the Exclusions value at the bottom of Step 3 on the Master tab: Skip duplicate groups with more than 5 records per group to ensure you can get them all.merge-duplicates-hubspot-contacts-step-3-master-tab-exclusions-w-arrow-646w.png

This setting is intended to prevent overly broad matching criteria from accidentally merging unrelated records. You can adjust this threshold up to 100 records per group.

"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).

merge-duplicates-salesforce-accounts-csv-w-error.png

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:

  1. 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.

  2. 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.

    merge-duplicates-step-3-by-priority-match-w-arrow-646w.png

  3. 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. merge-duplicates-hubspot-contacts-step-3-master-tab-last-resort-rules.png
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.

merge-duplicates-intercom-step-1-name-only-646w.png

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.

Insycle isn't finding any duplicates

Most of the time, when Insycle can't find duplicates, it's because your matching rules in Step 1 aren't set correctly. However, before making any changes, verify that the fields you're using for duplicate detection are properly synced between HubSpot and Insycle.

First, check field synchronization. 

Go to Settings > Fields and make sure the Sync toggle is enabled (yellow), or the Automation box is checked for all fields you're using in Step 1.

Then, analyze matching rules. 

To analyze the underlying data and better understand how to set up your rules in Step 1, a helpful exercise is to configure your matching filters to find exact matches for only First Name and Last Name. Or for companies, you could use company name.

step-1-fname-Lname-only.png

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 intended for discovery purposes only and should not be used for a final merge operation, as many individuals may share the same first and last names without being duplicates. 

For more context, in Step 2, click the icon-gear-18x18.png 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.

merge-duplicates-step-2-gear-arrow-646w.png
Fields I need for matching or data retention are missing or not working

If you're having issues with your HubSpot properties missing or not working as expected during merge duplicate operations, it could be due to field inclusion settings or read-only fields.

Common symptoms:

  • Fields you want to use for duplicate matching in Step 1 don't appear in the field dropdown
  • Filter values are empty when you know the field contains data
  • Master selection rules in Step 3 aren't working as expected
  • Field retention rules in Step 3 aren't finding the data you expect
  • Duplicates aren't being identified when using certain fields for matching
  • A field appears in some dropdowns but not in the Fields tab under Step 3

Issue 1: Field Inclusion Settings

Fields must be included in your Insycle dataset to be available throughout the application.

To check and enable field inclusion:

  1. Navigate to Settings > Fields
  2. Select your database and object type from the top menu
  3. Use the search to find the field you need
  4. Verify that the Included toggle is enabled (yellow = on, grey = off), or the Automation box is checked
  5. If not, toggle the Included control to the 'On' position

  Note: Field inclusion changes typically take effect during the overnight data sync process. If you need immediate synchronization of newly included fields, contact Insycle support to trigger a full sync. You must have an Admin or Owner user role to manage field inclusion. 

Learn more about managing the HubSpot fields included in Incycle.


Issue 2: Read-Only Field Restrictions

If a field is included but still doesn't appear in the Fields tab under Step 3, it may be a read-only field.

Field rules in Step 3 can only update writable fields. Read-only fields are not shown in the Fields tab dropdown because HubSpot prevents these properties from being written back. Insycle excludes them from the field selection options to prevent errors.

Where you CAN use read-only fields:

  • Master tab (Step 3): Use read-only fields like "Last Activity Date" to make merge decisions without attempting to modify those properties
  • Step 1: Use for filtering and matching duplicates
  • Step 2: Review data in the Record Viewer
  • CSV reports: Include as columns for analysis

Where you CANNOT use read-only fields:

  • Fields tab (Step 3): Cannot create field retention rules for read-only properties

To identify which fields are read-only:

  1. Navigate to Data Management > Cleanse Data
  2. 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
  3. A checked box in the Writable column indicates the field is writable; an unchecked box means it is read-only
cleanse-data-salesforce-contacts-date-fields-writable-column-arrow-646px.png
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

merge-duplicates-linkedin-URL-step-1-match-parts-last-9-chars-646w.png

merge-duplicates-linkedin-bio-step-2-last-9-chars.png

Or use the Ignore Text (Substrings) parameter, then click the Terms button.

merge-duplicates-linkedin-URL-step-1-ignored-text-terms-button-646w.png

On the Ignored Text tab of the popup, add the common portion of the URL or text string.

merge-duplicates-linkedin-URL-step-1-ignored-text-popup-646w.png

Getting error: Cannot merge object...has more than 250 objects merged...

If you see the following error for a HubSpot record after you run an operation:

“Cannot merge object [ID] in portal [ID]. It already has more than 250 objects merged into it.”

This suggests that too many duplicates are trying to merge into a single record.

What’s Happening

HubSpot enforces a strict limit on merges. A contact, company, or deal cannot have more than 250 merged records associated with it. HubSpot tracks all previous merges using the read-only property called Merged Record IDs. When a record has already reached (or will reach) 250 merged items, HubSpot blocks any further merges. There is no way to clear or edit this field, or to bypass the limit in the HubSpot app.

Solution

As a workaround, you can switch to Insycle’s Synthetic Merge. In the Merge Duplicates module, go to Step 3 and select the Method tab. Switch the Merge API option from Native to Synthetic. If this is a template, don't forget to save. 

For more details, refer to this Native Merge vs. Synthetic Merge info.

merge-duplicates-hubspot-step-4-method-tab-synthetic-646w.png

For more help troubleshooting issues with Insycle, refer to our Troubleshooting Issues article.

Frequently Asked Questions

How do I ensure the merged record maintains an active owner?

Currently, neither HubSpot nor Salesforce provides an automated way to prioritize active owners during the merge process. You'd need to verify owner status manually for each merge operation.

However, Insycle's Merge Duplicates module includes an option to prioritize an active owner. 

First, you could add a Master rule under Step 3 to tell Insycle to select the record from each group with an active owner as the master record.

Add a rule with the following parameters:

  • Field: Record owner
  • Condition: active user

merge-duplicates-hubspot-contacts-step-4-record-tab-active-owner-646x247.png

Second, you could create a Field rule to retain the owner who is an active user.

Add a rule with the following parameters:

  • Field: Owner
  • Criteria: From record where value
  • Condition: active user

merge-duplicates-hubspot-contacts-step-4-fields-tab-active-owner.png

How do I ensure that I am not merging non-duplicate records together?

There are two ways to ensure the records you are merging are indeed duplicates.

First, always run your deduplication templates in Preview Mode before running them in Update Mode. This produces a CSV file showing how your records would have been merged. Then you can ensure that your Merge Duplicates template is working as expected and not merging non-duplicate records together.

Additionally, to ensure a smooth merge, consider narrowing the matching settings in Step 1. Try the Exact Match Comparison Rule instead of Similar Match. Then make sure that you are using actual, uniquely identifying fields—first name, last name, email, and phone number are popular choices. The more tightly defined your filter is, the less likely you are to merge non-duplicate records.

Why are my duplicate counts different between HubSpot and Insycle?

The discrepancy in duplicate numbers between HubSpot and Insycle is due to their fundamentally different approaches to identifying duplicates.

HubSpot's approach:

  • Uses AI models for duplicate detection
  • May consider a broader range of factors and patterns
  • Results can be less predictable and may change over time as the AI model evolves

hubspot-merge-duplicates-number-of-duplicate-contacts.png

Insycle's approach:

  • Uses a defined, deterministic method
  • Based on specific rules and criteria set by the user
  • Using templates, results are consistent and reproducible

merge-duplicates-hubspot-contacts-step-2-number-of-duplicates.png

Because of these different methodologies, the numbers will never be exactly the same between the two systems. However, you can make this difference work for you by using both systems together to create a more comprehensive duplicate detection strategy.

To better understand and leverage these differences:

  • Explore the properties of the duplicates found by each system
  • Look for patterns in the discrepancies
  • Experiment with your Insycle template settings to see how they affect the results

Learn more about Why Duplicate Counts Differ Between HubSpot and Insycle and the best scenarios to use the unique features of each or use both systems together.

My merged records are not being enrolled in a HubSpot Workflow. Is this intentional? How can I change this?

By default, when two contacts are merged in HubSpot, Workflows will not enroll merged contacts. However, merged contacts can enroll in the future if re-enrollment is enabled and they meet the enrollment triggers. 

In contact-based workflows, you can manage the enrollment of merged contacts, remove contacts that no longer meet enrollment criteria, and prevent enrollment of contacts in specific lists. To learn more, see HubSpot's workflow documentation.

I have a list of duplicates I need to merge. Can I deduplicate them using Insycle?

Yes. You can use an existing list of duplicates with Insycle to deduplicate it in bulk, following these steps:

  1. Prepare a CSV file with columns for the record IDs and a "Merge Master" column. In the "Merge Master" column, mark which record should be kept after merging.
  2. Create a custom field called "Merge Master" in your CRM.
  3. Use the Magical Import module to import your CSV file into the CRM, updating the "Merge Master" field for the relevant records.
  4. Go to the Merge Duplicates module and set up a filter to select records based on the "Merge Master" field.

Learn more about deduplicate records using a CSV.

Can I select which data is retained in my master record on a field-by-field basis?

Yes, Insycle allows you to select which field data to retain in the master record using the Fields tab in Step 3. See the Merge Duplicates module field data retention rules reference for more details.

merge-duplicates-hubspot-contacts-step-3-field-tab-donated-owner-phone-lifecycle-IDs-646w.png
I used the “From master record (even empty)” retention rule. Why does HubSpot say Insycle deleted it?

When merging HubSpot contact records using the “From master record (even empty)” data retention rule, the property history in HubSpot shows that Insycle set the value to “empty.” This is a nuance of how HubSpot manages the history of empty values. You can verify that the master record value before the merge was indeed empty by reviewing the Activity Tracker report in Insycle.

Some of my HubSpot duplicates have attachments, will these be preserved?

Yes, if your HubSpot objects have attachments, the attachment will be merged into the master record. Note that there may be a short delay before the attachment appears in the merged record.

Can Insycle merge duplicate HubSpot contacts when one is enrolled in a sequence?

Yes. Insycle can merge duplicate contacts even if one of the records is enrolled in a sequence, even though HubSpot's native merge tool does not support this scenario.

In HubSpot, the merge option is disabled if one of the duplicate contacts is enrolled in a sequence.

Insycle bypasses this restriction and successfully merges the records. After the merge is complete, the master record remains enrolled in the sequence and continues through any active processes without interruption. This ensures your sequence engagement is preserved while maintaining clean, deduplicated data.

My team needs to review and approve the master. Can I accommodate that with Insycle?

Yes, there are several ways to share details and get approval before merging duplicates.

You can manually approve master records and mark them in a CSV file, then use Insycle to bulk deduplicate into those master records. See the Customize Bulk Deduplication Using Exclusions and Pre-Defined Masters article to learn more.

Or, you can run the Merge Duplicates module in Preview Mode and then deliver the preview CSV that Insycle generates. The CSV report includes your entire merge operation down to individual duplicate groups, but does not update your live data. Then your team can approve the merge based on this report, before running Merge Duplicates in Update Mode.

Additionally, team members can review duplicates and manually select the master for each record under Step 3 by selecting Manual mode. Review the Manually Merge Duplicates article for more details.

merge-duplicates-hubspot-contacts-step-3-manual-646w.png

Do the field values I use to match need to be exactly the same?

No, matching fields do not need to match exactly. The Similar Match Comparison Rule in Step 1 acts as a fuzzy match, looking for values that may be close but differ by only one character (e.g., a typo), and broadens the search.

step-1-email-only.png

This search behaves like when Google shows results for a slightly different term or says, “Did you mean...” For example, if an Email of “huey@coahulldu.co” is found, it could include records with the values “hueyy@coahulldu.co" or "hue.y@coahulldu.co” as a match.

step-2-group-w-similar-match.png

You should be careful when using Similar Match as the looser criteria can incorrectly identify non-duplicates as duplicates. 

Review the Understanding Similar Matching best practices for more details.

Why can I only process 50 duplicate groups at a time?

Insycle displays 50 records on the module screen as a preview; this is not the full list. Insycle can process thousands of duplicate groups in a single operation. You could potentially deduplicate your entire database in a single step. 

When using the Preview in Step 4, select the "All" option under When > Run Now to view all records in the Preview CSV report. When you run the operation in Update mode, all records will automatically be included.

How many duplicates can I merge into one master record?

You can merge up to 100 duplicate records into a single master record.

By default, Insycle skips any duplicate group containing more than 5 records. If you have duplicate groups with more than 5 records, you may want to adjust the Exclusions setting at the bottom of the Master tab in Step 3. The Skip duplicate groups with more than X records per group setting can be increased up to 100 records per group to ensure all duplicates in large groups are processed.

This default limit is a precaution to prevent duplicate matching criteria that are too broad in Step 1 from accidentally merging many non-duplicate records. If you plan to set this number higher, it is a good idea to run Preview Mode first to ensure your deduplication template is operating as you intend.

merge-duplicates-hubspot-contacts-step-3-master-tab-exclusions-w-arrow-646w.png
Are there any limits on the number of records that can be identified and merged with my paid subscription?

All plans include unlimited usage, unlimited users, and unlimited operations. During the free trial, there is a cap of 500 records updated, cleansed, or merged. See the pricing page for more details.

Additional Resources

Related Help Articles

Related Blog Posts