If there are two acronyms that are at the center of nonprofit communications, it’s these two, CRM (Constituent Relationship Management – and I’m making this broad enough to include fundraising) and CMS (Content Management System). And because of this, it makes sense that integration of these two is something that is a need to be filled. What’s involved in this?
First, the what – what to integrate? Most often nonprofits want to capture information from web users. That sort of information could be a newsletter sign up, a contact form that should be responded to, an online donation or an event registration. The organization wants to capture the demographic details, as well as make sure that data is synchronized with the data they might already have on that web user, so they can track their constituents over time. In addition, sometimes nonprofits want to expose data from the CRM to the CMS. One purpose is to allow users to modify their own information (if the site allows logins.) Another purpose is for membership lists, or group lists, or perhaps live tracking of donations from a specific campaign.
There are four strategies that can be used for this integration:
- Manual. The old fashioned form of integration. Forms sent go to email, or a separate database, and someone manually enters that data into the CRM. Data from the CRM is manually reported and put up on the CMS. It’s amazing how much this still needs to be done. Some CRMs still don’t have openAPIs. Even if they do, it takes developer time to write the code to do the integration, and that may be resources that a nonprofit doesn’t have.
- All-in-one. Some vendors have products that provide integration by having both the CRM and the CMS together. Trade-off – you don’t get best of breed tools for both. Second trade off, all of these are proprietary.
- Web forms from CRM vendor. This is integration of a sort. One sets up a page (often donation or event page) on the CRM vendors web platform and link your page to their pages. Or, one pastes HTML code for a form into one of the pages of the CMS, and when the user clicks “submit” the data actually goes to the CRM vendor.
- Integration. This is when actual code is written in the CMS (via module or customization) which calls APIs on the CRM side to perform specific actions, such as adding records, syncing records, grabbing data, etc.
All of these strategies take time and resources, but of different kinds. Some take internal staff resources (especially the Manual strategy.) Others take developer resources (especially the Integration strategy.) Depending on the CRM, some require additional license fees for forms or APIs.
So what’s the right strategy? That totally depends on a few factors. First, are you happy with your current CRM and CMS? If so, what specific types of integration do you want to have happen? What are the specific tasks and data types you want to move between the CRM and the CMS? The best way to accomplish those tasks depends primarily on your CRM, although if you are using a proprietary CMS, a hosted CMS service, or an older CMS, you might run into trouble with integration.
If you are in the process of reassessing your CRM or CMS or both, now is a very good time to think hard about how you want these two to talk with each other. I know that’s one more thing in a long list of considerations (and it’s generally more important to think about for the CRM – the CMS, if it is modern, and especially if it is open source, will provide few barriers to integration.) I’ll have follow up posts on specific examples of this integration using open source tools (on one end or the other, or both.)
{ 4 trackbacks }
{ 14 comments… read them below or add one }
Integrated CRM and CMS is a really interesting idea. I know a lot of the free site tools, wikis like wetpaint.com, keep trying to move to become more social, and let the audience/membership interact more – that is definitely related. Are there any tools that you know of that combine CMS and CRM (rather than pasting a web form html snippet on to another website)?
-mathew
http://www.blist.com
Just wait for my follow up posts! Most of the tools that are used to do this integration are CMS modules or add-ons.
Timely post, I am currently doing at pretty large scale project for a client and those are the exact issues I am determining right now. The CRM is Salesforce, the CMS and Web Publish System is Drupal and then we have to determine the Donation Managment System (Convio, Blacbkaud) or do we create custom donation forms and use a 3rd party? All interesting stuff
I think that integration is super important and is CiviCRM’s biggest value proposition (or selling point). To some extent it also depends on how open the CMS is with regard to extensibility. Drupal basically allows this really nicely, a bit harder in Joomla (IMO).
From our perspective, having a close tight integration, gives the community a lot more options and allows folks to build modules that stitch the two together. Our recent release of integration with views2 shows the power of how a CRM can benefit from some cool CMS tools
@Lobo: exactly! Actually Drupal/CiviCRM was going to be my first follow up post!
@sudha My organization is getting ready to launch a Drupal site with deep Salesforce.com integration. We’re an association, so our membership list and directory, a resource directory of vendors and providers to our sector, and lots of member services and programs are all integrated into Drupal via the Salesforce API. We worked with Ianncomm for the Drupal development and Frazny for the Salesforce work. We’ll be adding in our e-advocacy platform as a future step because we’ll need to change what platform we’re using as the GetActive platform we’re on now is going away. It’s definitely been a lot of work for both the developers and us as a client, but we’re pretty happy with the result so far.
We’ve taken advantage of Salesforce’s web services API to build (and release as open-source code!) some very powerful integration for Plone and Salesforce via a suite of related add-on products. The codebase is mature, has many unit tests, and has been used in production for months. I’d love to see similar code released for Drupal.
We also have a few major grants to continue working on this integration stuff, expanding it to include other complimentary services such as online advocacy and more.
Sorry, Lobo, with all due respect to you and CiviCRM, a PHP API accessible only to other PHP apps on the same machine is simply not sufficient integration in an age of web services, where people run different apps on different machines and use languages other than PHP for building web apps. I know we have disagreed about this in the past. I’m sorry that we still do.
For those interested in more detail on this topic, I first wrote about this nearly three years ago and unfortunately, it looks like CiviCRM still hasn’t made any progress on supporting platform-neutral web services API, per the main doc on this topic, which says “the vast bulk of CiviCRM’s functions are not exported thought any net-based API, SOAP, REST or otherwise, and the SOAP APIs do not possess as WSDL, which makes them problematic to use in many languages. As mentioned below, the most solidly supported functions are those related to mail.”
For the nonprofit with a limited development budget, don’t dismiss the web form/hybrid strategy. While it may be ideal to have a fully integrated setup, a good stepping stone is one that feeds data directly to the CRM but appears to use the same CMS as the rest of the site. The user doesn’t seem to notice or care as long as they are comforted by a familiar template. The challenge is to design a template that travels well and can be easily and consistently updated (when our organization moved, I had 5 different footers to update).
But if full, true integration isn’t possible (our CMS is WordPress, so our options of integration with Salesforce are a bit more limited), then a well-thought hybrid strategy can work without a lot of resources.
The key, I think, is to make sure that one repository of data rules them all. If you have an email list captured by one application, a donor list captured by another, a social network in another, and you give them all equal “weight,” then you’re asking for trouble.
P.S. @Thomas, as I’m sure you know, if you’re migrating from GetActive to Convio, you can integrate that with Salesforce quite easily. The data transferred for e-advocacy isn’t quite as robust as I would like, but you get a lot more than with other solutions.
I’m currently working with a developer that has a Nonprofit Event Management SugarCRM build. We’re working with them to bridge another free open source CMS platform Joomla to it.
At the end of our adventure we should have exactly what is talked about above but able to offer it to the community completely free at only the cost of hosting/customizing/administration. You’re talking probably 50 bucks a month for each user.
@Jon Stahl – I never thought of applying for grants to get this project done.
This is actually a topic I’ll be discussing at the NTC this year. Integrating online and offline communications. At many conference we hear folks discuss the communication strategies, results and benefits but rarely do we hear how it was actually done. I’m assembling a panel now and need some good case studies, so if you’ve got examples, please email me.
P.S. I thought my name would link to email, alas no, so please email me at tspann [at] convio.com if you’ve got a case study of online/offline campaign integration.
Though I agree with Jon’s factual points about CiviCRM APIs, I am a little surprised he would take the position of not considering target audiences and their requirements before dismissing solutions out of hand ;)
CiviCRM definitely encourages you to work within its framework… the APIs are not platform neutral as Jon points out. I personally haven’t seen evidence that average charity users need or even use platform neutral APIs. I generally see consulting firms serving the top couple percent of the market using APIs to do interesting edge cases. Neither approach is bad as long as you recognize the pros and cons.
In the CiviCRM ecology, the logic was to serve small charities as our mission… make things as turn key as possible and make sure innovations were shared across all customers. We don’t need a platform neutral API to connect the CRM to mass mailing functionality because CiviMail is pre-integrated. We don’t need a platform neutral API to build custom applications because when someone builds a case management solution, we want that to be available *automatically* to our entire user base.
Platform neutral APIs tend to work against these charity capacity building goals.
And with all open source projects, we really haven’t seen the demand or user participation in expanding the APIs… it is not that CiviCRM can’t have platform neutral APIs, we’d rather focus on building things our installed base will actively use.
I suppose if there were a lot of charity focused intermediaries that wanted to build and market applications on top of a platform, then there would be a huge incentive to maintain platform neutral APIs. But so far Convio on top of Salesforce is the only publicly visible player in that space.
In the Salesforce world, those charity technology mission components are not driving forces . Hence you have many custom applications and innovations created by a wide range of charities that are not available to all other users. AppExchange provides a great platform for sharing, but I just don’t see a lot of applications show up there.
I think that platform neutral APIs can be a “make or break religious check box” for some developers when they are chosing a technology they like to work with. I’m not sure that you can support the argument that they should be a religious check box for meeting the needs of CiviCRM’s target constituents– small and mid-sized charities.
I’m interested to know which combinations of CMS/CRM are working best for people.
For nonprofit use, the clear leader seems to be civiCRM/Drupal as it looks after, content, memberships, events and mailing.
For a business with a need to invoice and have a product book, I’ve looked at ZohoCRM and like it, but don’t see references to any integration with a CMS. On some Joolma forum, I read a reference to vtiger and Joomla, but that was from 2005!
What’s working best now, please?
Hi all,
We’ve developed XLsuite which combines CRM with CMS and includes things like blogs and forums.
We have several versions for retail, real estate, hospitality and community building.
You can install a free trail and give it a spin.
It comes with a fully functioning site that is easy to customize which can be done by any designer or we help configure it for you.
<a href="http://xlsuite.com"XLsuite CRM & CMS | Blog and Shop with SoldWith.com