Contacts tab Part II


  • Know how to import contacts with CSV files
  • Know the process of importing different types of information
  • Understand the order of customization and imports.
  • Learn how to create customized contact reports, and find and edit specific contacts
  • Be able to perform configurations such as drop down list items, customized fields, etc.

Importing contacts

If you or your org want to switch to CiviCRM, you may import your contacts in bulk with a CSV file instead of adding them one by one. However, by now, you should already know how much information CiviCRM allows its contacts to contain, and what you’ve been keeping track of in the past years may not fit into CiviCRM’s format right away, so some tailoring will be required in order to make the importing process and results as successful as possible. I cannot tell you how exactly you should do this because it really depends on what you have in hand. But, if you’re working with a non-profit, and you’re helping them to import their existing contact data, please refer to CiviCRM’s users book for a better understanding of what to prepare for, and how to maximize the function.

Importing contains four major steps: Upload Data , Match Fields , Preview , and Summary. The links will bring you to the CiviCRM wiki pages of each topic. They explain the importing process and what each button and check box does clearly. I highly recommend you to read through them or refer to them when you’re importing contacts. I’ve made some screenshots of my importing process below. Your steps will be different from mine, so this is only an example of what importing data looks like:

    1. First of all, if you have been keeping your contacts in a excel sheet or Google spreadsheet, save it as a CSV file.
    2. Go to Contacts> Import contacts, and upload your CSV file


  1. Follow the instructions and choose the settings that fits your data, then proceed to the next step
  2. Make sure the information you uploaded will be imported to the right fields
  3. You can also change some of the fields to fit your needs
  4. The preview step shows you if errors occur. If it does, you can download the error report, and check what went wrong.
  5. In my case, the “birth date” format didn’t match the date format I chose in step 3. However, none of the options CiviCRM offers matches my data, so I had to reformat my data.
  6. Once you clear the errors, repeat step 1-6. You may still import with errors, but those contacts will be skipped. For the best results, I recommend you to fix every errors that occur.
  7. When you finish importing, CiviCRM tells you how many contacts you’ve imported, and whether changes have been made to your existing contacts in the system. import9

Search Contacts

There are a few ways to search for contacts on CiviCRM, such as “Find Contacts”, “Advanced Search”, and “Custom Searches”, and they can be found under the “Search” tab. All of them are useful and efficient, but depends on the contacts you have and which contact you’re looking for, you will have to evaluate which search method to use. The following are some steps and example of how to use these search functions.

  • Under the “Search” tab, you’ll find all the search functions, but I’m just going to introduce three of them:
  • “Find Contacts” is the most simple and straight forward method. Just enter your search criteria, or if you want to see all of the contacts, leave the fields blank and hit “Search”search0
  • “Advanced Search” looks a lot fancier and complex than “Find Contacts”, but it’s very useful. You can expand the tabs and check out what restrictions you can set to your search result. You can also set multiple restrictions to multiple tabs at once. If you want a defined search result, this is the go-to method. search1
  • “Custom Searches” are a list of pre-designed search methods. This is good for the searches that you perform frequently or regularly. It saves you time if you use the custom searches instead of the advanced search.search2
  • This is an example of what these custom searches look like. They look much simpler than the “Advanced Search”, but more defined than “Find Contacts”. For customization and user-defined “custom searches”, we will talk about that later in the lesson. search3

Edit Contacts

  • When you search contacts, your search result will look like the image below, and you can view and edit the contacts.
  • When you are viewing a contact’s summary, move cursor to the field you want to edit, and click
  • If you change the contact information, it will be recorded in the Change Log
  • You can also add items to other tabs. Here are two examples:



Activities can be used to help you monitor and manage your relationships with constituents better. I’d love to spend more time talking about activities and dig deeper into the ways you can use it, but my goal is to cover the basics and essential components of CiviCRM. That being said, you’ll have to explore some of the things by yourself, and Activities is one of them. However, Thomas has been working with CiviCRM, and wrote a beautiful, detailed lesson on Activities. If you’re interested in learning more, click here! (I highly recommend you to do so!)


Let’s visit Ashley’s profile to check whether the relationship has been addededit11

It did, but turned our she was married to someone else….which means we need to edit the relationship.
edit 13

Create and customize contact reports

Contact reports are, in a sense, similar to searching contacts, but with reports, you can have apply detailed filters, and control what information is displayed and exported. CiviCRM provide a number of report templates as basis for your customized reports. Similarly to the concept of contact types, the customization is based on CiviCRM’s existing structure. Different templates provide different filters, the following is a simple illustration of the process of creating a contact report. Depending on which template you pick, yours might look different.

    • Go to “Contacts”> “Contact Reports”

    • The list of contacts reports shows your saved reports, but for now, because we haven’t created new ones, it shows you the ones with default template settings. Click on “New contact Report” to create a customized report.

    • Pick the template that fits your needs the most.

    • You begin with deciding what information is displayed in your reports.

    • Then, create filters for you report. You may set the level of inclusion or restrictions. Some fields allow you to contain more than one value. When you’re done, click on “Preview Report”.


    • At the very bottom, it shows the contacts that fits into your criteria.

    • If you think you are going to use the some report in the future, you can save the report by filling out the “Create Report” tab. (It says “Report Settings” in the image because I used one of the existing report from the list instead of creating a new report from scratch)

    • If you used one of the existing reports, you can either update the setting, or save the report as a new one. For new reports, it only has the “Create Report” button. But the export option is the same for both.

    • I chose to update the Report, and this is the result:


You might be thinking, “well, report looks similar to advance search. What’s so special about it?” Good question, let me demonstrate the difference between them with a scenario (a silly one): Next week I am attending a 2-day convention in King’s Landing. I’m not familiar with the city. I heard that it is not as safe any more, and I feel that I should have a knight accompany me during my stay. I know my org has some connections in King’s Landing, and I’d like to have the names, phone numbers and emails of people that can do me this little favor.

  • First, I choose what info I want to see in the reportrep1
  • Then, I set my filtersrep2
  • Voila, here is a simple and clear list of everything I need!rep3
  • When I search with the same filters in the advanced search function, the list looks like the image below with information I don’t need for my list. in my opinion, the difference between report and search is that report allows you to save a template for future use, and it allows you to decide what information you want or don’t want to see. rep4


Other Configurations and Customization

Although CiviCRM is a well-developed and thoroughly designed tool for non-profits, we all know that there is no one model that fits all needs, and that’s why CiviCRM allows users to fine-tune some of the items, display, and more. You can also delete some of the existing items that you don’t want. Since this lesson is about Contacts, I will only briefly introduce the fine-tunings that revolve around contacts. Some of them are straight forward, so I will give you minimal introduction and instructions on them. All of these items can be found in “Administer”> “Customized Data and Screen”

  • Custom Fields: If the fields in Contacts aren’t enough for you, or you want to get a hold of some more information of your contacts, you can create a customized field to fit your needs. The Custom Fields can be created to one specific contact type or subtype, which I believe makes the idea of creating contact subtypes more clear. Custom fields can also be created for other CiviCRM components. Here is an example of how Thomas created and used custom fields to fit the need of Everett Program. (I highly recommend you read it!)
  • Relationship types: If you desire to record a certain relationship of your contacts, you can add relationship types here. (Ex: cousin, uncle, grandparent, etc.)
  • Dropdown options: When you’re filling out a new contact, some of the fields require you to fill them in, some are check boxes, and some are drop down lists. If you think that some drop down lists or check boxes don’t have the option you need, or they are too long or have excessive options, this will definitely help you. You can add or remove items in the following fields:
  • Display Preferences: When you view a contact’s profile, what do you want to be displayed and what can be edit.
  • Custom Search Options: We talked about this earlier in the lesson, custom searches can be edited, disables, or deleted here. If you want to create one, please check out the website here.

Please note that these configuration and customizations should be completed before you import your contacts to CiviCRM. It’s like when you buy a new house, you want to model it to fit your preferences before you move in, so, make sure your CiviCRM is a comfortable and functioning nest for your contacts before you import them. That being said, before transferring all the data to CiviCRM, you will need a brainstorming/analyzing process to figure out how you want your data to be organized and categorized in CiviCRM.

Homework (Project 1)

Part 1:Custom Fields

Remember last week we created some contact subtypes? We are going to create a custom field for the Staff subtype. This custom field will be used to store information of emergency contact of the staff.

  • Add a set of field called “Emergency Contact”
    • This set will be used for Individual > Staff
    • Set the display style to “Tab”
    • Make sure the set is active. Leave the rest of the setting the way they are, and save it
  • Create four fields (names are below) with input type as Alphanumeric text. Make sure they are active.
    • The four fields should be name and in the same order as: “First Name”, “Last Name”, “Phone Number”, and “Relationship”

Part 2:Importing

In the lesson, I showed some of the steps I took to import contacts, and now it is your turn to try this out. This assignment is complicated and repetitive, because in real life, it takes multiple attempts and multiple data sets to import every bit of information you have in hand. I won’t give you step-by-step instructions, but I will give you details on what to do, and help you finish the task. To complete the assignment, you need to download the dummy data with Game of Thrones characters (Sorry, non-GoT fans!) here (or here for google doc version)

Now, before we go ahead and start this part of the assignment, take a look at how the dummy data is set up and what information it contains. Here are a few things to note when you’re building or tailoring your data set for CiviCRM importing:

1. Items like “Do Not Phone”, “Do Not Mail”, and “Diseased” are single check boxes when you add new contact on CiviCRM. CiviCRM’s import system only recognizes them as “checked” if you put “1” (nothing else works) in the cell.

2. In comparison, “Best Contact Method” (or “Preferred Communication Method” on CiviCRM) has a list of check boxes that you pick one item from, so it takes words (“mail”, “phone”, etc) instead of “1”. However, when you’re creating a data set, make sure the words you put in matches what’s on CiviCRM.

3. When you are importing items that connects to items that you created or customized (ex: Contact Subtypes or Organization contacts), you also have to make sure it matches the name (it’s case sensitive) for them to connect, or errors or duplicates will occur.

2.1. Importing all contacts

Now, it’s time to upload the file. Remember, the first row is column headers. You will be uploading individual contacts. Duplicate Contact setting can be left the way it is for this one. Choose the correct date format, then click “Continue”.

This data set contains some column headers that don’t match to the import mapping on CiviCRM, so I’ll list down the ones that you need to pay attention to and change the matching fields while importing. However, still make sure the rest are matched to CiviCRM’s fields.

  • Role: This one is for the contact subtypes we created.
  • Houses: set this to Do Not Import.
  • Newsletter Subscription, Groups, Tags: These will be used to create multiple excel files instead of importing, so set them to Do Not Import
  • Deceased: This is pretty self-explanatory. If the cell says “1” that means the individual is diseased (spoil alert!). When you’re importing, match it to Is Deceased
  • Employer: This will be used for another importing process. For this one, choose Do Not Import.
  • Position: Match this to Job Title while importing.
  • Best Contact Method: This should be matched to Preferred Communication Method

You should save the field mapping, because we will be uploading multiple times and this saves you time! If there are no errors, finish the import process, and check that you have all the contacts (Search> Find contact, and hit search without any criteria setting). Take a screenshot of the search result. Make sure to include the line that says the number of your total contact. Save it as Lastname_Import.

2.2. Importing the Knight tag

Now, we are going to import some people to one of the tags we created. For this part, you’ll have to create a new CSV file of every individual with the Knight tag. The way I did this is to sort the data set with the tag column alphabetically, select the ones with the Knight tag, copy and paste it onto a new excel sheet, and save it as a CSV file.

Upload and import the Knight tag file with the same setting from last part, but this time, we are going to fill the duplicate contacts with the rule of matching name and email.

Use the mapping you saved, and finish the import process. In step 3 “Preview”, select the Knight tag at the very bottom so every contact will have the same tag.  Once you finish, search the contacts with the Knight tag, and make sure you have everyone in there. Take a screenshot of your search result and name it: Lastname_Knight

2.3. Importing the Newsletter Subscriber group

For this part, you will create a new CSV file with the same strategy, and import the new CSV file with the same process as the last part. The only difference is that in step 3 “Preview”, you will add the import to an existing group called “Newsletter Subscriber”. Once you finish, search the contacts of the Newsletter Subscriber group. Take a screenshot of your search result and name it: Lastname_Subs

2.4. Importing Organization relationship

For this part, you will again, create a new CSV file. This time, create one for people who have employers. Upload and import your file, but the field mapping will be slightly different from the one you saved from part one. Make sure the column named “Employer” matches to Employee Of. And when the second drop down list shows up, it should match to Organization Name. (hint: you can still load the saved mapping and make this tiny change!) When you’re done importing, find the organization contact named “Night’s Watch”, and click on the relationship tab. Take a screenshot and name it: Lastname_Job

2.5. Importing Staff Emergency Contact

The one last import we are going to do is to upload info to the custom field we created in part 1 for the contact subtype of Staff. Please download the Emergency contacts of staff here (Or here for google doc version)

We cannot import the custom field set with everything/one else because it’s specifically for the Staff Subtype, and the fields will only become available for mapping when you tell the import wizard that you’re importing for the subtype. If you have a set custom fields for individual contacts in general, then you will be able to import the custom fields without creating a new CSV file for your individual contacts.

Now, upload and import the CSV file. Make sure you select “Staff” for contact subtype in the first step. For matching fields, the dropdown list will contain fields that looks like this: Field :: Custom Set. For instance, yours should have something like “First Name :: Emergency Contact“. Make sure you match the column headers to the correct field, and finish the importing process.

Search for the contact name “Gendry Iron”. Click on the Emergency Contact tab, and take a screenshot of it. Name the image: Lastname_Custom

Part 3:Report (Don’t do this! Something is wrong)

Now we have all the dummy contacts in CiviCRM, it’s time to use them! This will be simple and easy: read the description, and create a report that fits it.

I want a report of female newsletter subscribers that live in D.C.

I want to see their age, phone number, email, street number, and city.

Screenshot your report, and name it: Lastname_Report

Bonus Point

If you figure out how to import household members based on the column “Houses”, you will receive five bonus point. Take a screenshot of House Stark’s relationship and save it as Lastname_Bonus. (Hint: definitely can ask Yang about how to do it and submit this for five points *Wink*)

Submit Your Assignment

Congrats on finishing this long and complex assignment! Please submit your homework to . The subject line should be “Firstname Lastname Project 1″

Make sure your email include the following files:

  • Lastname_Import
  • Lastname_Knight
  • Lastname_Subs
  • Lastname_Jobs
  • Lastname_Custom
  • Lastname_Report