Skip to main content
Sale rewards are available on Business plans and above.
A sale-based reward (pay-per-sale) pays partners when a customer they referred makes a purchase. It’s the most common reward type on Dub, and the one most partners expect: they earn either a percentage of the sale (revenue share) or a fixed fee per sale. Unlike click and lead rewards, sale rewards can be recurring, so a partner keeps earning on every renewal for as long as you choose.

How sale rewards work

Sale rewards are triggered by sale events on Dub. A sale event is created whenever: Each sale event creates a commission for the partner whose link the customer came from. Dub applies the sale reward in this order:
  1. a link-level reward if one is set,
  2. otherwise a partner-level reward,
  3. otherwise the partner’s group reward.
The commission amount is determined by that reward, plus any conditions that match the sale. If a sale is later refunded or disputed, Dub automatically creates a clawback for the associated commission. See handling refunds.

Creating a sale reward

In your group rewards tab, click Create next to the Sale reward type.
Group rewards
When the reward builder is open, set your amount per sale, and optionally set your sale reward conditions.
Sale reward
Once you’ve configured the reward, you’ll see a reward preview and quality score, and be asked to confirm before it goes live. Dub generates the reward description partners see automatically, but you can customize how it’s shown to partners by using the customize the reward description by clicking the pencil button next to the reward. You can also describe the reward in plain English using the AI reward builder, for example:
  • “30% recurring for 12 months”
  • “50% lifetime for customers who joined before Jan 2026, else $100 one time”
  • “$500 if productId = ‘prod_xxx’ (Pro Plan), else $100 one time”

Amount

Sale rewards support two payout models: Percentage rewards are calculated on the sale amount Dub receives. For Stripe, that’s the invoice or checkout total after any discounts, and for /track/sale it’s the amount you pass.

Duration

The duration controls how long a partner keeps earning on a given customer after the first sale:

Sale reward conditions

Customizing reward conditions is only available on the Advanced plan and above.
Conditions let you pay a different amount when a sale meets certain criteria. Click Add condition in the reward builder, and set the reward amount and duration for each condition block.
Sale reward with conditions

Customer attributes

Partner attributes

Sale attributes

Learn more about metadata conditions.

Sale reward examples

First-sale bonus

Pay a big rate on the first sale to reward customer acquisition, then a standard rate on renewals:
First-sale bonus condition example

Staggered reward durations

Tailor your reward amount by the customer’s subscription duration, subscription start date, or signup date. In this example, we’re offering a 25% reward for the first 12 months and a 10% reward for all other sales:
Staggered rewards example
There are 3 different conditions for staggered reward durations:

Geo-specific

Tailor your reward amount by customer country. In this example, we’re rewarding partners with a higher percentage for conversions from Canada and the United States:
Global Boost condition example

Product spotlight

Tailor your reward amount by product. In this example, we’re rewarding more when the sale is for the Gold Plan:
Product Spotlight condition example
You can also set what the partner sees as the product name by adding a Shown as field to the reward.For example, if you want to show the product as “Gold Plan” instead of the actual product ID, you can set the Shown as to Gold Plan.
Where Your product ID is listed, you’ll enter your product ID (the screenshot uses an example product ID)If you’re manually tracking a sale event via our /track/sale endpoint, you can pass along the product ID via the metadata prop (e.g. metadata.productId = "prod_xxx").If you’re using our Stripe integration, the product ID will be the Stripe product ID that the subscription is for (starts with prod_xxx). If a Stripe invoice contains multiple line items (e.g. a base subscription plus an add-on), Dub calculate the commission for each line item using the matching reward rate. See full example here.

Sale amount modifiers

For creating tiered rewards based on the sale amount. In this example, we’re giving our partners a higher reward if the sale amount is over a specific dollar amount:
The Climb condition example

Partner performance tiers

Tailor your reward amount by partner performance. In this example, we offer a 50% base reward and increase it to 60% based on how many conversions the partner has:
The Climb condition example
Want to move partners to a different partner group based on their performance instead? Learn more about group move rules.

Annual vs. monthly billing

Tailor your reward amount based on a metadata condition. In this example, we’re passing a billingCycle field on each sale (via the metadata prop on /track/sale) and rewarding partners more for driving annual plans over monthly plans:
Reward builder metadata sale example

New vs. recurring sales

Tailor your reward amount based on whether the sale is the customer’s first sale or a recurring sale. During reward creation, select Sale as the condition type and then choose Type as the condition field. This will allow you to differentiate between new and recurring sales.
First-sale bonus condition example
In this example, we’re rewarding partners with a 80% reward for the first sale while keeping the standard recurring commission for all other sales:
First-sale bonus selected condition example
This is especially useful for subscription-based products, where you may want to offer a higher reward for the first sale to incentivize partners to acquire new customers, while offering a lower reward for recurring sales, while combining with other conditions.

Updating a sale reward

When you change a group’s sale reward, historical commissions aren’t changed. The new configuration applies to future sales – including renewals from customers the partner referred before the change – only when no link-level or partner-level override is configured. If you switch a group from one-time to recurring, previously referred customers’ renewals become eligible for commission again.