A Profile is a collection of fields from your database. Profiles are a powerful tool that have many different uses across all components of CiviCRM. Profiles are used to collect data (e.g., on a sign-up form), and to display data to the user (e.g., as a member directory). They can be used both internally (e.g., to create simplified data entry screens for staff) and externally (to display up-to-date information in from database).
You can add any core and custom fields to a profile, including multi-value custom fields. There are also a couple of other special fields you can add to profiles, namely, Groups, which will include all set of checkboxes - one for each of your public groups, and tags, which includes all public tags.
By creating a Profile, you are able to pick and choose only those fields that are relevant for a specific purpose. The diagram below provides a visual explanation of how existing fields become part of a Profile.
This section will outline how to use Profiles for both collecting and sharing data, and share several ways of using profiles that can save time for anyone managing data in your organization.
This section briefly discusses many different ways that Profiles can be used. You can find step-by-step instructions for creating and using Profiles later in this chapter.
A Profile can be used to collect information from your constituents. Profiles can be displayed on standalone pages, or embedded into contribution, membership sign-up, and/or event registration pages. You can add more than one Profile to a page. You can also choose required fields and add text in the Profile that will help users fill out the form.
Some examples:
For example, this profile is being used to collect address information on a donation page.
A Profile can display information, from the database, on public pages. This saves time, because you only have to enter information in your database, rather than in your database and on your website.
For example, a membership-based organisation can provide a searchable membership directory on their website that is updated as soon as a new member joins. Also, an organization that wants to thank its donors publicly can list their names on a web page as soon as contributions are made.
A mini case study: Native Americans in Philanthropy (NAP) wanted to create a membership directory that their members could use to search and connect with each other. Before CiviCRM, they would create a very expensive annual print directory and mail it to every member. This process was time-consuming and expensive, and some data would be out-of-date before the members received their directory. Using a searchable Profile on their website instead meant significant resource savings and, because their website became a portal for their members to connect, it helped to advance their mission.
Details on using Profiles this way are included later in this chapter.
Profile forms may also be used as simplified data entry forms. If you have volunteers or interns who perform manual data entry for your organisation, you can make their task easier by creating a profile form that shows only the fields they need to input. This greatly simplifies data entry and reduces the chance of data being entered incorrectly.
You can also use a Profile to display selected fields in the results of an advanced search. For instance, you could create a Profile that includes the phone number field and a custom field for volunteer interests; when used to display search results, it would provide an on-screen call list for your volunteer coordinator.
Details on using Profiles this way are available in the Customizing the User Interface chapter in Initial Set-up.
There is often a need to update a large number of records all at once. For example, after an event, you may have an attendance list, and you want to mark everyone who registered as Attended or No-show accordingly. Or, you may want to update the Thank-You Sent field for a week's worth of donations all at once.
CiviCRM has a function called Batch Update via Profile, which is available from the -actions-dropdown menu for most kinds of search results (Search, Advanced Search, Find Contributions, Find Memberships, Find Participants, and Find Activities) and from the event participant lists generated from the Manage Events screen.
The Batch Update via Profile function pulls up a view of your search results containing the fields in your profile and allows you to change the contents of the fields on a single screen and save them all at once. Details on using profiles this way are included later in this chapter.
Another use of Profiles is to present a form where people can sign up to receive emails from your organisation. Groups that you use to track different email lists can be added as check boxes, and when visitors to your website submit the form, they are automatically added to the email lists they have checked.
Details about using Profiles to manage email lists are found in the Set-up chapter of the Email section of this book.
Because Profiles can be used for so many different purposes, there are a lot of choices to make and settings to configure when setting them up. There are settings for the Profile as a whole and settings for each field you add—and the choice of what those fields are. Choices you make about one aspect will affect choices you can make about others. For example, some types of Profiles limit the kinds of fields you can include, and some combinations of fields are not allowed in any type of profile. Because of this complexity, it's important to understand the consequences of certain settings and carefully plan what you will use your profile for, and what you need in it, before you create it. You may also need to use some trial and error before you hit on the right solution for your purpose.
Here are some guidelines on which fields can be added to a Profile:
Creating a Profile is a multi-step process. First, you create the Profile and choose its settings. There are basic settings and Advanced Settings. Next, you add the fields and choose settings for those as well.
This section walks you through all the Profile settings and explains how they affect how your Profiles work. As you look over it, you may notice that the list of settings is quite long. It's important to understand that most settings apply only to one type of Profile use. Each time you create a Profile you will be able to ignore many settings, as they will not apply to your intended use.
Profiles have a number of advanced settings which are applicable in various different contexts. Not everything listed under Advanced Settings applies to every Profile; some apply only to specific Profile uses. You can skip over any settings that do not apply to the way you will use your Profile. To access advanced settings click on the gray advanced settings bar and a set of fields will appear
This is important only for Profiles that will be used to display information on your website (e.g., if you will be allowing web visitors to search your data, as in a membership directory).
Any new contacts that fill out this Profile will be added to the Group. You can use this, for example, to add anyone who fills out your volunteer sign-up form to a Volunteers Group. Note that contacts will not receive any confirmation that they have been added to this group or be asked to validate their email address. Also note that if you want to offer more than one group, you might be better off using the groups profile field.
This setting, which is is also applicable only when using a Profile as a sign-up form, allows you to send an email automatically whenever the form is submitted. For example, maybe your volunteer coordinator wants to get an email whenever anyone fills out the volunteer sign-up form. Simply enter the email address in the field; if you want to send email to multiple addresses, separate them with a comma.
This applies only to Profiles that are being used as standalone forms; it will not apply when the Profile is embedded in an event sign-up or contribution form. The Redirect URL field allows you to send people to a specific web page after they submit their form. For example, you may want to create a web page that thanks people for submitting their information. If this field is left blank, people will be directed to a page which displays the information they've just entered.
Performs exactly the same way as Redirect URL, except that it applies when people cancel their form submission.
This applies when profiles are being filled in by anonymous users. CAPTCHA is a type of spam-blocking software that requires the visitor to fill in text displayed in a graphic file. This prevents automated web-crawling spiders (robots) from completing the form. It is highly recommended that you include it.
You must set up a free reCAPTCHA account and enter some configuration information in CiviCRM to use this feature. Go to Administer > System Settings > Undelete, Logging and ReCAPTCHA to configure your account; instructions for signing up are included on that page.
This setting applies to Profiles that are used in public pages and determines whether people can or must use your form to sign up for an account with your website in addition to submitting the information on the form. This can be useful for ensuring people have to sign up for a user account as part of becoming a member or registering for an event.
Like Drupal, Wordpress allows CiviCRM Profiles to create accounts as described above. Within WordPress Settings > General "Membership [ ] Anyone can register" must be clicked.
This setting applies to Profiles that are used in public pages. It controls what happens when the contact data submitted from the Profile matches an existing contact record. You must choose one of these options. "Issue warning and do not save" is chosen by default. Matching in Profiles uses on the Unsupervised deduplication rule (see the Deduping and Merging chapter in the Working with Your Data section for more information about deduplication rules). Note that if there are multiple matching contacts, the first matching record is used.
Here are the options and their effects how your form works:
This applies if you are using the Profile for a searchable directory; it adds a proximity search block to the search criteria. This block contains a field for start address, and another that allows the user to set a search radius (how far from the start address they want to search). Choose None if proximity search is not relevant to your directory, Optional if you want to offer proximity search to your users, and Required if you want to force the user to enter a start address and a search radius.
This applies only if you are using the Profile for a searchable directory; it adds a map to the search results.
This applies only if you are using the Profile for a searchable directory; it adds a link in the results listings to edit the Profile fields in the returned contact records. Only users with permission to edit the result contacts will see this link.
This applies only if you are using the Profile for a searchable directory; it includes a link in the results to the resulting contacts' Drupal user account information (i.e., their My Account page). This link will be included for only result contacts who have a user account on your website.
Once you've saved the profile settings, it's time to add fields to the profile. If you plan to reference custom fields in a profile form, make sure that those fields have already been created.
This section walks you through all the field settings and explains how they affect how your Profiles work. As with the overall Profile settings, not all of them are necessary to consider for each use.
Visibility: If the Profile is being used for a searchable directory, set the Visibility of any fields you want to include on the search form to Public Pages or Public Pages and Listings. For fields that will be used on sign-up forms, set Visibility to User and User Admin only. This ensures that other visitors to the form can't view any data from the database. To use fields for Search Views, you must set Visibility to Public Pages or Public Pages and Listings. Choosing either of the Public Page options pops up two additional settings:
Field Pre Help and Field Post Help: These fields allow you to write text that appears in the user interface to guide people in filling out forms. Field pre help appears inline. Field post help will create a small speech bubble which when clicked appear in a yello
All your profiles are available for viewing and editing at Administer > Customize Data and Screens > Profiles. You can add fields and edit field settings (at the Fields link) and change Profile settings (at Settings). You can also look at how your Profiles will appear, get links and embed code for your Profiles, and copy Profiles to use as a basis for building other Profiles (at more).
This section contains specific instructions for the different profile uses discussed above.
There are two ways in Drupal and Joomla! to use standalone forms once you have created your Profile according to the instructions above:
In WordPress, there is an additional third way. When creating or editing a post, click on the CiviCRM button to insert a CiviCRM shortcode into the post.
On the popup form, select Profile as the desired frontend element.
Use the second select widget to specify the profile you would like to use. Finally, select the purpose of the form — create, edit or view — and click Insert Form.
Multi-value custom field sets allow you to have more than one set of custom data per contact. They are handy for modelling data that repeats, for example, work experience data. You can expose these multiple value custom fields via profiles. In the screen shot below, we have created a profile that is used to collect name and work experience data. Notice that the multi-value custom data appears slightly differently in the profile to facilitate adding, editing and deleting multiple instances of these records.
To put a directory onto your website:
Create your Profile as described above. Be sure to consider these Advanced Settings, as they are especially helpful when using profiles for directories.
Now it's time to include the fields that will make up the directory. For profiles used as directories you have total control over which fields:
The important options you must configure in the fields for directory purposes are shown below:
The image below shows the search mode for our membership directory.
Once you hit search you get this result set. Profile fields that have Results Column checked are shown in the listing.
Clicking the view link gives you more details about the constituent, showing all profile fields.
As we've seen, building a directory for your website can provide a valuable tool for your constituents.
You have several options to link to your directory:
The final way that profiles can be used is to perform batch updates of data. For example, you have a custom field called "volunteer interests" and you want to update the volunteers group with a certain interest. You can easily update the entire group using a profile. You can edit up to 100 Contacts at one time using the Batch Update via Profile function.
From the search results, go to the dropdown menu -more actions- .
Select Batch Update via Profile from the list.
You will go to the Batch Profile Update screen.
From the drop-down list, choose the the Profile you want to use and click Continue.
You will go to the Batch Update screen. You will see a grid with the
fields in your profile.
Update field values for each contact as needed.
To set a field to the same value for all rows, enter that value for the first contact and then click the Copy icon (the image of two documents that is next to each column title). The value will automatically be copied into all the records displayed.
Click Update Contacts to save all your changes or Cancel to cancel the changes.
Batch update limitations
For websites that have logged-in users, you may want to allow people to provide additional information as they register for an account on your website. Similarly, when people fill out a profile form you may want to encourage (or force) them to sign up for a user account.
To include a profile form during the user registration process:
Create a profile that is used for User Registration:
Including profiles in Drupal's My Account screen
You can embed one or more CiviCRM profiles directly into Drupal's My Account screen. This makes it easy for logged-in users to review and update their information whenever they visit their My Account page.
To create a profile for this purpose:
Note: the profile must include only fields related to the Individual contact type.
New account creation during profile sign-up
If you want your constituents to create a Drupal or Joomla! account when filling out a profile, you can enable this with the "User account registration option" under Customize Data and Screens > Profiles click Settings against a profile. Anonymous (not-logged-in) users will then be invited (or required) to create an account when they visit the profile. Logged-in users will just see the profile fields.
You must include a Primary Email Address field in the profile for this feature to function properly. This feature also works when the profile is embedded in an online contribution page or event registration page. Hence you can invite or force anonymous visitors to sign-up for an account when they register for an event.
Often you will want to define certain fields for inclusion in event registration and contribution pages. The only significant difference is that you can include fields in your profile that are specific to participant records (for event registration forms) and contributions (for contribution pages). Read about including Profiles in contribution pages, event registration pages, and membership sign-up pages in the Set-up chapter of Contributions, Events, and Memberships.
Read more about Profiles in the following chapters:
As you have seen, profiles can be put to a lot of different uses. It is worth bearing in mind that there are alternative approaches for many of these use cases. The alternatives available to you depend on the CMS that you are using and your skill set, and have advantages and disadvantages We've listed a few of the common ones below for you to investigate.
With some basic coding skills (which if you are keen and reasonably technically minded you might be able to pick up in a day or so) you could use the API to flexibly display data on your website. See the Developer Documentation wiki (http://wiki.civicrm.org/confluence/display/CRMDOC/Develop) for an introduction to using the API.