Let's say I have these groups of donors:

  • Small donor, gave < $100 in the past year.
  • Medium donor, gave $100-500 in the past year.
  • Major donor, gave > $500 in the past year.

What's the best way to get a count of all these in one place? My best thought is to create smart groups - then I'd need a report of "Counts by Group". Does such a thing exist? What if I use aggregation with a Drupal View?

4 Answers 4


AGH Strategies has written a report to do this, which is available as an extension: Donor Tier Report.


you could use the Summary fields Extension. Also, CiviCRM comes with a custom search (/civicrm/contact/search/custom?csid=2&reset=1) that would allow you to search for contacts that meet the criteria and create smart groups as you suggested.

  • Thank you! However, my question isn't about how to create the smart groups. Instead, it's how to run a report that has a GROUP BY using the groups. Apr 3, 2017 at 21:17

Personally I would probably always use CiviRules (https://civicrm.org/extensions/civirules) to do donor segmentation, allowing you to have groups to report on.

There is an example of donor segmentation with CiviRules on https://wiki.civicrm.org/confluence/display/CRMDOC/CiviRules+Example+Donor+Classification


Yes I would use Aggregation in Views - and I would base that on using Summary Fields extension.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.