How to set up discounts for subscriptions

Discount codes can be configured in Restrict > Discount Codes.

Discounts allow you to give special offers to new registrations, giving extra incentive for users to sign up for your website's premium content section.

The following options are available when creating a new discount:

  • Name - The name of the discount. This is for your reference in the admin area.
  • Description - A description of the discount. Also for your reference.
  • Code - The actual code for users to enter on the registration form. Entering this code applies the discount.
  • Type - There are two choices: "Percentage" and "Flat". "Percentage" gives a percentage off the total price. So if your membership is $10 and your discount is 10%, the registration price will be $9. Flat gives a flat dollar amount discount. This takes the specified number of dollars (or other currency) off of the base membership price.
  • Amount - The amount the discount is for. So if you chose "Flat" previously, then you'd enter the dollar amount to subtract from the registration price here. Or if you chose "Percentage" then you'd enter the percent number.
  • One Time - If checked, the discount will only be applied to the first payment in a membership. If unchecked, the discount will be applied to all payments in that membership.
  • Membership Levels - You can choose to allow the discount to be applied to "All Levels", or only be applied to a specific membership level.
  • Expiration Date - Optionally, you can schedule the discount to expire at a certain date. If someone tries to apply the discount after it's expired, it will not be applied to their order.
  • Max Uses - Optionally you can set the discount to only be used a certain number of times. Leave blank for unlimited.
Discount codes are used when a user registers for a new membership on your site. As long as you have at least one discount code created, there will be an option for the user to enter a code when filling out the registration form.
If a user enters a discount code, then that code is checked for validity when the form is submitted. If the code is invalid, an error will be shown, and if the code is valid, then the discount will be applied to the membership price when the user is redirected to the payment gateway. If auto-renewal is enabled and "one time" is not checked on then the discount price is also applied to all future payments.
Note: There are no restrictions on how many times one user can use the same discount code. If you want to limit the usage to once per customer, add this custom code:
add_filter( 'rcp_discounts_once_per_user', '__return_true' );
Each time a discount code is used, a count will be increased in the database so that you can see the total number of times a code has been used.
Have more questions? Submit a request