Don't Discount CiviDiscount

CiviDiscount is an extension maintained by the CiviCRM Core Team outside of the CiviCRM Core. It can be used on any install of CiviCRM and with very little effort, you can offer discounts for events and memberships. 



This article focuses solely on discount codes. However, in some cases, with more advanced configuration and custom development, you can implement discounts without the use of codes.

When you install CiviDiscount you get an additional menu item on the bottom of the Administer menu. Click New Discount Code to create a new discount.  

Give your Discount Code an identifiable code like March Madness or click Random to have CiviDiscount produce random characters as the code. Use the Description field to describe what your discount covers.  

In the Discount Amount field, put either the amount of the discount or the percentage of discount that the user of the code will receive. For example, you can do a 100% discount for your members or $25.00 off a retreat with a code. Make sure that after you enter the amount, you select either percent or fixed amount

The next set of fields allow more control over the use of your discount:

The Usage Limit field lets you define how many times the discount can be used. For example, you could offer the first 10 readers of your newsletter 10% off for an upcoming event.  

The Activation Date and the Expiration Date can be set as well if you want to have a start date and/or an end date for the discount code you have created. You might want to offer a one day window discount to attendees of an event as a special promotion. This can also be used as an alternative way to do early bird specials that are targeted to specific audiances.  

When you select an Organization, the code you use will be associated with the organization. You might want to use this if you are providing discounts to members of a partnering organization. This function allows you to create a report and track the discounts given that are related to a specific organization. 

The Price Field Option lets you determine that a discount applies only to specific price fields. The Price Fields come from Price Sets.  

If you check the Display a message to users not eligible for this discount? box, then you get the option to provide text that a user will see if the discount does not apply. For example, "Sorry! You are not one of the first ten people to register for this event." 

When we expand the Discounts for events fieldset, we are given the option to pick a specific event or to choose events types. In this example, I am applying the discount code to all Training events: 

Screen Shot 2017-03-03 at 11.35.34 PM.png

In the Discounts for members fieldset, there is only a Membership field. Simply select which membership(s) the code will apply to: 

Screen Shot 2017-03-03 at 11.39.59 PM.png

When a discount code is availible for an event registration or membership form, it will be shown to your users. Administrative users working with the back end registration will also be provided with the discount code text box so that they can apply discounts on behalf of members and attendees.  

If you click on the number of times a discount code has been used you are provided with details about the use.  

Reporting on discount code use (Overview)

For example, when you run the numbers, you can see when and how many times a specific contact used a code.  


Discount codes can be very valuable indeed. Knowing how your discount codes are used is important for determining the value of providing the discount. In addition to offering this perk option to constituents, discount codes have value just for the analytics they can provide your organization.

Take the time to set this up in your CRM and you will find that the benefits outweigh the initial front-end time spent!