Chargify allows you to create both one-time and recurring coupons to give customers a discount.

  • Coupons are applied whenever a recurring charge is assessed.
  • Coupons are also applied to mid-period component allocations, however this does not count as a usage for coupons with a limit.

Note: For amount-based coupons, this can result in applying more credit than was intended. For subscriptions with an amount-based coupon, you may wish to manually calculate any mid-period component allocations and use a one-time charge to avoid an additional discount being applied.

  • Coupons apply to the total of all charges, instead of just the base fee. This means that any setup fees and component charges will also be discounted by a valid coupon.
  • If a free trial exists, the coupon will not be applied until an amount is due at the end of the free trial.

Creating a Coupon

Coupons are added to a Product Family from the Setup tab.

To create a new Coupon, click the “Create New Coupon” button.

Once a coupon has been created, it can be shared across all products in the family.

Basic Coupon Fields

  • Internal Name: An internal name for the coupon. The name is not displayed to customers.
  • Coupon Code: The code that customers will enter to redeem the coupon. The code must be uppercase letters, numbers and underscores with no spaces. NOTE: You can add additional codes to the coupon once the coupon has been created.
  • Description: A description of the coupon that can be displayed to customers in transactions and on statements.

Discount Amount

You may either specify an integer (whole number) percentage discount, or a flat amount in US dollars and cents.

Note that if you enter a decimal amount for the percentage, it will be silently truncated (not rounded). For example, if you enter 5.5, it becomes 5%.

Discount Limit

The Limit Discount option allows you to configure whether a coupon can exceed the amount due. Selecting the ‘Do not limit discount’ option will leave a negative balance on the subscription if the coupon amount is greater than the amount due.

For example, if I apply a $100 coupon to a $30 product, with the ‘Do not limit discount’ option selected, I will have a -$70 balance on my subscription. Otherwise, my balance would be $0.

Recurring Options

By default, a coupon is applied only to the initial payment at signup, or to the next recurring payment for an existing subscription. However, you can configure it to apply indefinitely, or for a certain number of renewal periods.

Expiration Date

If you set an Expiration Date, the coupon can no longer be added to subscriptions after the end of that day in your time zone. Recurring discounts, however, will continue to apply even after the expiration date.

Note that if you change the time zone for your site, coupons will continue to expire at midnight in the original time zone.

Conversion Limit

Use the Conversion Limit field to limit the number of times a coupon code can be used. Note that if you add additional codes to the coupon, this number will apply to each code separately.


Once you have created a Coupon, it will appear under the Product Family on the Products tab. You can make changes to the coupon by clicking the ‘Edit’ button to the right of the coupon.

Adding Additional Codes

Once a coupon has been created you can add additional codes to the coupon. These codes behave exactly like the main coupon code. To add more, click the ‘Manage Codes’ button for the coupon of your choice.

Next, enter the additional codes into the text box, with one coupon per line.

Creating a Subscription with a Coupon in the Admin Interface

To apply a coupon to a subscription, use the Coupon Code field on the new Subscription page.

Creating a Subscription with a Coupon in the Public Signup Page

Customers can also apply coupons through the Public Signup Page. However, you will first need to enable the coupon code field to be shown on your Public Signup Pages. This is done in the “Public Signup Pages” section of the “Setup” tab.

Creating a Subscription with a Coupon through the API

For API info see: