I started working as the Technology & Digital Operations Director with Plastic Pollution Coalition in June 2019, and by the end of July 2019, we had to migrate from NationBuilder to another CRM! One of the challenges we faced was increasing cost due to the increasing number of emailable contacts through their social media integration. We needed to find a CRM to manage contacts, fundraising initiatives, email lists, events and more. Through my previous experience using CRMS in the nonprofit space, including Luminate, EveryAction, Engaging Networks and Salsa, I was familiar with the strengths and weaknesses of these different tools.
Although some of these tools have specific functionalities that are useful, most integrate with another database of record, rather than serving as the database of record. What's great about CiviCRM is that not only does it serve as a database of record, but it also provides additional integrated functionalities, so we can use it for managing our fundraising efforts, sending out emails and managing our events all within one system. We did evaluate Salesforce, but as I talked to different Salesforce users it was clear that it is expensive to customize and tailor it for specific needs, and we would need to utilize different Salesforce apps to put together something that works for us. For us, the clear winner for us was CiviCRM because it's powerful, open source and had the functionalities we were looking for at a pricepoint that worked for us.
It was important for us to work with companies that are active in the CiviCRM community, so we decided to host our CiviCRM instance with Coop Symbiotic and worked with BackOffice Thinking on the NationBuilder migration and CiviCRM implementation. These companies have been excellent partners to work with as we address different challenges to utilize CiviCRM for our nonprofit needs. I have also appreciated the CiviCRM community and resources, including CiviCRM Chat, CiviCRM StackExchange and the CiviCRM User Guide.
I hope with this blog post, I can share some of the challenges, solutions and tips to save your organization time and money. Of course, each organization has its unique processes, so some of these things may not be relevant. Even though CiviCRM has a lot of strengths, its achilles heel is design and usability. Fortunately, this can be easily addressed with some custom coding and design.
For sending out mass emails, CiviCRM's Mosaico extension built by Veda Consulting and the Core Team, has truly revolutionized building out beautiful mobile responsive emails with the email template builder. You can replace your Scheduled Reminders with mobile responsive emails as well using the html code from Mosaico templates. If you want to include emojis in your Subject line, we discovered that copying them from imessage works. Not sure exactly why, but it does...
Another issue I want to flag was setting up the Unsubscribe/Opt Out functionality for bulk emails. For example, when you unsubscribe from the newsletter, you may still get another bulk mail because you have not opted out. In order to deal with this, we updated the Unsubscribe link to an Opt out link, so you don't get bulk emails in the future. We also updated the language on the opt out page to say Unsubscribe.
Even though CiviCRM offers powerful functionalities, what is available out-of-the-box in terms of forms, emails, and templates looks basic in terms of design. We worked with BackOffice Thinking to come up with an updated design for our main donation form, Mosaico email template and other forms.
This may be controversial, but I am not a fan of automated receipts because they seem more transactional and don't focus on building relationships with constituents. Instead of text receipts, we prefer to send customized mobile responsive, html emails with images. For us, donations are not just transactions, but rather opportunities to build relationships with donors. We used CiviRules with CiviCampaigns and Message Templates to send out donation thank you emails. Special thanks to Jon from Megaphone Consulting for sharing this CiviRules Protip for CiviContributions, "The trick is to fire on "Contribution is changed", not "Contribution is created". You don't HAVE to, but you do if you're checking if the contribution status is "Completed". Online contributions are initially created with a status of "Pending". Hopefully, a second or two later they're updated to "Completed", but if you check for "Contribution is created" and "Completed" you'll be out of luck." I created these html, mobile responsive emails using the public view of Mosaico emails. This worked beautifully for one-time donations, but for recurring donations there was an automated receipt going out along with the message template I created. We use Stripe for our payment processor, and this issue may be related to the Stripe extension. In order to turn off the automated receipts, Mathieu from Coop Symbiotic created an extension that allows you to turn off automated donation receipts.
You can create a snapshot of your NationBuilder instance, but the data is not easily accesible afterwards. Jon from Megaphone Consulting shared some tips for exporting NationBuilder for CiviCRM. In terms of the process we used to migrate the data, first we cleaned up the data within NationBuilder in terms of removing contacts that did not have email addresses or other contact information. Next, we downloaded both the individual and organization contact records. We worked with BackOffice Consulting on mapping our data for CiviCRM, and exporting our data into CiviCRM. They also helped us to migrate the donation data into CiviCRM. We had been using NationBuilder to send out emails, so in order to create an email archive we downloaded pdfs of the emails and took screenshots of the email performance data. Once the data is all migrated, be sure to go through a dedupe process and remove duplicate records.
We needed a way to be able to search for contact records based on their zip code, so for example people within a 50 mile radius of a specific zip code in order to invite them to our coalition lunches and fundraising events. I looked into Open Street Maps and Google's geocoding and ultimately decided to go with Google's geocoding. It may be useful to set this up before you do the import because during the import there is an option to geocode records. It will also work if you install it afterwards, but it can take some time to Google to geocode all the records, so you will have to set up a job to do this.
One of the great things about the CiviCRM community is how people are willing to share tips and code to help each other get further. We all have common challenges we face, and by working together we can save time and money. As we continue on our CiviCRM journey, we continue to encounter challenges, and look for creative ways to resolve these issues. Please feel free to send me your questions via chat @roshani or email me at roshani[at]plasticpollutioncoalition.org.