How to create an affiliate program for your SaaS
The decisions to make before you invite anyone, in the order you meet them: what each product pays, how a sale is tracked, and how affiliates get paid.
Updated · 12 min read
An affiliate program is a promise: send me a customer and I will pay you this much, on this schedule, under these rules. Most of the work is deciding what that promise says before the first affiliate reads it, because changing a commission once people are promoting you costs trust. Here are the decisions in order, with numbers you can replace with your own.
Check that your product is ready
Affiliates send traffic. They do not close deals for you. Before you invite anyone, make sure a stranger can arrive on your site and buy without talking to you.
- Pricing is public and stable. An affiliate needs to tell their audience what it costs. If you plan to change your prices next month, do that first.
- There is a self-serve checkout. Stripe, Paddle, Polar, Creem or similar. Commissions are written from payment events, so the checkout is where your tracking will end. A sale that only happens on a call or by invoice is hard to credit to anyone.
- Your margins can carry a commission. Software usually has high gross margins, but take out processor fees, hosting per customer and support time, then check what is left after the commission you have in mind.
- Customers stay. A recurring commission is only attractive if subscriptions last. If most customers cancel in the first month, fix that before you pay people to bring more of them.
- You have a refund policy in writing. You will need its length in a moment.
Set a commission for each product
One rate for everything is the easy choice and usually the wrong one. A $19 monthly plan, a $490 yearly plan and a $499 setup service have different margins and different value to you. Decide what each product pays.
Percentage or fixed amount
A percentage scales with the price, so an affiliate who sells your bigger plan earns more, and a price increase raises their commission without you touching the program. A fixed amount is easier to say ("$50 per sale") and protects you on products where the price varies or the margin is thin, such as a service with real labour behind it.
One-time or recurring, and for how long
For a subscription, a recurring commission pays the affiliate a share of every renewal. That matches how you earn, and it is what software affiliates look for. The real decision is the duration. Recurring for life is the most generous. Recurring for 12 months caps what each customer costs you while still paying well. A one-time commission on the first payment suits one-off purchases and lifetime deals.
Work it out from your own numbers. Take how long a typical customer stays and what they pay, then see what share of that revenue the commission takes. Say your Pro plan is $49/mo and Pro customers stay about 14 months: that is $686 of revenue. At 30% recurring for 12 months, the affiliate earns $14.70 a month, $176.40 in total, about 26% of what that customer pays you. Compare that with what you would accept paying to acquire a customer any other way.
A worked example
An illustrative catalog with a rate on each product:
| Product | Price | Commission | What one customer earns the affiliate |
|---|---|---|---|
| Starter, monthly | $19/mo | 30%, recurring for 12 months | $5.70 a month, $68.40 over the year |
| Pro, monthly | $49/mo | 30%, recurring for 12 months | $14.70 a month, $176.40 over the year |
| Pro, yearly | $490/yr | 30%, recurring for 12 months | $147 on the first payment |
| Lifetime deal | $199 once | 20%, one-time | $39.80 |
| Setup service | $499 once | $50 fixed, one-time | $50 |
Notice the yearly plan. Read as calendar time, "recurring for 12 months" covers one yearly payment, so the affiliate earns $147 up front instead of $176.40 spread over a year. Read as a number of payments, it would cover twelve years of renewals. Check how your tool counts it, and say it plainly in your terms so nobody is surprised. Klibon counts calendar months from the first payment, so a yearly plan "for 24 months" pays twice.
In Klibon, you connect your checkout and import its products, then give each one its own rule: percentage or fixed, one-time or recurring, and for how many months or for life. A default rate for anything you have not covered is optional, and it never makes a program publishable on its own: at least one identified product has to pay.
Pick a cookie window
The cookie window is how long after a click a purchase still counts for the affiliate. Common choices are 30, 60 and 90 days. Pick it from how your customers buy, not from what sounds generous.
- If you have a free trial, the window must cover the trial plus a few days of decision time. A 14-day trial with a 7-day cookie means most trial conversions credit no one.
- If people usually compare tools for weeks before buying, go longer.
- Decide what happens when two affiliates send the same person. Last click wins is the usual rule: the most recent link gets the sale.
Renewals should not depend on the cookie at all. Once a customer is attributed, their later payments follow the customer, not the browser. In Klibon the default window is 60 days, you can set anything up to 365, attribution is last click wins, and renewals are matched by customer id long after the cookie has expired.
Hold commissions through your refund window
Never pay a commission on money you might give back. Hold each commission as pending for at least as long as your refund policy, plus a few days for a late refund or chargeback to reach you. With a 30-day money-back guarantee, a 30 to 35 day hold is sensible.
Also decide what a refund does after the hold. A partial refund should reduce the commission in proportion. A refund on a commission you already paid should come off the affiliate's next payout, not turn into a bill you send them.
Klibon works this way: a commission is written pending the moment the payment arrives, approved once your refund window closes (30 days by default, up to 180), and cut in proportion by a refund. If it was already paid, the reversal appears as a negative line on the next statement.
Set a minimum payout
A minimum payout stops you sending dozens of transfers for a few dollars each, where the transfer fee eats most of the amount. Balances below the minimum roll over to the next month until they clear it.
Check what the minimum means for a small affiliate. On the Starter plan above, one referred customer earns $5.70 a month, so a $50 minimum is reached in the ninth month ($51.30). That is acceptable for most people, but a $100 minimum would make a one-customer affiliate wait well over a year. In Klibon the minimum payout is at least 50 in your currency, and you can raise it but not lower it.
Decide how affiliates are approved
Automatic approval lets anyone who signs up start promoting straight away. It is less work and nobody waits, but you will also approve people whose audience has nothing to do with you. Approving by hand takes a minute per application and lets you check who you are attaching your name to: look at their site or channel, their audience and how they plan to promote you.
A sensible default is to approve by hand while the program is small and switch to automatic once you know what good applicants look like. Whatever you choose, review the queue quickly. In Klibon, approval by hand is the default. A pending affiliate's link already redirects and records clicks, but it earns nothing and a sale made while they wait is not credited later. Someone you invite by email is approved on arrival, since you chose them.
Write your terms and promotion rules
The commission is half of your terms. The other half is what affiliates may and may not do. Write it down before launch, in plain sentences, because you cannot enforce a rule nobody saw. Cover at least:
- Paid search. Whether affiliates may bid on your brand name. Most programs forbid it, because it pays a commission on customers who were already searching for you.
- Coupon and deal sites. Allowed or not, and whether affiliates may publish codes other than their own.
- Self-referrals. No commission on your own purchase or your company's.
- Disclosure. Affiliates must say they earn a commission, as advertising rules in many countries require.
- Claims. No promises about features you do not have, no fake reviews, no spam.
- What happens on a breach. Removal, and whether commissions earned under the breach are reversed.
Then give affiliates something to work with: who the product is for, the angles that convert, screenshots and logos, and who to ask when they have a question. In Klibon this is the program's affiliate page, with a description, best-fit audience, promotion rules, promotion resources and a support contact, shown to affiliates before and after they join. The guide to preventing affiliate fraud covers which rules stop the abuse a software program actually meets.
Set up tracking
Tracking has one job: carry the affiliate's identity from the click to the payment. The chain has four links, and a break in any of them means a sale nobody is credited for.
- The link. Each affiliate shares a link that records the click and lands on your site with their code in the URL.
- The cookie. A script on your site stores that code in a first-party cookie for the length of the cookie window.
- The checkout. When the visitor starts a checkout, the code is passed along with it, usually as a reference or metadata field your processor sends back.
- The payment event. Your processor's webhook reports the payment, and the code on it decides who earns the commission.
The third link is the one that breaks. The cookie lives on your marketing site, and the checkout is often created on your server or on another subdomain. If your product has accounts, the sturdiest approach is to save the code on the account at signup, so a payment that comes days later from another device still finds it.
Add coupon codes as a second route. A link is awkward in a podcast or a video; "use SARAH20" is not. Give each affiliate their own code, and a payment that uses it is theirs even without a click. Decide which wins when a link and a code disagree; the guide to affiliate discount codes goes through that.
With Klibon you paste one script tag. It sets the cookie, attaches the code to Stripe Payment Links, Polar checkout links and Creem payment links, fills it in on a Paddle button, and offers Klibon.signup() to tie an account's email to the affiliate. For a checkout you create on your server, you read the code with Klibon.referral() and pass it on. On Stripe, Klibon can also create a promotion code for each affiliate you approve. The install guide and coupon docs have the details. A program cannot go live until Klibon has seen an affiliate code actually reach it, on a signup or a payment (or until automatic Stripe codes track for it), so you find a broken chain before your affiliates do.
Choose your affiliate software
You can build tracking yourself, but you will also be building statements, refund handling, an affiliate dashboard and fraud checks. Most founders are better off with a tool. Check these before you pick one:
- It reads your processor directly. Renewals, upgrades, refunds and chargebacks should arrive from your processor's webhooks, not from a script that fires on a thank-you page.
- Rates per product. Percentage and fixed, one-time and recurring, with a duration, on each product separately.
- A hold period and refund reversals that follow the money without manual corrections.
- Coupon attribution and signup tracking, not only cookies.
- A way to test the whole chain with a test purchase before anyone real promotes you.
- How it charges you. Some tools take a percentage of the revenue your affiliates bring in, which grows exactly as the program works. A flat fee is easier to plan around. Also check whether anything is deducted from what affiliates receive.
For reference, Klibon connects to Stripe, Creem, Polar and Paddle, with a conversions API for any other checkout. The free plan runs one program with up to 25 active affiliates, needs no card and does not expire. Paid plans are a flat monthly fee (pricing), and Klibon never takes a cut of commissions: affiliates receive the full amount.
Launch with a small first group
Do not open with a public signup page and wait. Your first affiliates are people who already know the product, and you should invite them one by one:
- Customers who already recommend you, in reviews, replies or referrals you can see.
- People who have written about you or mentioned you in a newsletter or video.
- Consultants and agencies who set up tools like yours for their clients.
- Tools your product integrates with, whose users are your users.
- Creators in your niche whose audience matches your best-fit customer.
Ask each one what they need to promote you, and fix what they find confusing before you go wider. The affiliate recruitment guide covers where to find more and what to send them.
Before the first invitation, buy your own product through a test link (a 100%-off code is enough) and check that the sale appears. In Klibon each program has a test link for this and an invite link at klibon.com/join/your-program. An active program is also listed on klibon.com/programs, where affiliates can find it, though a listing is not a substitute for asking people yourself.
Pay affiliates every month
Pay on a fixed day, every month, and never late. Affiliates talk to each other, and a program that pays reliably is the one they keep promoting. A monthly cycle works well:
- On the first of the month, close the previous month.
- Include every commission whose hold has passed and that is not already paid. Leave out anything you are still checking.
- Total it per affiliate, and per currency if you sell in several. Carry anything under the minimum payout to next month.
- Pay through whatever you already use, such as bank transfer or PayPal, and keep the proof.
- Tell each affiliate what was paid and for which sales.
Klibon does the first three for you. On the first of each month it closes a statement per affiliate, per program and per currency, with the payout details the affiliate entered and a CSV of the month. You pay from it, then mark the statement paid with an optional note, and the affiliate is emailed. The paying affiliates docs explain how refunds after a statement are handled.