Run promotions and discounts

Attract new customers and entice existing ones to upgrade using discounts. They're sometimes called promotions or coupons.

Discounts let you reduce the amount that a customer has to pay by a percentage (-10%) or fixed amount (-$10) for an item, transaction, or subscription. They're sometimes called promotions or coupons.

Using discounts, you can:

  • Create one-time, or recurring discounts.
  • Set up discount codes that customers can apply during checkout.
  • Restrict discounts to some products, like subscription plans or addons.
  • Limit how many times a discount can be applied.
  • Run limited time promos by setting an end date.

You can pass a discount ID or code to Paddle.js to automatically apply it to a checkout — no need for customers to enter a discount code.

Create a one-time discount

One-time discounts are only applied to the current transaction. They don't apply to future transactions. They're good for encouraging customers to sign up without impacting future revenue.

One-time discounts can't be applied to existing subscriptions.

Head to Paddle > Catalog > Discounts and click New discount, or edit an existing discount using the menu next to the discount in the list.

Fill out the details to create or edit your discount.

Set the "Recurring discount" slider off.

Create a recurring discount

Recurring discounts are applied to the current transaction and transactions for future billing periods. Recurring discounts can recur forever, or only for a set number of billing periods.

Head to Paddle > Catalog > Discounts and click New discount, or edit an existing discount using the menu next to the discount in the list.

Fill out the details to create or edit your discount.

Set the Recurring discount slider on, then choose either:

  • Until further notice: the discount should recur forever
  • For a custom number of billing periods: the discount should recur for a set number of billing periods

Create a limited-time discount

Limited-time discounts can only be used up until a certain date. They have an expiry date and cannot be redeemed after the expiry date. They're ideal for running limited-time promotions, like Black Friday or holiday sales.

Head to Paddle > Catalog > Discounts and click New discount, or edit an existing discount using the menu next to the discount in the list.

Fill out the details to create or edit your discount.

Check the Set an expiration date for the discount box, then enter a date and time.

Paddle supports over 200 countries and territories, so dates and times are UTC. You can search online to convert your local time to UTC.

Limit discounts to certain products

Discounts may apply to all products in your catalog, or you can limit them to specific products and prices. For example, you may discount your annual plans but not your monthly plans.

Head to Paddle > Catalog > Discounts and click New discount, or edit an existing discount using the menu next to the discount in the list.

Fill out the details to create or edit your discount.

Set the Limit discount to selected products slider on, then use the products and prices dropdowns to choose which products and prices this discount applies to.

Add a product, then leave the prices box blank to set a discount to apply to all prices for that product.

See how many times a discount has been redeemed

Paddle keeps track of the amount of times that a discount has been redeemed. This means it's been applied to a checkout or transaction. You might like to display this figure in internal dashboards, or even pull through to your commercial website to generate a sense of popularity or urgency.

To see how many times a discount has been redeemed, send a GET request to the /discounts/{discount_id} endpoint.

Response

If successful, Paddle responds with the complete discount entity, including times_used.

Paddle also returns the maximum number of times a discount can be redeemed as the usage_limit. You can take times_used from the usage_limit to calculate how many redemptions are left.

Group your discounts

Discounts can be grouped together to make them easier to manage. For example, you might create a group for your Black Friday discounts, and then add all your Black Friday discounts to the group.

You can group your discounts in three steps:

  1. Build a request

    Build a request that includes the name of the discount group.

  2. Create a discount group

    Send the request to create the discount group. Paddle creates it and returns the id of the discount group.

  3. Add discounts to the group

    Make a call to create or update a discount using the id from the discount group as the discount_group_id.

Build request

Build a request that includes the name of the discount group.

Make it descriptive, short, and memorable to help you identify the purpose of the discount group. This isn't shown to customers.

namestring

Name of this discount group.

Request

This example creates a discount group called "Black Friday 2024."

Create a discount group

Send a POST request to the /discount-groups endpoint with the request you built.

POSThttps://api.paddle.com/discount-groups

Response

If successful, Paddle responds with a copy of the new discount group entity. You should take the id of the discount group for the next step.

Add discounts to a group

Once you have a discount group, you can add discounts to it. Discounts can be assigned a discount group through the API when creating or updating a discount.

Build request

Provide a discount_group_id field when creating or updating a discount.

The value of this field is the id of the discount group you want to add the discount to.

discount_group_idstring

Paddle ID for the discount group related to this discount, prefixed with dsg_.

If you don't know the id for a discount group, you can list your discount groups to find it.

Send request

Where to send your request depends on if you're creating a new discount or updating an existing one.

Related pages