This chapter assumes that you've gone through the event planning chapter and sketched out the type of events you need to configure, along with the event-related data you want to collect and track. Now it's time to set up CiviEvent and start creating events.If you do not see the Events menu item in your navigation menu bar and you don't see CiviEvent under the Administer menu, you may not have the component enabled. Navigate to Administer > Configure > Global Settings > Enable Components to enable CiviEvent.
General CiviEvent Configuration
A number of general settings lay the foundations for your events such as Event Type, Participant Role, and Participant Status. These have been described in the Planning chapter, and you should modify them as appropriate before you begin creating events.
Here is where you define the types of events your organisation holds. You can return at any time to add to the list of types or modify an event type label. However, you can not delete event types which have been assigned to one or more events.
- Navigate to Administer > CiviEvent > Event Types to review the default list of event types, shown in the following screenshot.
- Modify event type labels by clicking Edit on any row.
- Click Add Event Type to create a new category for your events.
- Navigate to Administer > CiviEvent > Participant Roles to review the default list, shown in the following screenshot.
- Modify participant role labels by clicking Edit on any row.
- Click Add Participant Role if you need additional roles that are not in the default list (e.g. audio-visual coordinator, catering manager, etc.).
Participant StatusesNavigate to Administer > CiviEvent > Participant Statuses to review the default list, shown in the following screenshot. Some statuses in the list are marked Reserved (with a green checkmark). This means that they are required for event workflows and can not be deleted or disabled. However you can change the label, which is what users see when they select from a list of statuses.
There are five statuses that are disabled by default (displayed in red). These statuses are used for optional event registration features, including paid online event registration and the participant waitlist. These statuses must be enabled if you want to use those features.
You can rename statuses to friendly names such as "Yes, I'm coming", "No, I can't make it", and "Maybe" by editing participant statuses as shown above. Then for each of those statuses, determine which ones are for administrative use only or for public use and select Admin or Public accordingly. This allows you to expose the participant status field via a profile on your registration form, displaying only those with public visibility. For example, you may want to display "Yes, I'm coming" but not "Pending from pay later".
If you want to use the Waitlist feature for any of your events, you must enable the "On waitlist" and "Pending from waitlist" statuses here.
Enable "Awaiting approval", "Pending" and "Rejected" statuses here if you want to use this feature for any of your events.
To collect custom data from participants, add new custom fields through Administer > Customize > Custom Data. Give a name to the set of custom fields, such as Participant Info, by clicking Add a set of custom fields.
You must then choose what the set of custom fields is to be used for. For example, a set of fields might be used for events, participants, participants at certain events, or participants who take on certain roles (such as speakers). Here's additional explanation of what custom fields might be used for in CiviEvent:
- Events (Event Type): This type applies to fields that are connected to the event itself, or to a specific event type. For example, Arts in Action from the scenario in What is CiviEvent? hosts a series of training workshops throughout the year and wants to create a custom field to track six common topics covered in workshops. You could create a checkbox style field with the list of topic options, such as XXXX. When creating an event of type Workshop, this field will be available. Note that you are not required to select a specific event type. Leaving the dropdown set to Any indicates the field is available to all events, regardless of the type.
- Participants: The Participant use type attaches to the actual registrant record. For example, you may want to know whether a registrant has any dietary restrictions and collect that information when they register.
- Participants (Event Name): This use type is identical to the Participants type, with the exception that it allows you to assign a group of custom fields to a specific event. Returning to the previous example, you may find that the dietary restrictions field is relevant only to an upcoming full-day workshop where lunch will be served, but not to an afternoon workshop series you are planning for the coming month. You could create the field set and assign it to a single event.
- Participants (Role): Additionally, you may create a participants type field and assign it to a single participant role. This is valuable, for example, if you need to collect biographical profile details from your speakers and wish to record it with their event registration. Because that field is applicable to only the Speakers role, you would limit it using this interface.
After creating your set of custom fields, add the actual fields within each set, such as Lodging Preferences (Single or Shared Room) or Dietary Needs (Vegetarian, Vegan, Allergies). Refer to Custom Data in Understanding Your Data before creating your actual fields.
Using Profiles for online event registrationNavigate to Administer > Customize > Profile to set up and edit profiles. The following screenshot offers a typical example of a Profile used for a conference where there is an option to provide childcare. Notice that this profile contains fields belonging to Individuals and Participants.
If you are not familiar with setting up Profiles, refer to the Profiles chapter the section on Understanding Your Data.
You will assign a contribution type to funds that comes in through events. This makes it possible to track fees that come in via events separately from funds that come in otherwise, or even distinguish between fees that come in for different event types.
Registration confirmation and receipting
You can send automated confirmation and receipt emails to participants who register online, as well as participants who are registered by your staff or volunteers. The content and layout of these emails are controlled by message templates. Both HTML and Text formats are provided. You can modify or add text to these emails, or add branding such as a logo to the HTML versions. To set up a from email address from which to send the confirmation and receipts, see Set-Up in the Email section.
Navigate to Administer > Configure > Message Templates (shown in the following screenshot) and click the System Workflow Message tab to see the list of messages you can modify. Click Edit next to "Events - Registration Confirmation and Receipt" rows to edit the content and layout.
The templates for these messages include both the text shown and necessary program logic. Use caution when editing so as not to modify the program logic. Be sure to test the workflow and review the emails sent after making any changes. If you find that your changes have caused problems, errors or missing information, you can always revert to the system default for that workflow.
Creating an event
You're ready now to create an event. The rest of this chapter guides you through the sequence of screens which allow you to control each aspect of the event. As we walk through each step, the options and their effects on the resulting registration form are illustrated by screenshots and examples.
It's a good idea to go through each screen in detail as you learn about available options. Later in this chapter we'll explain how you can streamline the event creation process by creating event templates. These allow you to pre-fill most options.
Begin by navigating to Events > New Event.
Event Information and Settings
The first page in the event wizard requests basic information about the event:
- What type of event is it (e.g. conference, workshop, etc.)?
- What role will participants be assigned when they register online for this event? Roles distinguish different types of event participants, such as attendees, speakers and staff. The value placed in this field will be assigned by default when users register online. The most common value is Attendee.
- Do you want users to see a list of participants, and how much information about the participants do you want to reveal? Participant listings demonstrate support for an event and can help to generate interest within your constituent community. Note that the options you define in this section only enable participant listings — to display it, you will need to create a menu item or link to the listing somewhere on your web site. Once you've created the event, the participant listings link is displayed on the event configuration page. Refer to the chapter on Everyday Tasks for information on participant listings and other ways to promote your events.
- What is your event called? The title will appear on event information pages, registration pages, event listings, and in the Manage Events administrative page. Be sure to choose a meaningful, well-crafted title to represent your event.
- The next two fields (event summary and complete description) let you describe your event. Both the summary and complete description will be included on event information pages. Use the rich-text editor provided for the description field to include photo, images, and formatted text.
- Enter the start date/time and end date/time for your event. These will be included on the event information page and event listings.
- Set a maximum number of participants for each event and define a message to be displayed when that number is reached. This is important, because online registration otherwise lets people sign up without giving your staff a chance to intervene and shut off registrations.
- If you'd like to enable the Waitlist feature, you must first enable the related participant statuses. You can then check "Offer Waitlist" and set the message you want displayed on the event information page when the event is full.
- GPS and web-based mapping tools: CiviCRM integrates this functionality by letting you include Google Maps or Yahoo! maps throughout your site. You will first need to configure your mapping solution through Administer > Configure > Global Settings > Mapping, then enable a map link which will generate the location based on the event location.
- Select the "Public Event" box to include the event in promotional listings such as RSS feeds, iCal files or feeds, and event listing pages. (Other techniques for promoting events are described in the Everyday Tasks chapter of this section).
- Lastly, you have the option of making this event active or inactive. If you anticipate that it will take some time to complete the configuration of your event, consider making it inactive it until it is complete to ensure it is not inadvertently listed on the event listing feeds. You can easily activate the event when you are ready to begin publicizing it.
After reviewing the details on this page, click Save to advance to the next step. When you press Save, your event is created. You can interrupt configuration on any subsequent page by clicking Cancel and return later to review and modify any of the settings. Any information you entered on any page will be preserved so long as you press Save on that page.
To return to a saved event, navigate to Events > Manage Events and click Configure to continue working on the event.
The next step is to complete the location and contact details for the event. Though optional, it is highly recommended that you take the time to provide these details to your potential participants. If you have enabled a map link in the previous step, make sure that you fully complete the address details on this page (see screenshot).
Once you have entered an event location, you can reuse it for subsequent events by clicking Use existing location and selecting from the dropdown list.
You can also list phone numbers and email addresses on the event information page if you want to give registrants a way to contact event organizers directly. If the event is being held off-site from your organization's primary location, you may also want to provide contact information for the meeting location.
Click Save to save your entries and advance to the next step.
If the event is free, set the Paid Event radio button to No, then click Save and skip to Online Registration.
If this is a paid event, click Yes. The screen will show the options available (see the following set of screenshots).
Questions you are asked on this screen are:
- What contribution type will be assigned to paid registrations for this event? Although the most common value for this field is simply Event Fee, CiviCRM provides the flexibility to define multiple contribution types and assign them to different events as needed. See Set-Up in the Contributions section for details.
- Do you want to allow registrants to pay later by mailing in a check, paying on-site with cash or credit card, or arranging some other payment method? If so, you can enable the Pay Later option and define a label and payment instructions. If you keep this unchecked, registrants will be required to pay by credit card.
- Can you use Regular Fees for this event, or do you need to use a Price Set? Regular fees are easy to set up: each fee amount has a label assigned and you can set a default fee. Here's a simple example:
- Price sets - examples and steps for creating price sets are covered later in this section.
- You can also configure early bird discounts (discounts determined by sign-up date). These override regular event fees. This discounting method is available only for the regular fee structure. Implementing other discounting rules or discounts for price sets requires additional programming. You or your developer should refer to the section on extending CiviCRM for more information.
- Discounts are structured in parallel with the base event fees. After creating your list of fee options and enabling the discounts feature, you must create the discount set and add it to the fee table. To help you create a discount set, a new fee table will appear toward the bottom of your page, duplicating the original fee table shown in the previous screenshot. You can now edit the labels and fees to correspond to the discounts offered for each of the original fee options.
- You can create multiple date-based discount sets for an event. This may be useful if you have a series of early bird dates that progressively increase the cost of registration as the date of the event gets closer.
Click Save and advance to the next step.
Your organisation may want its staff to register participants manually. However, allowing people to register online (self-service) through your web site offers many benefits. Online registration is convenient for your constituents and can save staff time and resources.
To offer online registration, check Allow Online Registration and use the options on this form to configure this feature.
- Define the text to be used as the link to the registration form, and set the starting and ending dates for registration. The link text is used in the event information page, and is most commonly "Register Now" or similar. The start and end dates define when web site visitors may register for the event. The registration end date may be different from the start date of the event, as you may want to close registration in advance of the event in order to prepare name tags or perform other administrative functions.
- Enabling "Register multiple participants" lets individuals register as many people as they choose for the event and pay the fees with a single transaction. For example, an organisation may be sending multiple people to a conference, or an individual may bring their partner and wish to register and pay for both in a single process. By default, this option requires a different name and email address for each person registered.
- Checking "Allow multiple registrations from the same email address" provides the same capabilities, but without requiring distinct email addresses for each registrant. In either case, CiviCRM uses a separate contact record (either an existing one if it's already in the system, or create a new one) for each individual registered.
- The Registration Screen configuration defines introductory and footer text for your registration page, and the profiles included in the top and bottom regions of the form. If you come to this stage in the wizard and have not created your profile form, you may continue with the event set-up process and return to the event configuration page later to select your desired profiles.
- What other data do you want to capture from your participants as they register? By default, the CiviEvent registration page requires only an email address. Organizations typically want to collect additional contact information from the registrant, as well as define fields unique to this particular event (such as meal choice). The custom data fields and profiles used here (see screenshot) must be created before you reach this form, as described earlier in this chapter. Here, you can include up to two profile form snippets in your registration page. It's a good idea to put contact data (name, address, etc.) in one profile snippet, and event related information (e.g. meal choice, childcare requirements, etc.) in the second profile.
- You can collect different information from additional participants by selecting different profiles, or the same by selecting "same as for main contact".
The remaining fields on this page allow you to define the text displayed on the Confirmation page, Thank-you page, and emailed confirmations/receipts (if enabled). The standard page flow is shown in the following screenshot:
For free events, the Confirmation step is skipped. When completing the Confirmation, Thank-you, and Confirmation Email sections on this page, take care to think about the user experience at each stage in the process. Ensure that the text is appropriate to the point where the registrant will be in the registration process.
For most events you'll want to enable the Send Confirmation Email feature (see following screenshot). For paid events, the confirmation email also acts as a receipt. Make sure that the Confirm From Email address entered is a valid email account on your mail server. Add one or more staff emails (separating multiple email addresses with commas) to the CC Confirmation To field if you want real-time updates on who is registering for your event.
Click Save to save your entries and continue with the next step.
CiviEvent makes it easy to leverage the social networking power of your committed constituents by empowering them to quickly and easily share details about your organization and event with their friends and colleagues. The final step in the event creation is a page where you can enable "Tell-A-Friend" capabilities. You can define the text and links to be included on that page and in the email sent from the tool (see the following screenshot).
A "Tell a friend" activity record will be added to a participant's Activities tab each time she sends mail to her friends. This allows you to track your most active supporters and engage them further. The people who are emailed using this feature are also automatically added to CiviCRM as contacts.
This is the last step in creating an event. Click Save and Done.
Testing Your Event
Before revealing your event to the public, you should always test the event registration process. This can be done as follows:
- Navigate to Events > Manage Events.
- From Event Links, select Test-drive to test the registration page. Test-drive mode will use the sandbox options for your payment processor, if available, and will create a registrant record with a test indication so that it can be reviewed and easily removed.
- Fill out the registration form and complete the registration process.
- In order to find the new test participant record, navigate to Events > Find Participants.
- In the search criteria, check the box Find Test Participants.
- If you need to adjust the event settings, navigate to Events > Manage Events and click the Configure link for this event.
- If you discover elements that you need to edit and adjust, select Configure to return to the list of event setting pages.
- If you have events where anonymous users register for events, you should also test the registration when not logged in. Refer to the Event Permissions information later in this chapter for details.
Using event templates to streamline event creation
If you need to set up a number of events with similar configurations, you can streamline the process using event templates.
The steps for creating event templates are similar to those described earlier for creating an event. The main differences are:
- Assign a descriptive template title that clearly identifies the type of event this template is used for (e.g., Monthly community meetup with online registration).
- There are no starting and ending dates in the template form. That information will always be specific to an actual event instance.
Click Events > Event Templates.
- To create a template, start by navigating to Events > Event Templates and clicking Add Event Template. Enter template title and event type.
- Select campaign if all events created from this template should be associated with a campaign.
- Continue the normal event set-up process using the settings that will be constant for all events to be created using this template.
- Common characteristics might include location, event fees, online registration settings, tell-a-friend settings, etc.
Once you've created an event template, you can select that template (as shown in the following screenshot) when you start to create a new event. Your event will be pre-filled with the saved configuration properties.
Setting permissions for event registration
This section applies to Drupal installations only.
If you've enabled online registration for events on your site you need to review the Drupal user permissions to ensure that visitors are able to view event information and complete the registration forms. Navigate to Administer > Users > Permissions.
Most organizations allow anonymous users (users who have not logged in) to view and register for events. If you want to allow this, you must assign the following CiviCRM module permissions for the anonymous user role:
- access all custom data - required if you are collecting information in custom fields from registrants
- profile create - required if you've included any profiles in your online registration forms
- register for events
- view event info
- view event participants - required if you want to display a listing of registered participants.
If you want to exclude anonymous visitors from viewing or registering online for events, assign these permissions to an authenticated user role.
CiviCRM has an additional permissioning system known as Access Control Lists (ACLs). ACLs allow you control access to CiviCRM data. Note that a CiviCRM ACL Role is not related to the Drupal Role. Refer to the Access Control List chapter for more information.
If you need to limit access control for specific events, you can use the Manage Access Control feature to assign access to specific groups of contacts.
Including profiles for an event registration
To best way to collect additional information (such as food or lodging preferences) during online registration is to include profiles in your event configuration.
Do this as follows:
- Navigate to Events > Manage Events.
- Click Configure for the appropriate event.
- Click the Online Registration tab or link.
- Select from the dropdown menus one profile for "top of page" and another profile for "bottom of page".
Complex event fees with price sets
Price sets play a role similar to custom data fields and profiles, but support options for event fees instead of basic data collection. Here's an example of how a price set looks to a person who is registering for a Conference that includes optional pre-conference training sessions, meals and lodging:
We saw earlier that event creation involves setting up event fees. The standard fees layout form is a very simple structure, allowing you to create a list of fees and their labels. The resulting layout allows the registrant to select one option from the list. Often, this single-option format does not meet the complex demands of your event registration structure. Price sets allow you to create multiple registration fee fields and assign the entire set to an event.
To create and manage price sets:
- navigate to Manage Price Sets and choosing the Events link OR
- navigating to CiviEvent > Manage Price Sets and choose Administer.
Similar to custom data sets, you begin by creating a new price set and then adding specific fields.
Creating a New Price Set
To create a new price set:
- Click Add Set of Price Fields.
- In the Price Set form, enter the name of your price set, whether it's used for events or contributions, and a description.
- Press Save.
- A form appears for you to create the first field in your price set.
Creating a New Price Field
Begin by entering a name for the event item in the Field Label.
The Input Field Type has a structure similar to custom data fields, with some unique qualities and usage relevant to fee structures.
- Text/Numeric Quantity: allows you to set a unit price. When the form is presented to the registrant to fill it, it displays a text box where the registrant enters a quantity. The quantity entered is multiplied by the unit value to calculate the fee.
- Select: displays a dropdown box where the registrant selects one option from the list.
- Radio: displays multiple options in a list, allowing the registrant to select one fee choice.
- Checkbox: displays fields in a list where the registrant can select or unselect any number of options.
You can combine these field types to create virtually any fee structure.
Enter a number in the Participant Count field if you want to increment the number of registered participants per unit against the maximum number of participants allowed for this event. For example, if this price field is for a table at a fundraiser which seats eight people, you would set Participant Count to 8.
For Text/Numeric Quantity fields, enter an amount in the Price field. For Select, Radio and Checkbox types you will enter a price for each option in the table of options (shown in the screenshot above).
If you want to display the price next to the event item, check the Display Amount? box.
As when creating other custom data, you can enter a description for the Field Help, decide whether the event item is required, select whether the event item is visible to the public or only to the administrator in the Visibility field, and indicate whether the event item is Active. These fields are described in the chapter on extending core data.
Next, you can either press Save to finish configuring this event item, or Save and New to create another price field for this price set.
Once you finish configuring your price set, you can add it to your event in step 3 where you configure the event fees. Select the name of your price set in the Price Set field as shown in the following screenshot.
As with custom data fields, it is to your advantage to give thought to the structure of your registration fees and build the price set before creating the event. However, if you begin the event creation process and determine that you needed to construct a price set, you can complete the process, create the price set, and then return to the event configuration page to assign the price set.
Price sets can be reused in multiple events. This is particularly helpful for organizations that run multiple events in a series, such as a regional training seminar program.