UPDATED 1/16/2018 See screenshot. This is an example of what I am trying to import. This is the same person. The only difference is the notes. How can I import this without creating 4 duplicates? enter image description here

****End Update****

I am still unable to resolve this issue. Is there anyone else who has imported contacts who do not have email addresses?

We are using Civi 4.7.29 on WordPress 4.9.1

We have a whole spread sheet of contacts who do not have email addresses and I am trying to import them into Civi. The names, addresses and postal codes for individual contacts match, but the Notes are different and that is is why I need to import them, so the notes are added to their Civi profiles

I created a new general Dedupe rules with First Name Weight = 10, Last Name weight = 10, Postal Code Weight = 10. The idea is if the First Name, Last Name and Postal Code don't match, create a new profile. If they do match, just update the current profile. However every time I try this, it just continues duplicating every single person for each note they have. For example if they have 3 notes on their profile, there will be 3 duplicates for that person.

I tried adding the street address and other fields to the dedupe rule, and still got the same exact results. It appears that unless they have an email address it will deplicate the record, and will ignore all other dedupe rules. I was able to perform this same task with no problems with our contacts who do have email addresses.

Can anyone suggest a dedupe rule setting I should try for this task of importing people and their notes, when the contact does not have an email address?

Thank you.

UPDATE I visited the demo site at https://demo.circle-interactive.co.uk/ and ran some tests and got the same results as I described above. The screenshot shows my dedupe settings. enter image description here

  • Are you able to replicate this problem on the demo server? Could you post a screenshot of your dedupe rule in case one of the other settings is off? Jan 14, 2018 at 0:58
  • Yes I am able to replicate the problem on the demo server. See updates on original post for screenshot. Thank you.
    – fdarn
    Jan 14, 2018 at 1:49
  • Have you considered importing a list of contacts where each contact on your list is unique (i.e. no duplication of contacts on your source list), and then, once all the contacts are successfully imported, then run a separate import for the Notes?
    – Graham
    Jan 17, 2018 at 13:40
  • That is exactly what is going on. All these contacts are already on civi, but if they don't have email addresses, and I attempt to import the notes later, it just duplicated every single one of them for every single note they have. So 100 contacts without emails, suddenly becomes 1000. Am I the only one using civi who has contacts who do not have email addresses?
    – fdarn
    Jan 17, 2018 at 17:29
  • I haven't had time to test what you describe, but as a workaround (extra work, unfortunately) you can import and then dedupe after import instead of during the import process, perhaps? Does the rule work as expected then?
    – Laryn
    Jan 19, 2018 at 18:18

2 Answers 2


In my demo I see that there are three reserved rules for individuals. Reserved means that they cannot be deleted.

When I click the question mark I read:

The 'Unsupervised' rule for each contact type is automatically used when new contacts are created through online registrations including Events, Membership, Contributions and Profile pages. They are also selected by default when you Import contacts.

I tried to set all reserved rules and my own rule too general, but at import it expects at least one Unsupervised rule active. So I changed my custom rule to Unsupervised and also choose it at import.

Then the dudupe seem to work at import. When set import to Update and it did update, but when I tried Fill, it did not do what I expected. My data: enter image description here Dedupe rules (all made general except my custom rule): enter image description here My custom rule: enter image description here

With Fill it would import the first but not add the second phone number, with Update it would import the first and update it with the last, leaving it the the last phone number.

When in my project I tried to use the import feature of CiviCRM I concluded that it is too limited to do what you intend to do. I decided to ignore it and make my own import module in Drupal and using the CiviCRM API calls and the Drupal PHPExcel integration module. PHPExcel reads spreadsheets into a PHP variable and then with dedupe check turned off you can apply your own logic and criteria.

  • Thank you for the detailed response. I agree. It does look like it's not capable of performing this task. It wants an email address in there.
    – fdarn
    Jan 18, 2018 at 16:41
  • The email address requirement comes from the default rules, but these can be affectively disabled when you set the default rules from Unattended to General. From then on only your custom rule will be used at import and the email problem should disappear. The real problem is that what you want is not considered by the developers. You have Update and Fill, but what is the missing feature is Merge. Merge in my understanding would mean that the different phone number is added to the existing contact. The merging would only work for fields that can hold multiple, like email, phone, address etc
    – ñull
    Jan 29, 2018 at 16:13
  • May be you can formulate merge as a feature request?
    – ñull
    Jan 29, 2018 at 16:13

[I know this is more of a comment than answer, but I can't post a screenshot in a comment]

You describe creating a new dedupe rule, but in the Import Options section of the Import screen, are you selecting your new dedupe rule as the one to use?

You will also want Update or Fill on the line above.

Import Options

  • Yes I am selecting the rule on the import page
    – fdarn
    Jan 18, 2018 at 16:38

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.