How sale rewards work
Sale rewards are triggered by sale events on Dub. A sale event is created whenever:- You track a sale via the
/track/saleendpoint or one of our SDKs - A payment or invoice is paid via your Stripe integration
- a link-level reward if one is set,
- otherwise a partner-level reward,
- otherwise the partner’s group reward.
Creating a sale reward
In your group rewards tab, click Create next to the Sale reward type.

- “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
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.
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:
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:
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:
Product spotlight
Tailor your reward amount by product. In this example, we’re rewarding more when the sale is for the 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:
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:
Annual vs. monthly billing
Tailor your reward amount based on a metadata condition. In this example, we’re passing abillingCycle field on each sale (via the metadata prop on /track/sale) and rewarding partners more for driving annual plans over monthly plans:

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, selectSale as the condition type and then choose Type as the condition field. This will allow you to differentiate between new and recurring sales.

