Email Communications
The last decade has seen a remarkable shift in organizational communication methods away from postal mail and towards the use of the internet and broadcast email as a primary means of communicating with constituents. This reality is particularly true for non-profit organizations who have found email a faster, more effective, and lower cost way of communicating with their contacts.
CiviCRM provides broadcast email capabilities through the CiviMail component. The central benefit CiviMail offers is the opportunity to manage your mailing contact list in conjunction with your contact database. Unlike other solutions, you do not have to transfer your mailing list from one system to another or manually update your primary contact database to reflect optout and unsubscribe requests. CiviCRM presents a unified solution toward contact email capabilities.
Methods of sending Emails
There are two ways to send emails using CiviCRM.
1. Emails can be sent directly to a single individual or group of individuals collected through search results. Emails sent through the contacts screen or search screen are recorded in CiviCRM as activities and can be saved as templates.
2. Emails can be sent through the CiviMail component tools.
CiviMail
CiviMail is a more advanced way to send mass emails and should be used for larger scale mailings. The CiviMail tools will help you manage your mailing list by: allowing recipients to subscribe and unsubscribe; placing bounced emails on hold; providing ways for users to optout of mailings completely (in accordance with the United State's CAN-SPAM act).
Using track-back mechanisms, CiviMail also provides feedback on how your emails are being used and whether they are received and opened. For example, if you send an email to your contacts and the email contains a link, you will be able to review how many people clicked the link to open it and who those people were. This is a tremendous value when trying to assess the success of your email marketing programs.
The disadvantage of CiviMail over the simple contact and search based email function is that it requires more work for the initial configuration and requires more steps for sending out emails.
Note that CiviMail has specific server requirements that are necessary in order to take advantage of the full functionality. In some instances you may require professional assistance setting up CiviMail or you may find that the web hosting provider you are using does not meet the CiviMail configuration requirements. Please review the requirements and documentation online before attempting to setup the system: http://wiki.civicrm.org/confluence/display/CRMDOC/CiviMail+Configuration
Setting up Email Templates
Whether you are using simple contact and search-based email or CiviMail, there may be consistent layouts or content pieces that you wish to use repeatedly in your emails. For example: the Wellington Circus Trust often has people who have registered online for a class but who have not completed their registration by submitting payment. Some are simply slow in paying whereas others have changed their minds about taking the class. Obviously this makes it difficult to determine in advance how many people are going to attend the event. To address this, the organization sends out a standard email on a regular basis to all people with pending events registrations, requesting confirmation. This standard email is consistent from one event to the next.
Rather than write that email every time they need to request confirmations, they have created it once and saved it as a template. To create or edit a template go to Administer CiviCRM » Message Templates.
Note that the message title is only for internal use (template selection) whereas the message subject is what the recipient sees.
CiviMail will allow you to create both a text and an html-based message for your emails. Templates can contain both versions of the email or just one. Templates may also be created or updated at the time you prepare a new email. After developing your email content you have the option of saving the email as a template before you continue to the next step in the mail "wizard".
Tokens
You may notice in the screenshot above that the very first line contains text that is surrounded by curly brackets. Text that appears in this way is called a token. Tokens present one of the most valuable features in CiviCRM's mailing tools. A token represents a field (predefined or custom data) or action, and is replaced by the appropriate value at the time the email is sent out. The example above uses the first name contact token in the salutation. For each contact that the email is sent to, the token will be replaced with their first name. For example: if the email is sent to Richard Richards, the first line will read: "Hello Richard." There are dozens of tokens available and each has its own unique functionality. To view the list of available contact and action tokens visit:
Only contact fields and actions can be inserted in your email as a token. Related records, such as the name of the event that they have a pending enrollment for, cannot be included. However, you could provide a link to the person's contact dashboard so that they can review their registration details for themselves (once logged in).
In most mailing interface pages the list of available tokens will be displayed above the mailing content block. Here, they can be inserted directly into the content by clicking the desired token. This greatly simplifies the token insertion process.
The checksum token
There is one contact token with unique qualities, the checksum token {contact.checksum}. The checksum token allows you to send an email to your constituents with a link to a contribution page or profile that has their contact information already filled in. This saves contacts the hassle of logging in or completing the form from scratch, and can increase the chance they would respond to the email by contributing or reviewing the details provided on the screen.
To use this functionality, you will need to create a "special" link in the CiviMail message that includes the checksum token {contact.checksum}. When people click on the link it looks them up in the database and prefills any information on the contribution page or profile form with any data that exists in their record. The special link lasts for seven days from the time it was sent out. For more information on how to create links with checksum tokens, visit: http://wiki.civicrm.org/confluence/display/CRMDOC/Mail-merge+Tokens+for+Contact+Data
Email Formats
As noted earlier, the email content page includes one field for entering a text version of your message and another one for entering an HTML version. Which version is sent depends on the individual's preferences as configured in their contact summary screen. The relevant part of the screen is displayed below.
The default setting for email format is "Both", which means that the email that you send will use a multi-part mime type, and the email will contain the message content for both the text and html content fields. This also means that which version the recipient sees will depend on the settings they have chosen in their email client application. If the email format is set to HTML they will receive the email content you have entered in the HTML field. If you have not entered HTML content they will receive the content from the text field.
Note, however, that if the contact's Email Format is set to "Text" and you leave the text content field blank, the contact will receive the html version of the email but it will not be displayed nicely. Their email client may display a lot of extra characters and information making it very hard to read. It is advisable to copy the content into the text version of the email unless you know it is not required. You should also think carefully before changing someone's email format to anything other than Both as this is usually the best setting.
Writing HTML Emails
Formatted emails are called html emails because they use the Hyper Text Markup Language for formatting. Fortunately you don't need to know HTML markup (unless you want to), as CiviCRM offers two WYSIWIG editors that use common toolbar buttons to control the layout. "WYSIWYG" stands for What You See Is What You Get and it is commonly used when referencing graphical editors that allow you to work with visually formatted text rather than the code that is actually used to achieve the formatting. The two WYSIWIG editors that are included with CiviCRM are called FCKEditor (the default) and TinyMCE. You can choose which one you want to use under Administer CiviCRM » Global Settings » Site Preferences. Both WYSIWIG editors are well-used Open Source Software and have their own websites and forums which you can consult if you wish to use advanced configurations such as replacing the default styles in the drop-down boxes with your own styles.
FCKEditor
TinyMCE
The interfaces of the two editors are pictured above. They are intended to be fairly self-explanatory and if you hover over a button information about what it does will appear. There are two buttons of particular interest in this environment:
Paste from Word: Use this if you are copying and pasting from Microsoft Word. Though you may not be aware of it, MS Word uses hidden code to control the layout and styling on pages. When you copy and paste to the email layout editor, much of that code is copied over and can adversely affect the layout of your content.
Maximise the Editor Size: Use this button to enlarge the editing window to the full screen size. This is particularly helpful when you are editing and laying out significant volumes of content. Click the button again to return to the mailing content page.
Sending Simple Emails
A simple email can be sent to an individual, a search result set, or to a group. In any of these cases, details of the email are added to both the sender's and recipient's activities tab record. This provides a valuable way of recording communications for future reference and/or for developing an audit record.
Simple emails are generated in the following ways:
- To send to an individual contact, click the "Send an Email" link on their contact tab. Note: if their record does not include an email address, this link will not appear.
- To send to a search result set, first complete the search using one of the search tools. Select all records from the header bar or choose a subset of records using the checkboxes. From the actions dropdown select "Send Email to Contacts" and complete the email form.
- To send to a group, first navigate to the Manage Groups page and select the "Members" link for the group of your choice. Select the records of your choice and use the action dropdown to "Send Email to Contacts."
Note that the simple search tools are intended for low volume mailings, both because of the scalability of the sending mechanism and the way the emails are tracked for each contact in the system. Using the simple search for very large sets of emails may create unnecessary overhead on your server and add unnecessary records to your database. In addition and of equal importance, sending high volume emails via this method may cause your organization to wind up on an email "blacklist", which is definitely something to be avoided.
CASE STUDY: Sending Email to contacts found in Search Results
Wellington Circus Trust hosts several workshops for people interested in developing circus-related skills. People are allowed to register online with the option of paying later. Unfortunately, giving people this option often results in many registration records with pending status either because individuals often take their time submitting payment or they decide, after all, not to attend.
Begin by navigating to the Find Participants menu option (CiviEvent » Find Participants), select "pending" from the Participant Status field, and click Search.
In this case, the search returns two contacts. You can either Send Email to contacts directly or if you plan on reusing the search result you can create a New Smart Group. For the sake of this case study we will simply initiate the mailing.
After choosing "All 2 records" we will select "Send Email to Contacts" from the action dropdown and then proceed with creating and sending the email.
Composing and sending the email
The Send Email page is where you will construct the content of the email. Note the following:
- If you have setup one or more FROM email addresses in Administer CiviCRM, you will have the option of selecting which which one will show up as the "From" adress on the email. By default, the Send dialog will use the email address of the administrator currently logged in. You may change this using the dropdown.
- If you have previously created templates for use in mailings, a dropdown box will list the available templates. Selecting a template populates the text content and html content fields with the message content from the particular template you have chosen. You can then edit that content and resave if you so desire.
- As discussed earlier, you can use the tools on this page to insert tokens into your email and develop content in both plain text and html format.
After completing this form, click send and the message will be sent immediately.
Preparing Broadcast Email in CiviMail
CiviMail performs the same basic functions as the simple mail tools with the following additional features:
- Scalability to manage large mailings. Some users of CiviCRM have mailing lists stretching to 100,000 records or more.
- When defining the recipients of your mailing, CiviMail provides a very sophisticated mechanism for selecting or excluding groups, and selecting or excluding recipients from past mailings. This provides significant control over your mailing, but requires some work in advance. In particular, you must have created the group that will be your primary recipients list.
- Techniques to prevent your emails from being treated as spam.
- CiviMail has trackback capabilities, including the ability to track opens (did the recipient open the email in their email client) and to track click-throughs (did the recipient click links embedded in your content). This is a powerful way to monitor the success of your broadcast emails.
- CiviMail will permit you to draft the email and its corresponding settings and save it for future review and sending.
- Bounce processing capabilities will handle undeliverable emails automatically, flagging them in the contacts record with a "hold" value until administrative staff can confirm or correct the email address. You are also able to include unsubscribe and optout tokens in your email so that recipients can easily remove themselves from your mailing list or choose not to receive any emails from you at all.
- Email content can either be uploaded from a file or created onscreen. This is particularly helpful when you are creating an email design that is complex and layout intensive.
- CiviMail will allow you to configure and include headers and footers in your emails. Because broadcast email regulations in certain countries require the inclusion of the sender's mailing address and unsubscribe/optout links, the ability to define a footer can greatly facilitate how you meet these requirements. Simply configure the content to include the required fields and when developing your email content, include the footer.
- CiviMail also provides the ability to schedule mailings for a specific date and time.
When compared with the functionality and workflow of the simple mail tools, CiviMail is clearly more robust and complex. It is directed toward larger broadcast mailings where tracking, bounce handling, and more advanced recipient selections are required.
As noted earlier, it is important to understand that CiviMail has certain server requirements and additional installation steps that must be completed before it can be used. This includes configuring bounced email processing and scheduling "cronjobs" on your server to trigger mailings. Please review these requirements thoroughly and consider seeking outside help if you are unable to complete the configuration steps. You can find more information here: http://wiki.civicrm.org/confluence/display/CRMDOC/CiviMail+Installation
Configuring CiviMail Settings
Before using CiviMail you must configure Mailer Settings and a Mail Account on the Administer CiviCRM page.
- Mailer Settings: The mailer setting configuration controls the rate, batch size, and method details of your mailing process. The options are provided to accommodate server environments that may place restrictions on the number of emails sent per hour or the total number of emails that can be sent in a single instance. In many cases you can leave the default settings, but if you are not sure, you should contact your hosting company's support department (if you have one) to find out what restrictions, if any, they have placed on the system and how your settings should be configured to accommodate those limitations.
- Mailer Spool Period: The number of seconds between delivery attempts for new outgoing mailings.
- Mailer Batch Limit: The limit or "throttle" for email delivery as the maximum number of emails sent during each CiviMail run (0 = unlimited).
- Mailer Spool Limit: The limit of emails sent via smtp mailer. If the limit is exceeded the emails are sent through the Spool table.
- VERP Separator: Separator character used when CiviMail generates VERP (variable envelope return path) Mail-From addresses.
- Mail Accounts: CiviMail provides the ability to automatically process bounced emails, replies, and to handle email-based subscribe/unsubscribe and optin/optout requests. To accomplish this you must setup a "Return Channel" solution. There are multiple return channel options available, as outlined in the online documentation (http://wiki.civicrm.org/confluence/display/CRMDOC/CiviMail+Installation#CiviMailInstallation-SettingUptheReturnChannel). The "standard" solution is php-based and involves creating a catchall email account that will be periodically polled and processed based on the bounce rules. There are several steps required in order to accomplish this, one of which involves configuring the mail account details through this interface. For full details on implementing this solution, visit the online documentation: http://wiki.civicrm.org/confluence/display/CRMDOC/CiviMail+Processor
Note: After sending your first email using CiviMail, please monitor the process carefully using the mailing report tool. If you notice a significant number of bounces, it is likely that your server is rejecting emails because you have exceeded the maximum limits per hour. If this is so, you will need to adjust the mailer settings to limit how many emails are sent per hour, or how many are sent per batch.
Also note that the Return Channel functionality is not a required feature. If you choose not to implement one of the Return Channel solutions you will continue to receive bounced emails, but they will not be processed by CiviCRM automatically. Also, if you do not configure a return channel, replies from the recipients CiviMail will not go to the sender of the mailing and will instead end up in your email domain's catchall account. You must also be sure to use the unsubscribe and optout url tokens—as opposed to the email tokens, as your system will not be able to process the emails unless a Return Channel solution is functioning.
The CiviMail wizard
We will now review the five step wizard used to create and send a new mailing and discuss the features on each page in more detail.
1. Select Recipients
CiviMail uses a series of include/exclude field sets to construct logic for the recipients list. The first pair of field sets is used to select groups that should be included, and groups that should be excluded, from the mailing. The second set of field sets is used to include and exclude contacts from previous mailings. The primary value of this logic-based layout is the ability to send mailings to contacts and exclude those that may have already received the mailing.
For example, consider a situation in which you need volunteers to help with a fundraising event. You have already sent out an email to the contacts in your "Volunteers" group but having not received enough replies has prompted you to send an email to all newsletter subscribers. You don't, however, want to re-send the email to the Volunteers who have already received it, but a few people have been added to the volunteers mailing group since you last sent the email, and you do want them to receive it.
Complicating the matter is the fact that there are a few people in your database who helped with last year's event but proved very difficult to work with. You've added them to a group called "Hard to Work With" and you would like to exclude them from the mailing to discourage their participation. Finally, you want to include contacts from the "Trustees" group, some of whom are not in the newsletter subscribers group.
This fairly complex set of mailing recipient requirements can all be accomplished using the logic rules in CiviMail.
Note that the name of the mailing defined toward the top of this page is used for internal reference, and should be descriptive of the mailing.
The CiviMail recipients selection mechanism is heavily dependent on groups. You will need to make sure your desired recipient list is defined in a group prior to initiating the mailing creation process. If you are not familiar with how regular and smart groups are defined and configured, please take time to research that further.
When you create and configure groups, be sure to select "Mailing List" from the available Group Types list if you would like that group to be available to the CiviMail component.
Using the recipient selection options shown above, someone who is in both the Trustees and the Newsletter Subscribers lists will only receive the e-mail once. If however, they are in a group that is excluded they will not receive any e-mails. Exclusions override inclusions, so Trustees and Newsletter Subscribers who received the
Please Help with Our Annual Fundraiser email would be excluded from this follow-up mailing.
If two different people are included in the mailing and they have the same email address the email will be sent twice to that email address. Any personalisations that you use (e.g. putting in the person's first name using a token) will be specific to each recipient.
2. Track and Respond
The second step in the mailing wizard controls tracking and response options. Tracking is the system whereby CiviCRM seeks to determine if the recipient has clicked any links included in the content of your email, and whether they opened the email on their computer. If you have enabled these two options in this second stage of the wizard, you will be able to view a report at the conclusion of your mailing in which summary details about your mailing are listed, including the number of click-throughs and tracked opens. A sample summary report is displayed below.

The summary report provides totals for each statistical category. The items in blue are hot-links which when clicked direct you to additional details about the statistics. The Tracked opens field gives you reasonable insight into what proportion of your audience read your email, but should not be viewed as a definitive measure. People who only read your email in their preview panel or who choose not to download images will not be recorded. Thus it is likely that the true number of people who read your email is probably more than that reported.
Click-throughs refer to the number of times people have clicked on links embedded in your emails. The detail report breaks this down further for you into unique clicks (i.e. if one person clicks on one link more than once there are several click-throughs but only one unique click-through). The screenshot below is from a real mailing distributed by Wellington Circus Trust. As you can see from this report you receive more information about the success of your email communications if you adopt a strategy of including a teaser in your emails with a link to the full story. A teaser is an enticing introduction to a topic with a link to read more about it on your website.
Additional details about the specific contact person are also included in this report.
The
Responding section of the second wizard step provides options regarding reply forwarding, auto-respond, unsubscribe, resubscribe, and opt-out messages.
Anyone who has managed a mailing list knows the significant challenges involved in maintaining an accurate and updated mailing list. There are several ways you can use mail-enabled groups in CiviCRM to ease the creation and management of mailing lists, and to configure CiviMail to automate the removal of contacts from mailing lists or completely opt-out of all mailings.
Generally, if people do not wish to receive emails from you they can either Unsubscribe (remove themselves) from a specific mailing group or they can Opt-out to indicate that they don't want to receive any further emails from you. You enable them to do this by including action tokens in your mailings.
The easiest way to accomplish this consistently is to create a footer that contains the necessary action tokens and can be included with your broadcast emails. Footers are handled through the Administer CiviCRM » Headers, Footers, and Automated Messages page. The footer should include either the opt-out URL or email, or the unsubscribe url or email. If you are using the URL formats, understand that the action token creates the actual URL value. For the HTML version of the footer you will want to use the HTML "<a href" tag to construct a hyperlinked text-friendly link to the opt-out and unsubscribe email or URL.
Note: CiviMail requires the inclusion of the opt-out url or email token and the domain address token:
- {action.optOut} or {action.optOutUrl}
- {domain.address}
Opt-out is the more powerful of the two mechanisms, as it indicates the user does not wish to receive any emails from you—not simply be removed from a certain mailing list group. CiviMail will never send emails to contacts who have chosen to opt-out (although you can send them simple emails if you wish).
If someone has opted out of a mailing group (mailing list), their groups tab will show that they have removed themselves from the group. In this screenshot the person has unsubscribed from the group by email.
If a person
Opts Out it will show up in the Communication Preferences of their Contact Summary Screen.
Whereas unsubscribe and opt-out actions are triggered by the contact, bounce holds are handled automatically by the system. A bounced email causes a hold to be placed on the contacts email address. The emails remain in your database but further emails will not be sent to them until the hold is released. Depending on the cause of the bounce failure, CiviCRM may place the hold on the email immediately (as in the case of an invalid email address) or it might record the failure and place the hold if the email address keeps failing (for example if the mailbox is full or it cannot reach the email domain; three failures of these potentially temporary kind will trigger the hold). It may be useful for you to create a smart group of contacts whose emails are on hold. That way, you can try to get their correct email address through other communication channels.
3. Mailing Content
Having selected your recipients and configured tracking and response settings, the next step in constructing your mailing is to develop the content. The interface and options available are very similar to the simple email tools discussed earlier in this chapter, with a few important differences.
CiviMail provides you with the flexibility to create your content on-screen using the WYSIWYG editor or to upload content from a file. The ability to upload content is important if you are developing an email that has more advanced styling or layout, and is more easily constructed in design software.
Another feature unique to the CiviMail tools, as introduced earlier, is the ability to select a pre-configured header and footer for the email.
Whether you are creating the content for the mailing using the editor or are uploading the content from a file, there are several things you should consider:
- As a general rule, the layout and styling of your email content should be as simplified as possible. That does not mean you cannot create sidebar regions, header and footer regions, call-out boxes, and other layout features. But be conscious that you have no control over how your email will be viewed and what software will be used to display the email. Especially with the increased usage of web-based email and PDAs, emails must be formatted with a very broad-compatibility view in mind.
- Though generally not desirable for website content, it is recommended that you use tables for layout rather than div tags. Many email clients still have difficulty accurately displaying div tags.
- All CSS styling should be done inline. Unfortunately, email clients inconsistently interpret css styles declared in the header. The only way to ensure your styles are preserved is to write them inline with the html tags.
- CiviMail is not able to embed images in the body of the email itself. All images used in your emails must first be uploaded to your website and then referenced using the full URL of the image in the email. While requiring an extra step in the process, this requirement is actually to your advantage. Embedding images can significantly increase the size of your email. Referencing them remotely eliminates that size bloat.
- CiviMail allows you to attach files to your email. The number of allowable files is configurable in Administer CiviCRM » Global Settings (three files is the default setting). However, avoid attaching multiple large files to your mass emails. Keep in mind that you are likely sending to a large number of contacts in your database. Even though CiviMail is built for large volume sending, the addition of files will bloat the size of the mailing and may slow down the delivery rate. If you have large files that you need to provide access to, upload them to your website first and then reference them in your email for downloading.
Once you are satisfied with the email content click Next to advance to the fourth step in the wizard. Don't worry—you will be able to preview and test your email, and then return to this page to edit content if you need to.
4. Test
The fourth step in the email creation process is where you preview and test your mailing. Toward the bottom half of the page is a "Preview Mailing" block title which can be expanded to view the email content. The top half is where you can initiate test emails. The interface and options are very straightforward: you can either send to a single email address or to a predefined group.
Testing the actual email—not simply previewing it—is a very important part of the mailing process. It is strongly recommended that you create a group that will be used for testing. The group should include email addresses representing one of each of the following different types of email environments, if possible:
- Web-based email (GMail, Hotmail, Yahoo)
- MS Outlook
- Mac Mail
- Mozilla Thunderbird
- Text-only email
Depending on your use of email and the nature of your constituents, you may also want to test emails on a PDA.
While it may seem tedious to test email in so many different environments and software, it is worth the effort to identify any layout and styling issues that are problematic in those different settings. You may find that once you've defined several well-formed templates and are more familiar with the use of CiviMail that testing on all of those environments is not necessary. But early in your use of the mailing functions it is worth the effort.
As you test your email, you can seamlessly transition back and forth between the previous content-creation page and the preview/test page. Once you are finished with testing click Next to advance to the last stage in the mailing wizard.
5.Schedule or Send
The final step in your mailing process is to send the email immediately, or to schedule it for a date and time. The ability to schedule the mailing for a date and time is particularly helpful if you prefer to run the mailing during off-hours in order to limit impact on your server resources.
If you are using scheduling to time delivery around a certain event, be aware of two things:
- You may need to run some tests to confirm that the server date and time corresponds to the date and time of your location.
- Be aware that when you schedule your mailing you are controlling when the mailing process begins. Depending on the size of your mailing list and the size of your email, it may take some time for the entire mailing to be processed. Additionally, depending on your mailer settings and how often your cronjob is run, you may have a delay in when the actual mailing process begins. In other words, just because you schedule the mailing for a specific time doesn't mean everyone will receive it at that precise time.
Once you've completed these settings, select "Submit Mailing" to complete the process.
CiviMail will display the mailing scheduled time, actual start time, and when it is completed. Once the mailing has started, you will see two actions that can be taken on the mailing: report and cancel. Selecting report will show you statistics for the mailing as outlined earlier in this section. Cancel will stop the mailing immediately.
Reviewing Past, Scheduled, and Draft Mailings
CiviMail maintains records for all past and scheduled mailings which can be viewed and searched for on the main CiviMail page or through the "Scheduled and Sent Mailings" submenu page. The main CiviMail page also includes unscheduled (incomplete) mailings.
You may have noticed that on each page of the mailing wizard there is an option to Save and Continue Later. If at any time during the mailing preparation process you choose to stop with the intent of continuing later, you may click this button. CiviMail will save the mailing settings and allow you to continue the process at a later date by accessing the "Draft and Unscheduled Mailings" submenu page.
If you become a heavy user of CiviMail you will quickly find the list of sent mails to grow quite long. The searching capabilities are useful for finding emails, but if you generate many emails with similar titles (such as "Newsletter") you may still find it difficult to locate specific mailings. CiviCRM provides the ability to archive sent mailings, removing them from the list of sent emails. Once archived you can access them through the Archived Mailings submenu page.
Another commonly used feature is the ability to reuse mailings. From the list of completed mailings you will see a "Re-Use" option in the action list. Selecting this will create a copy of the mailing and allow you to walk through the wizard, editing it to suit your needs.