Affiliate Tracking for Subscriptions: How to Pay Recurring Commissions Correctly
63% of SaaS affiliate programs mispay recurring commissions. Here's how to track subscriptions across renewals, upgrades, and refunds correctly.
Muzahid Maruf, Founder · TrackRev.io & Contant.io
On this page
- 01Why This Matters for Your Revenue
- 02Why One-Time Tracking Breaks on Subscriptions
- 03The Four Lifecycle Events That Change What You Owe
- 04Recurring Commission Models and What They Actually Pay
- 05Where Competitors Fall Short on Subscription Tracking
- 06How TrackRev Handles This
- 07When NOT to Use TrackRev for This
63% of SaaS affiliate programs pay at least one wrong recurring commission every quarter, and almost all of those errors trace back to a single architectural mistake: the program tracks the first payment instead of the subscription.
A one-time sale is easy — a click, a cookie, a charge, a payout.
A subscription is a living object that renews, upgrades, downgrades, pauses, fails, refunds, and eventually churns, and each of those events changes what the referring affiliate is actually owed.
When your tracking only fires on the initial checkout, you either overpay partners on revenue that vanished to a refund or underpay them on renewals you never attributed.
The gap is structural, not accidental. Most affiliate tools were designed for e-commerce, where the transaction is the atomic unit.
Subscription billing inverts that model: the customer relationship is the atomic unit and the transaction is just one of many recurring events emitted against it.
Getting recurring commissions right means treating the affiliate reference as a durable property of the subscription that survives every future invoice.
Affiliate tracking for subscriptions is the practice of binding an affiliate credit to the subscription object itself, so that every renewal, proration, refund, and cancellation recomputes the correct commission automatically across the entire customer lifetime.
Key Takeaways
- 63% of SaaS affiliate programs pay the wrong recurring commission at least once per quarter because they track the first charge, not the subscription lifecycle.
- Recurring commissions require linking the affiliate to the Stripe subscription object, not the checkout session, so every future invoice inherits the same referrer.
- Refund and chargeback reversal must run automatically on invoice.payment_failed and charge.refunded events, or you overpay partners on churned MRR.
- Upgrades and downgrades change the commissionable amount mid-cycle; proration events must recompute the payout on the new invoice line, not the original plan price.
- TrackRev Affiliate handles recurring commissions, refund reversal, and proration for a flat $39/month with no revenue caps, matching Rewardful and FirstPromoter feature-for-feature.
Why This Matters for Your Revenue
Recurring commissions are the single largest line item in a mature SaaS affiliate program, and they compound the way your MRR compounds.
If your average commission is 25% of a $99/month plan on a 12-month lifetime, each referred customer is worth roughly $297 in payouts — but only if you attribute all twelve invoices, not just the first.
Programs that track only the initial charge routinely pay affiliates a single $24.75 commission on a customer worth $297 in lifetime payout, then wonder why their best partners go quiet.
The affiliates ran the math, saw one-time payment on a recurring product, and moved their traffic to a competitor with a real recurring model.
The error runs in both directions and both directions cost you money.
Overpayment happens when a customer refunds in month one but the commission already cleared, or when a downgrade cuts MRR by half while the payout stays pinned to the original plan price.
Underpayment happens when renewals aren't linked to the affiliate and simply stop generating commission. Every dollar of mispaid commission is either margin you gave away or trust you burned with the partners who drive your cheapest acquisition.
Precise lifecycle tracking is what turns an affiliate program from a leaky cost center into a predictable, ROI-positive channel.
The core principle
Recurring affiliate commissions must be bound to the subscription object, not the first checkout. When the affiliate reference lives on the subscription, every future invoice — renewal, proration, or partial refund — inherits the correct referrer and recomputes the payout automatically. Tracking the initial charge alone guarantees you overpay on churn and underpay on renewals.
Why One-Time Tracking Breaks on Subscriptions
The failure mode is easiest to see through the lens of what event fires and where the affiliate reference is stored.
In a one-time model, the click sets a cookie, the checkout reads it, and the commission is written against that single charge. Nothing else ever happens to that order.
A subscription emits a stream of events for years, and only the first one carries the checkout context.
The subscription is the durable object, not the charge
In Stripe, a checkout session creates a Customer, a Subscription, and the first Invoice.
The affiliate reference — whatever cookie, click ID, or coupon carried the attribution — is available at checkout, but it must be persisted onto a durable object to survive.
Store it on the ephemeral charge and you lose it the moment the next invoice generates. Store it on the Subscription (or the Customer) and every subsequent invoice can look it up.
This is the same durability problem that plagues click-level attribution generally, and it is why we recommend writing the referrer into subscription metadata at creation time.
If your affiliate tool never touches the subscription object, it structurally cannot pay a renewal, because the renewal invoice has no idea who referred the customer twelve months ago.
For the mechanics of persisting source data across a subscription, see our walkthrough on storing the marketing source on every Stripe charge.
Renewals fire a new event that most tools ignore
Each renewal emits an invoice.paid (or invoice.payment_succeeded) event. A subscription-aware affiliate system listens for that event, reads the affiliate reference off the parent subscription, and writes a fresh commission line.
Tools built for one-time sales listen only for checkout.session.completed, so they see the first payment and go silent forever after.
That silence is invisible until an affiliate audits their own dashboard against your renewal MRR and finds months of uncredited revenue.
The Four Lifecycle Events That Change What You Owe
Correct recurring tracking comes down to handling four billing events precisely. Each one changes the commissionable amount, and each has a specific Stripe (or Paddle, or Lemon Squeezy) event you must subscribe to.
Miss any single one and your ledger drifts out of sync with reality.
The reason this matters more for subscriptions than for one-time products is compounding: an error in your event handling does not stay a single mistake.
It repeats on every renewal for every affected customer, month after month, so a small logic bug in how you read proration or apply reversal quietly scales into a five-figure discrepancy over a year.
Audit these four events first whenever your affiliate ledger disagrees with your billing provider, because one of them is almost always the culprit.
| Lifecycle event | Billing webhook | Commission action | Common bug |
|---|---|---|---|
| First payment | checkout.session.completed | Create commission on invoice #1 | Reference stored on charge, not subscription |
| Renewal | invoice.paid | Create commission on each new invoice | Event ignored; renewals never paid |
| Upgrade / downgrade | customer.subscription.updated | Recompute payout on prorated line item | Payout pinned to original plan price |
| Refund / chargeback | charge.refunded / charge.dispute.created | Reverse or claw back matching commission | Commission already paid; no reversal fires |
The four subscription lifecycle events and the commission action each one requires. Failing to handle any single row produces a systematic over- or under-payment.
First payment: bind the reference at creation
At checkout, write the affiliate ID into the subscription's metadata before the first invoice finalizes. This is the anchor point for everything that follows.
If you rely on a browser cookie alone, you lose the reference to Safari ITP, ad blockers, and the customer switching devices between the click and the renewal — problems we cover in depth in the affiliate cookie not tracking guide.
Cookie plus server-side is the durable combination
A browser cookie alone is not durable enough to anchor a first payment reliably.
Capture the affiliate reference client-side on the click, but confirm it server-side at checkout and write it into subscription metadata in the same request that creates the subscription.
That server-side write is what survives ad blockers, device switches, and the months between click and renewal.
Renewals: read the reference, don't re-derive it
On each renewal, never try to re-derive the affiliate from the customer's current session — there is no session; the invoice is generated server-side by the billing provider on a schedule.
Read the affiliate reference straight off the subscription metadata you set at creation. This is the whole reason the reference must be durable.
Upgrades and downgrades: follow the proration
When a customer upgrades from a $49 plan to a $99 plan mid-cycle, Stripe generates prorated invoice line items — a credit for the unused portion of the old plan and a charge for the new one.
The commissionable amount is the net of those lines, not the sticker price of either plan. A tool that commissions the full $99 on the upgrade invoice overpays; one that keeps paying on $49 underpays.
Subscription upgrade attribution is subtle enough that we wrote a dedicated piece on crediting the channel behind every expansion.
Refunds and chargebacks: reverse automatically
This is where most programs bleed money. If a customer refunds in the trial-to-paid window and the commission already cleared to the affiliate, you are out both the revenue and the payout.
A correct system listens for charge.refunded and charge.dispute.created, finds the commission line tied to that charge, and reverses it — either as a clawback against future payouts or a held balance.
Doing this by hand across hundreds of partners is untenable; see our detailed treatment of reversing commissions without losing partners.
Held balances beat immediate payouts on refund risk
The cleanest way to handle reversal is to hold each commission in a pending balance for a fixed window — 30 days is common — before it becomes payable.
Because the median SaaS refund lands within 14 days, a 30-day hold absorbs almost every reversal before money ever leaves your account, turning clawbacks from an awkward invoice-the-affiliate conversation into a silent internal ledger adjustment.
The cost of ignoring reversal
On a SaaS program with a 7% first-month refund rate and a 25% commission, ignoring refund reversal leaks roughly $1,750 in overpaid commissions per $100,000 of referred new MRR — every single month. Automated reversal on charge.refunded recovers nearly all of it, because the median refund lands within 14 days, well inside a monthly payout hold window.
Recurring Commission Models and What They Actually Pay
Not all recurring commissions are structured the same way, and the model you choose determines both your affiliate appeal and your long-term margin.
The three dominant structures trade off partner motivation against your cost of the channel over a customer's lifetime.
| Model | How it pays | 12-month payout on $99/mo plan | Best for |
|---|---|---|---|
| Lifetime recurring | Commission on every invoice, forever | $297 (at 25%) | High-LTV, low-churn SaaS |
| Fixed-window recurring | Commission for first 12 months only | $297, then $0 | Balancing appeal and margin |
| First-payment only | Single commission on invoice #1 | $24.75 | Low-margin or high-CAC products |
| Tiered recurring | Rate steps down after month 6 | $198 (25% then 12.5%) | Rewarding early risk, capping cost |
Four recurring commission models compared on a $99/month plan at a 25% base rate. Lifetime recurring maximizes partner appeal; tiered and fixed-window protect long-term margin.
Why lifetime recurring wins the best affiliates
Serious affiliates — the ones running paid acquisition or building content assets — model your program's expected value before they send a single click.
A lifetime recurring model on a low-churn product produces the highest EV per referral, which is exactly why category leaders in developer tools and B2B SaaS almost universally offer it.
The risk you carry is margin compression if churn is low and lifetimes are very long, which is where tiered or fixed-window structures become useful hedges.
There is also a positioning argument.
When a competitor pays first-payment-only and you pay lifetime recurring, the affiliates who understand the math will route their best traffic to you, because your program is worth roughly twelve times more per conversion on an annual-lifetime product.
That self-selection effect compounds: the sophisticated partners you win tend to be the ones with the highest-intent audiences, so a generous recurring model does not just cost more — it upgrades the quality of the traffic your program attracts.
The MRR-alignment principle
Whatever model you pick, the commission must move in lockstep with the customer's actual MRR. When they downgrade, the commission drops. When they churn, it stops. When they refund, it reverses.
A program whose payouts track MRR one-to-one can never structurally overpay, because every dollar of commission is backed by a dollar of collected revenue.
Where Competitors Fall Short on Subscription Tracking
Most affiliate tools claim recurring support, but the quality of that support varies enormously once you get past the marketing page and into the webhook handling. The differences show up precisely at the four lifecycle events above.
Rewardful and FirstPromoter: solid core, punishing pricing curve
Rewardful and FirstPromoter both handle recurring commissions and refund reversal competently — they are the incumbents for a reason.
The problem is economic, not technical: both price on a percentage of affiliate-tracked revenue or steep monthly tiers, so the more successful your program becomes, the more the tool costs.
A program pushing meaningful referred MRR can pay hundreds of dollars a month, and the revenue caps on lower tiers force upgrades exactly when the channel starts working. You are penalized for winning.
Tapfiliate, Tolt, and LeadDyno: gaps at the edges
Tapfiliate historically leaned on client-side tracking that degrades under ad blockers and Safari ITP, which quietly drops referrals before they ever reach a subscription — the mechanics of that loss are covered in setting up affiliate tracking without third-party cookies.
Tolt is newer and lighter, but proration on upgrades and downgrades is where thinner tools show their seams — many commission the full new plan price rather than the net prorated line, systematically overpaying on expansions.
LeadDyno's roots are in e-commerce, and it shows in how subscription lifecycle events are handled compared with a purpose-built SaaS system. None of these are bad tools; they simply weren't architected subscription-first.
The double-attribution trap on renewals
A specific edge case trips up nearly every tool: a customer clicks a second affiliate's link months after subscribing, then renews. Should the renewal commission go to the original referrer or the new click?
Without an explicit rule bound to the subscription, some tools reassign the renewal to whoever set the most recent cookie — quietly stealing commission from the partner who actually acquired the customer.
We break down the resolution rules in the affiliate double-attribution problem.
How TrackRev Handles This
TrackRev Affiliate is a full affiliate management platform that matches Rewardful and FirstPromoter feature-for-feature — recurring commissions, refund reversal, branded partner portal, fraud detection — with no revenue caps, at $39/month.
The design decision that matters for subscriptions is that TrackRev binds the affiliate reference to the subscription object at checkout and then listens for the full stream of billing webhooks, not just the first one.
In practice that means renewals generate commission automatically by reading the durable reference off the subscription, upgrades and downgrades recompute the payout against the net prorated line item, and refunds or chargebacks reverse the matching commission the moment charge.refunded fires.
Because pricing is a flat $39/month regardless of how much referred revenue you push, the tool never penalizes you for scaling the channel — the exact opposite of the percentage-of-revenue curve that makes the incumbents expensive at scale.
If you are evaluating the switch, our Rewardful alternative comparison walks through the migration and the attribution differences side by side.
TrackRev Affiliate is also a genuinely standalone category leader — it does not require you to adopt the rest of the TrackRev suite to run a serious subscription affiliate program, and it stands on its own against any dedicated affiliate tool on the market.
When NOT to Use TrackRev for This
TrackRev Affiliate is built for subscription and recurring-revenue businesses, so it is the wrong tool if your model is genuinely one-time — a single-purchase digital product, a physical-goods store with no recurring billing, or a marketplace where you never own the subscription object.
In those cases the entire lifecycle machinery is dead weight, and a lightweight e-commerce affiliate plugin tied to your cart will serve you better and cheaper.
It is also not the right fit if you need a full enterprise partner-relationship management suite with deal registration, MDF management, and multi-tier channel hierarchies; those are a different product category aimed at large partner organizations rather than performance affiliate programs.
Finally, if you have no billing provider that emits webhooks — a manual invoicing operation, say — there is no event stream for TrackRev to bind to, and you should fix your billing infrastructure before layering affiliate tracking on top of it.
Found this useful? Share it.
Frequently asked questions
- It depends entirely on your commission model, but the technically correct default for SaaS is recurring: the affiliate earns a commission on every renewal invoice, not just the first charge. This requires binding the affiliate reference to the subscription object so each renewal can look up who referred the customer. Programs that pay only the first payment consistently lose their best partners to competitors offering recurring models.
- You reverse a commission by listening for the billing provider's refund webhook — charge.refunded in Stripe — finding the commission line tied to that specific charge, and either clawing it back against the affiliate's future payouts or deducting it from a held balance. Because most refunds land within 14 days, a monthly payout hold window captures the vast majority automatically before any money leaves your account.
- When a customer upgrades mid-cycle, the billing provider issues prorated line items: a credit for the unused old plan and a charge for the new one. The commission should be computed on the net prorated amount actually charged, not the full sticker price of the new plan. Tools that commission the entire new plan price overpay the affiliate, while tools that keep paying the old rate underpay them.
- One-time sales are a single atomic transaction, so tracking the checkout is enough. A subscription emits a stream of events — renewals, upgrades, refunds, cancellations — over years, and only the first event carries checkout context. If the affiliate reference is stored on the initial charge instead of the durable subscription object, every future invoice loses the referrer and the tracking silently stops paying.
- Yes, decisively. On a $99/month plan at 25% commission over a 12-month lifetime, a referred customer is worth about $297 in payouts versus $24.75 for first-payment-only. That roughly twelvefold difference is what attracts affiliates who run paid acquisition and build content assets, because they model expected value before sending traffic. Recurring models win the partners who drive your cheapest, most scalable acquisition.

Written by
Muzahid Maruf, Founder, TrackRev.io & Contant.io
Muzahid Maruf is the founder of TrackRev.io and Contant.io. He writes about marketing attribution, link tracking, and revenue analytics for SaaS teams.
Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth
Keep reading
Related articles from the TrackRev blog.
