Campaign Manager

Development Status
Active Installs

Last updated: 2023-10-11

Works with CiviCRM 5.34 or higher.

CAUTION: You need to install version 1.4.1 of Campaign Manager or higher in order to be compatible with CiviCRM Core 5.67 and up!
Campaign Manager has an incompatibility regarding the display of expenses with CiviCRM Core 5.39 and up. A fix is likely to be included in CiviCRM Core 5.67.


The module CiviCampaign provides basic functions to link e.g. contributions with campaigns. Thus, it enables users to determine the success of a campaign e.g. in regard to „return on investment“. Such data is most important to fundraisers in order to evaluate and adapt their fundraising strategy.

However, the possibilities for analyzing the outcome are very limited – e.g. there are no functions to record costs involved with a campaign action or the campaign's budget. Also, there is no campaign hierarchy which means that planning more complex campaigns (e.g. a parent campaign consisting of subsequent actions such as several online mailings, offline mailings and events) and analyzing their outcome afterwards is hardly possible without additional external tools.

As a result, within CiviCRM there is no efficient way to plan complex campaigns (including subsequent campaign actions, costs, budgets, fundraising goals...), or to analyze the success and costs of campaigns and their subsequent actions. This is a big deficit as this data constitutes the basis for a goal-oriented development of the organization's fundraising and overall strategy.

We do not know of any CiviCRM-Extensions or other projects with a similar scope. There is an extension called "Advanced Fundraising Reports" but it mainly aims at providing addition preconfigured reports. The project aims at enhancing CiviCRM capabilities for strategic fundraising, campaigning and reporting in the following ways:

Creating a campaign hierarchy

  • creating the possibility for parent and child campaigns 

  • adapting the user interface for creating and viewing existing campaigns (e.g. a hierarchical „tree view“ and possibilities for filtering 

  • creating functions that simplify campaign management (such as copying complete campaigns including subsequent campaigns and adapting campaign dates) 

Adding campaign fields and functions

  • fields/function for adding categorized costs (such as postal fees, printing costs...) associated with a single campaign or campaign's action (e.g. multiple value fields or financial items) 

  • function to calculate the overall costs of of a single campaign and it's child campaigns/actions 

  • creating a field or a function to (manually or automatically) add campaign codes that enable a (semi-) automatic matching of contributions and campaigns 

  • create fields/functions for recording the number of contacts involved in the campaign, the costs per recipient involved (e.g. for determining the costs of acquiring a contribution or the response quote)

Several metrics

A campaign goal isn't only the amount raised, but its success can be measured by the number of new contacts, 1st donation or other engagement metrics. It would be useful to provide some other indicators beside the total amount received through the campaign.

Reports and statistics

  • create configurable CiviCRM reports that make use of the enhancements described above such as return on investment, unit costs (when sending out mailings), average cost for acquiring a new donor  

  • create configurable visualizations such as charts and graphs to make the data easy to interpret, compare and access (e.g. using CiviReport or Civisualize)