How to Merge Duplicate Users, Leads, and Companies
Duplicate data in Intercom poses serious problems for companies of any size.
Duplicate records inhibit your support teams from effectively segmenting and personalizing communications. Reps lack vital context, miss important information, and analysis and reporting are skewed. Ultimately, this means a worse experience for your customers.
Insycle's Merge Duplicates module helps you automatically detect redundant Intercom users, leads, and companies, giving you control over how records are merged and what field data is retained.
Key Use Cases
- Deduplicate Across Intercom Users and Leads
- Merge Duplicate Intercom Companies
- Bulk Merge Duplicate People
How It Works
The Merge Duplicates module makes it easy to identify duplicates and merge them in bulk.
Powerful matching options look at fields you specify to detect and group redundancies.
With duplicates identified, you set rules for determining the master record the duplicates will merge into—such as the first record created, record with the most email opens, last interacted with, or any other attribute. You can configure data retention rules that copy the most relevant field values into the permanent, master record.
These configurations can be saved, automated, and scheduled to run at regular intervals, putting your duplicate cleanup process on autopilot.
Insycle supports Merging Duplicates for the following Intercom record types:
- Users
- Leads
- Companies
You can select the record type at the top of the module screen.
Step-by-Step Instructions
Navigate to Data Management > Merge Duplicates, pick the record type, and explore the default templates for an existing configuration close to what you need.
Each row in Step 1 is for a field you want to look at for duplicates, along with some parameters on what to look for. You want to choose fields that, in combination, give a high degree of certainty that the matched records are duplicate records. See the Bulk Merge Duplicate People, Companies article for more details.
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.
The Conditions tab provides rules one or more of the records in a duplicate group will need to meet. These options let you specify a field that can be empty, a specific value that must be matched, or if data is required.
When two or more records represent the same entity (person, company, or other) based on your matching rules, they are clustered together into duplicate groups. Each duplicate group shows the total number of records that were identified as duplicates based on your settings. For example, if you had four records for the same person, it would count as one duplicate group with four duplicate records.
Under Step 2, each row represents a duplicate group, with the number indicating how many duplicate records were found. When you click a row, it expands and shows the duplicate records in the group.
The most efficient and sustainable way to merge duplicates is in Bulk mode. This allows you to set rules for determining the master record automatically across all records in your database. You'll be able to use saved templates and recipes to repeat the process on a regular basis.
In Manual mode, you have complete control over which records are merged together by selecting them from the Record Viewer. Manual mode should be reserved only for cases where you need a careful, controlled process. Learn more about merging duplicates in Manual mode.
After selecting Bulk mode in Step 3, you need to define how all of the matching duplicate groups should be merged at scale in Step 4.
Configure Rules to Automatically Select the Master Record
First, select the matching method—Priority Match, or Absolute Match. Most de-duplication operations should use Priority Match.
On the Record tab, you define how the duplicate groups should be merged at scale by creating rules that tell Insycle how to select the record from each group to become the master. The master is the record that will remain after the merge.
For example, if you had four records representing the same contact, they would make up one duplicate group with four records, all of which would be merged into one master record. The other three records would not exist anymore.
Configure Rules That Determine Values to Keep
Duplicates may be exact match versions of another record, but often there is only partial data overlap between them. When data is split between two different records, both may contain unique and important information you'd like to keep.
Under Step 4, click the Fields tab. For each field you want to control the data retention for, you need to select a Field and tell it where the data for the field should be taken from. This is merged into the master. Any data that is not in the master or not copied to the master is removed.
What happens to field data if I don’t create custom rules?
There is no need to create rules for every field in your CRM - Insycle automatically handles fields without specific rules using 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 handful of fields that require special handling rather than setting up rules for all your fields.
Learn more about configuring data retention and master record selection.
Preview Merged Changes in CSV Report
Now with the filters and master record set up, you can preview the changes you are making to your data. That way, you can check to ensure your deduplication configuration is working as expected before those changes are pushed to your live database. The CSV report that Insycle generates includes records from all the duplicate groups.
Under Step 5, click the Review button and select Preview mode.
Click the Next button to go to the Notify screen, where you can select recipients for the email report and add additional context.
On the When tab, click the Run Now tab, select which records to apply the change to (in most cases, this will be All), and then click the Run Now button.
Insycle will generate a preview CSV and send it to your email. Open the CSV file from your email in a spreadsheet application and review the data.
There's a row for each record, which includes:
- The Result of the action
- A Message with details
- The Duplicate Group ID which indicates which records will be merged together
- A record Status that identifies which were picked as master and which were identified as duplicates and merged into the master. See below for more details
- All fields used to identify the duplicates in Step 1
- The record ID, record name or email, and Deeplink to the CRM record
- All fields selected for the Record and Fields rules in Step 4. Note that if a field is used on both tabs, it will only appear once in the CSV.
The Status column indicates:
- Duplicate – The record is part of a duplicate group.
- Master – The master record chosen for the duplicate group based on default behavior and your Record rules. Review the selections in this row to determine whether the appropriate records are being chosen.
- Master (After) – For each duplicate group, a special row –Master (After)– will appear in the CSV report. The Master (After) row shows the values the final record will contain based on your Field rules and the default behavior.
- Error – If Insycle is not able to determine which record would be the master, an error message will appear here. See the Troubleshooting section below for more details.
If everything looks good, return to Insycle and move forward with applying the changes to Intercom.
Apply Changes to Your CRM Records
When you're satisfied with the results in your preview, you can apply the merge changes to your CRM.
Under Step 5, click the Review button again, and this time select Update mode.
On the When tab, you should use Run Now the first time you apply these changes to the CRM. If you have a large number of records, you may want to do a smaller batch to review the results in your CRM.
After you've seen the results in the CRM and you are satisfied with how the operation runs, you can save your configuration as a template and set up automation so this merge operation runs on a set schedule. If you have several templates you'd like to run together automatically, you can create a Recipe.
Return to the Template menu at the top of the page and click Copy to save your configurations as a new version of whatever template you started with. Then click the pencil to edit your new template name.
Under Step 5, click the Review button, and select Update mode.
On the Notify tab, select the send option appropriate for your automation: Always send, Send when errors, or Do not email.
Add any additional recipients who should receive the CSV (and make sure to hit Enter after each address). You can also provide additional context in the message subject or body.
On the When tab, select Automate, and configure the frequency you'd like the template to run. When finished, click Schedule.
You can view all your scheduled automations at any time on the Operations > Automations page.
With the Activity Tracker, you have a complete audit trail and history of changes made through Insycle, including processes run in Preview mode or data syncs. At any time, you can download a CSV report that shows all the changes made in a given operation run.
Navigate to Operations > Activity Tracker, search by module, app, or template name, then click the Run ID for the operation.
Advanced Use Cases
If you're running into issues because the same person exists in Intercom as both a lead and a contact, you can use the Merge Duplicates module to deduplicate leads and contacts together.
In the Merge Duplicates module, select the Users record type from the top menu.
Then, under Step 1, check the Include Leads checkbox.
To learn more, see Deduplicate Across Intercom Users and Leads.
The Insycle Inbox app, once installed, adds a widget to your Intercom inbox to quickly check for duplicates in an open conversation.
You simply open the conversation, find the "Insycle Data Management" widget on the right-hand side of the screen, and click the Check for Duplicates button.
Then, Insycle will compare the contact in your currently opened conversation against other contacts in your database, and give you the option to merge.
To learn more, see Deduplicate in Intercom Inbox with the Insycle App.
For situations where there are no common rules you can apply for identifying duplicates for all or some of the records, you may need more granular control for picking records to include or exclude from the process.
To do this in bulk, you can create a CSV and use the Magical Import module.
In these cases, you can use CSV files to customize your bulk merging, designate master records, and exclude records from deduplication. Then you can import the CSV from the Magical Import, and use the Merge Duplicates module for complete control over the final merge operation. Learn how to customize merging Duplicates in bulk using a CSV.
To do this one record at a time, you can use Manual mode of the Merge Duplicates module.
In Manual mode, you have complete control over which records are merged together by selecting them from the Record Viewer. Manual mode should be reserved only for cases needing a careful, controlled process. Learn more about merging duplicates in Manual mode.
Intercom Merge Logic
When merging Lead<>User, Insycle uses the underlying Intercom merge API.
When merging Lead<>Lead or User<>User, Insycle performs a synthetic merge:
- Open conversations: Duplicate contacts will be detached from open conversations, and the master contact will be attached to those conversations.
- Closed conversations: Copy all closed conversations from duplicate contacts and create a note per conversation in the master contact (Notes are searchable in Intercom).
- Tags: Assigned from duplicates to master.
- Companies: Assigned from duplicates to master.
- Notes: Copied from the duplicates and created in the master.
- Events: Copied from the duplicates and created in the master.
- Fields: By default, other field values are retained from the master; when a master value is empty, it picks a non-empty value from the most recently updated duplicate. You can control what is kept by configuring rules on a field-by-field basis. See the instructions under Step 4 for details.
When merging Companies, Insycle performs a synthetic merge:
- Leads: Assigned from duplicates to master.
- Users: Assigned from duplicates to master.
- Tags: Assigned from duplicates to master.
- Fields: By default, other field values are retained from the master; when a master value is empty, it picks a non-empty value from the most recently updated duplicate. You can control what is kept by configuring rules on a field-by-field basis. See the instructions under Step 4 for details.
Tips for Bulk Merging Duplicates
- Begin with easy-to-find duplicates. Iterate through fields and rules you know will surface duplicates. Don’t expect to resolve all your duplicates by setting up and running this process once. You will need to run this process multiple times for different fields or nuanced variations.
- Each time you get a Merge Duplicates process to run the way you want in your database, save it as a template. When you have a solid set of templates that reliably resolve most of your dupes, you can put them together as a Recipe that can run on a regular, automated schedule.
- You may also need to look for edge cases that fall outside your standard rules. These may be templates you run manually so you can make adjustments based on what you find.
- Do some experimentation. Use the Preview mode and CSV report to analyze patterns in the duplicates. You may learn what is causing the duplicates and learn how to avoid having them in the first place.
Troubleshooting
If you're not seeing the results you expect when merging duplicates, consider these issues:
You have duplicate records that have been identified by Insycle but not all of them are merging into the master. Check to see how many duplicates are in the affected duplicate groups. If you have duplicate groups that contain more than five records, you may want to change the value in Skip duplicate groups with more than 5 records per group to make sure you can get them all.
This setting is intended to protect against the accidental merging of non-duplicate records if the filter in Step 1 is too broad.If the Message column of the CSV report displays this text:
Change rules in Step 4 '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 that based on all the rules, Insycle could not figure out which record in the duplicate group would be the master. None of the records meet more of the rules than others.
There are a few things you can try to resolve this:
- Under Step 4, on the Record tab, experiment with reordering or adding additional fields that are likely to have unique values.
- In the Step 4 heading, check to ensure that you have Priority Match selected and not Absolute Match.
With Priority Match, your master record only has to match one rule. Using Absolute Match, your master record would have to meet all of the rule criteria. The majority of the time, it is best to select Priority Match.If Priority Match was used, then none of the records in the duplicate group meet any of the criteria on the list more than the others. In this case, you'll need to experiment with the Record tab, reordering or adding additional rules for fields likely to have unique values.
- As a last resort, you can add a rule on the Record tab of Step 4 that says Record ID is lowest, or Create Date is earliest.
There are a couple of things to look at that may be misidentifying records as duplicates.
First, you may need a better unique identifier. Under Step 1, if you only use fields that could correctly contain the same values in multiple records, these 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 that is unlikely to be shared by any other record unless it represents the same underlying entity. Fields that are commonly used in deduplication include phone numbers, email, mailing addresses, or ID numbers.
Second, this may indicate the Comparison Rule under Step 1 is too broad. Try using the Exact Match comparison rule instead of Similar Match. Similar Match looks for values that may be close but with a one-character difference (maybe a typo) which broadens the search.
Remember, always run your deduplication in Preview Mode to confirm things are working as expected before running them in Update Mode and applying the changes to your CRM records.
Most of the time when Insycle can't find duplicates, it is due to your matching rules in Step 1. To better understand how to set up your rules, it is important to analyze the underlying data. A useful exercise can be to set up your matching filters to look for exact matches of just First Name and Last Name.
When you click the Find button, 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 gear button on the right side of the header bar. Here, you can add any field in your database as a column to the duplicate group review to better understand the data inside of these records.
For more help troubleshooting issues with Insycle, refer to our Troubleshooting Issues article.
Frequently Asked Questions
Yes. You can use an existing CSV with duplicate record details. The file needs to include the record IDs and a "Deduplication Master" column, specifying which records should be the master, kept after the merge. Next, create a custom field "Deduplication Master" in your CRM to facilitate the merging. Use the Magical Import module to import the edited CSV file into the CRM, populating the new custom field. Finally, utilize this custom field to merge the duplicate records in the Merge Duplicates module.
Learn more about customizing bulk deduplication from a CSV.
Yes, Insycle can deduplicate across leads and users at the same time. Please check out this article to learn more: Deduplicate Across Intercom Users and Leads.
Insycle shows 50 records on the module screen as a preview, this isn't the entire list of records. View the Preview CSV report to see the results for all records.
Insycle can process thousands of duplicate groups in one operation. Potentially, you could deduplicate your entire database in one operation.
Currently, there are two ways to make sure that the records that you are merging are indeed duplicate records.
First, always run your deduplication templates in Preview Mode before running them in Update Mode. This produces a CSV that shows you 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, you can reduce the risk when merging duplicates by narrowing your duplicate 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.
Yes, Insycle does offer an intercom inbox app. To learn more, check this article: Deduplicate in Intercom Inbox with the Insycle App.
You can merge up to 100 duplicates into one single master record.
If you have duplicate groups that contain more than five records, you may want to change the value in Skip duplicate groups with more than 5 records per group under Step 3 to make sure you can get them all.
This is a precaution to ensure that if you use a duplicate matching filter that is too broad in Step 1, you do not accidentally merge many non-duplicate records together. If you are going to set this number at a high level, it is a good idea to run Preview Mode first to make sure your deduplication template is operating as you intend.
All plans include unlimited usage, unlimited users, and unlimited operations. See Insycle's pricing page for more details. During the free trial, there is a cap of 500 records updated, cleansed, or merged.
Yes, Insycle allows you to select which field data is retained in the master record using the Fields tab under Step 4. See the Step-by-Step Instructions above for more details.
Yes. You can exclude records from deduplication by creating a CSV with a "Deduplication Exclude" field.
First you'll export a Preview CSV from the Merge Duplicates module, add an exclude column, and specify which records should be excluded from the merge process. Next, create a custom field in your CRM to facilitate the merging. Use the Magical Import module to import the edited CSV file into the CRM, populating the new custom field. Finally, utilize this custom field to merge the remaining duplicate records in the Merge Duplicates module.
Learn how to customize bulk deduplication using exclusions.
If the Message column of the CSV report displays this text:
Change rules in Step 4 '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 that based on all the rules, Insycle could not figure out which record in the duplicate group would be the master. None of the records meet more of the rules than others.
There are a couple of things you can try to resolve this:
- Under Step 4, experiment with reordering or adding additional fields that are likely to have unique values.
- In the Step 4 heading, check to ensure that you have Priority Match selected and not Absolute Match.
With Priority Match, your master record only has to match one rule. Using Absolute Match, your master record would have to meet all of the rule criteria. The majority of the time it is best to select Priority Match.
If Priority Match was used, then none of the records in the duplicate group meet any of the criteria on the list more than the others. In this case, you'll need to experiment, reordering or adding additional rules for fields likely to have unique values. - As a last resort, you can add a rule on the Record tab of Step 4 that says Record ID is lowest, or Create Date is earliest.
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, then use Insycle to bulk deduplicate down to 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, then deliver the preview CSV that Insycle generates. The CSV report that Insycle generates 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 4. Review the Manually Merge Duplicates article for more detail.
No, your field data does not need to match exactly. The Similar Match Comparison Rule found in Step 1 looks for values that may be close but with a one-character difference (maybe a typo) and broadens the search.
This search behaves like when Google shows results for a slightly different term, or says “Did you mean...” For example, if an Email of, “myla.h@cington.co” is found, it could include records with the values “myla.h@cington.com," or "myla@cington.co,” as a match.
Do pay close attention when using Similar Match as the looser criteria can incorrectly identify non-duplicates as duplicates.
Review the Similar Matching best practices for more detail.
When using two or more fields to identify duplicates, records can still be considered matches even if one of the field values is blank. You just need to specify which field(s) allow a blank value.
Under Step 1, configure your matching rules in the Simple tab, then click the Conditions tab.
All the matching fields you included will automatically appear with the Value Required in All Records condition selected. Change the condition to Empty Allowed in Any Record to allow empty values for certain fields. You can also use the At Least One Record with Non-Empty condition to help you determine which is the master record. Make sure at least one field remains required and is a reliable unique identifier to ensure the records are really duplicates.
For example, on the Simple tab, you may have the matching fields: First Name, Last Name, and Phone Number. But on some of your records, the Phone Number field may be empty. Using the Condition Empty Allowed in Any Record or At Least One Record with Non-Empty, all records with the same name, same phone number, and no phone number will be considered duplicates.
Additional Resources
Related Help Articles
Related Blog Articles