This project is not covered by Drupal’s security advisory policy.

CiviEvent Discount allows you to create discount codes and assign them to events and membership.


  • Support for price sets and individual items in a price set
  • Use of monetary or percentage based discounts
  • Automatic discount based on membership
  • Generate random discount codes
  • Usage and assigned code tabs on a contact record
  • Code summary screen displays usage for a given discount code
  • Experimental: Ubercart integration for memberships
  • Experimental: Views support
  • Experimental: Apply discounts against offline memberships and events
  • Option to apply discounts to additional participants

Ubercart integration

The latest stable and -dev releases include support for Ubercart. If you enable CiviEvent Discount for Ubercart, a new class (content type) will be created called Membership discount. This allows you to create a new product (node) with the desired code settings. When someone purchases this product, a code will be generated after checkout and posted to their order summary and can be used immediately.


The placement of the discount code textfield is controlled by CiviCRM. By default, CiviCRM places it at the top of the page. You can customize this and other functionality by overriding the templates.

Discount code field position
Hide billing fields if discount is 100%


CiviCRM 3.4.x is recommended. CiviCRM 3.1.x and 3.2.x should work but with limited functionality. You won't get price set support and a discount will not be placed back into the pool if a person is removed from an event or membership. Date is recommended and you will not be able to expire a discount without it.

If you're using this module and continue to grab updates of the -dev release, please remember to run update.php.

CiviCRM 4.1.x and above (Drupal 6 or 7)

This module has been ported as CiviDiscount, a (CMS agnostic) CiviCRM extension. It is not backward-compatible with this module and does not currently have Views or Ubercart integration. Check the git page for the latest information.


Development for the D6 version was funded by American Physician Scientists Association (APSA). Inspiration came from Deepak's blog post.

Project Information