Best way to clean up CRM


My company is working with 3...THREE...CRMs. What would be the best way to begin cleaning up this mess? 

I've started with removing duplicates/merging contacts. Unfortunately, we aren't going to outsource a third party to do it at this time and we have 1061 duplicates - a work in progress. 


There are a number of HubSpot properties we're not using at the moment because our sales team is not using HubSpot. I have created a number of custom properties to help me on the marketing side but I'm at a loss for the duplicate properties with fields in each one. We have 44k contacts but that also seems unnecessary so maybe omitting the hard bounces and unsubscribes will help with that. Should I export those and save them, then delete them from our contact? 


Please help...

7 Replies 7
Community Manager

Hi @sbarber,


I want to tag in some of our subject matter experts to get their opinions on how to get started.


@AM8@Nynke_HM@Mike_Eastwood do you have any suggestions for @sbarber?


Thank you,

Key Advisor | Gold Partner

Hi @sbarber , thank you for the mention @jennysowyrda 


My answer may not be helpful... my answer is "Malcolm".


My colleague Malcolm is a data wizard and takes a perverse pleasure in unscrambling data. Without asking him he'd merge them all into a single database to find the duplicates and differences. It's usually a messy job but at least you'd know where the potential issues are.


If you're interested we could arrange a meeting to learn more?





Top Contributor

Hi @sbarber ,


Maybe an app/integration could (partly) help you out with this. I have heard some HubSpot users have great experience with Trujay for example. But there are many more to be found on the App Marketplace (filtering Data management apps).


Your suggestion to first delete/export old and useless contacts is great. I'd recommend doing that first. We usually advise our customer to select a certain time period as well for this.  For example in HubSpot you could use the Last activity date property to filter our contacts that haven't been engaging with you in the past years/months.



Hope this helps!





Did my post help answer your query? Help the Community by marking it as a solution

Hey sbarber,


As others have said, first and foremost I would recommend getting your 3 CRMs down into one database or at least looking for a solution that can help you to sync them. 3 different databases generally means 3x the work and if you haven't done any comprehensive data cleaning previously, it is likely going to be a pretty big job. 


Some of the common data problems that you'll want to start cleaning up will include:


  • Duplicate contacts
  • Duplicate companies
  • Standardize fields (names, phone numbers, job titles, etc.)
  • Merge redundant fields
  • Find & fix field swith typos/data entry errors

It's a pretty big task overall, but one that you need to do if you want to get the most out of your marketing automation and gives your sales teams the best context for conversations. 


Your custom fields aren't going to be deduplicated using the standard HubSpot tool, as I believe that only deals with contacts, companies, deals, tickets, and products. 


For full disclosure, I work with Insycle but their solution will probably be helpful to you. When you sign up, the system will analyze your data and auotmatically generate a health assessment that helps you identify and fix many common data errors. Also, you can deduplciate records using any field — which means your custom fields won't be a problem. Also, I believe you'd be able to connect all 3 CRMs separately if they are included in their integration list. Should save you a ton of time. 


Thank you! I'm looking to do this inhouse so I was prepared for a big project on my hands. 


One thing I've started doing is creating workflows to change duplicate property values. For example, we have Member Status and Membership Status - both record the same thing but the difference is the creator of the property and the CRM the information is coming from. I've used the if/then function to identify what we already know to be true based on the (CRM) source of the property value. 


I set my goal to unenroll contacts once the value is updated in hopes of getting them all to match and completely delete the Member Status property in the future. 


I've also used the Manage Duplicates tool and discovered 1061 duplicates in our system. The last I spoke with a HS rep, this is something that has to be done manually. Is this your experience too? That is if we decide to continue the in-house route. 


I'm thinking a third party is going to be the most beneficial but I need to sell it to my boss before moving forward. She seems to think I can merge the data all in one spreadsheet and remove duplicates but each CRM has a separate list of fields and I don't see this being as easy as it seems. 


Thanks again for the wonderful feedback everyone. Is it normal to tackle things like this in-house if you don't have the funds to seek help from a third party? Or am I crazy for thinking this is how people do this? 


No problem!


That's a really innovative workflow! When you have multiple CRMs like that there are all sorts of weird issues and inconsistencies that pop up. What are the different CRMs you are using, if you don't mind me asking?


Yes, I believe with Hubspot you can manage the duplicates but they will need to be handled one-by-one, and duplicates are identified using a few specific fields. 


You definitely could merge all data into one spreadsheet and use Excel functions to merge them, but it will be pretty time consuming and there's a good chance you'll miss some, although you should be able to catch most duplicates between HubSpot/Excel. Having the different fields from multiple CRMs might complicate things. 


Regarding in-house vs. third-party — it's really depends the resources you have, and what you are comfortable with. Lots of companies handle it in-house, others use tools to help. As databases grow it becomes more difficult to work in Excel. 

Top Contributor

@jennysowyrda : Thanks for tagging me. 

Hi @sbarber

I might be oversimplifying things here, but I would follow the follwoing approach: 

1. Establish which CRM is going to be the final one to keep. Lets say you are going to get rid of all 3 and keep only HubSpot CRM as your CRM going forward.

2. Establish what data you want to import from the 3 CRMs. You might want to involve other stakeholders in this decision. 

3. If it is just data stored in fields then and excel merge will do the trick. (If however the other stakeholders say that they want to also import meeting notes, attachments, contracts and other similar details a typical CRM has then I am afraid it would be a huge import project thats best outsoucrced. )

4. Lets say they want to keep data stored on fields and we are looking at a simple field to field mapping exercise. This one is manageable with excel. 

5. Export a list of all the "field names" only from CRM 1 CRM 2  and CRM 3. Now establish with other stakeholders which fields they need and which they can live without. Once you have a set list of needed fields you will know how many new fields you need to create in Hubspot. This will be a big step in cleaning up your CRM and starting just right with Hubspot. 

6. Now all you need to do is export all the data from needed fields from CRM 1 and import the data into your target CRM ( say Hubspot). map the fields correctly and be extra careful with " date field formats " so that your new CRM correctly preserves the trends from past data. 

7. Repeat step 6 for each CRM. Your target CRM should be able to handle duplicates automatically so you dont have to do the manual tast of duplicate handling. 

Again, I think this is oversimplification of your case, but I did a similar exercise for my company and after the initial shock of "changing systems" fades away the team is happier to be in a cleaner new CRM. They are also happy to get rid of old fields that were no longer being used. 

Hope this helps
Thank you.
#Did my post help answer your query? Help the Community by marking it as a solution.