I have a list of about 1000 contacts I'd like to import. Unfortunately, there's no definitive way of linking the people on my spreadsheet to the contacts already in the database like an external identifier. So I'd like to generate a list of potential duplicates so I can go over them by hand.

Does anyone have a good way to accomplish this?

  • Potential duplicates within the CSV file itself (2 John Smiths are in the CSV), or potential duplicates relative to the Civi database (1 John Smith in the CSV and 1 John Smith in the database)? Apr 7, 2016 at 15:34
  • Potential duplicates relevant to the Civi database. Apr 7, 2016 at 16:00

2 Answers 2


Assuming standard fields (First/Last name, address, email, etc.), you could export the necessary fields from Civi via a search results action (Export Contacts) and use a 3rd party tool to compare your existing data to your new data and then highlight (or remove) the duplicates.

Google Sheets


Microsoft Excel

  • Hmm, intriguing! I'll look this over and mark it accepted if this works out, which I imagine it will. Thank you! Apr 7, 2016 at 18:12
  • You're most welcome! When we were preparing our data for initial import, we did manually cleaning from multiple different systems so as to not clutter up Civi (and we were still learning), and we used a number of Excel functions to help. Apr 7, 2016 at 19:21

I like Allen's answer but it seems there should be an approach at the point of import that would work. Esp if you had a gazillion contacts in the db already. Is the issue here is that the potential matches are more complex than any matching rules?

If there is a Matching Rule or a series of them that can work for you - then start with the loosest rule and then rerun and tighten them - and set your import to SKIP.

Eg, if you first run the import with First Name match, then every record that has a matching first name will be reported back to you. Then run it with eg First AND Last, or First AND Phone etc.

  • This is a good answer, and at first I thought I'd be accepting it! However, I ended up doing it this way and Allen's way. In practice, Allen's answer has the edge because it provides a means to look at both old and new contact info together on a single spreadsheet. Apr 22, 2016 at 16:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.