Ambassly
← All posts

How to run a referral program for a SaaS or developer tool

Published · The Ambassly team

Running a referral program comes down to seven decisions: pick a model (customer referral or creator affiliate), set a reward that's competitive without being reckless, choose how you'll track who sent whom, recruit a small initial group before opening it publicly, define hold periods and refund rules in writing, disclose the relationship the way the FTC requires, and launch small before scaling. Get those seven right and the rest is operational detail. Skip any one of them and you'll spend more time firefighting than growing the channel.

1. Decide which model you're actually running

"Referral program" gets used loosely. Before building anything, decide whether you mean existing customers referring people they know (a referral program, proper) or external creators and publishers driving audience-based traffic for a commission (an affiliate program). They need different rewards and different software; see our full breakdown in referral program vs affiliate program. Most of the rest of this guide focuses on the affiliate/creator-partnership version, since that's the model with more moving parts, and it's what most SaaS companies mean when they ask this question.

2. Set the reward at market rate

For SaaS affiliate programs specifically, 20-25% recurring commission is the norm, with more aggressive launch or partner deals going higher. Recurring commission matters more than the exact percentage: a one-time payout gives a creator a reason to post about you once, a recurring one gives them a reason to keep mentioning you because their income depends on your customer staying subscribed. For a deeper walkthrough of commission design, including lifetime versus 12-month windows and how churn interacts with payouts, see how to design recurring affiliate commissions.

3. Choose how you'll track attribution

If you sell through Stripe, the mechanics are: capture a referral code from a link parameter, pass that code into Stripe Checkout as client_reference_id or in metadata, then listen for Stripe webhooks (checkout.session.completed, invoice.paid, charge.refunded, customer.subscription.deleted) to create and update commission records idempotently. Building this correctly yourself is a real engineering project, not a weekend script, mainly because of Safari's roughly 7-day cap on client-set cookies and the need to handle duplicate webhook deliveries without double-paying a commission. The full technical breakdown is in how affiliate tracking actually works with Stripe and the 4 Stripe webhook events that matter. Dedicated tools exist specifically to skip this build: Ambassly, Rewardful, and FirstPromoter all handle the webhook and cookie plumbing for you, see Ambassly vs Rewardful vs FirstPromoter for how they compare on price and caps.

4. Recruit a small group before opening publicly

Before building anything, do the blunt test: can you name 5 to 20 people you'd invite on day one? If the answer is no, that's a sign to figure out where your buyers actually get their information before launching a program nobody joins. Reach out personally; a cold invite converts far worse than a warm one from a founder who's clearly done their homework. The full recruiting playbook, including where to find technical creators without a marketplace, is in how to recruit affiliates for a developer tool.

5. Write down hold periods and refund rules before you need them

Set a hold period, the gap between a commission going pending and becoming payable, at least as long as your refund window, typically 30-45 days. If your refund policy is 30 days and your hold period is shorter, you'll routinely pay out commissions on subscriptions that get refunded weeks later. Decide in advance whether a refund after payout becomes a negative adjustment on a future payout or a clawback request, and put that decision in your program terms so it's not a surprise. See how to pay affiliates without making a mess for the full payout workflow, including PayPal mass-pay and CSV exports.

6. Disclose the relationship

Whether it's a customer's referral link or a creator's affiliate link, the FTC requires clear and conspicuous disclosure of a material financial connection, see the FTC's Endorsement Guides. Build a one-line disclosure requirement into your program terms and give partners suggested wording; most will use it if you make it easy.

7. Launch small, then scale

Run it on your own product first if you can, or with a tiny invite-only cohort, before opening it broadly. A program with 5 real, paying affiliates and a clean ledger is a better foundation than a public program with 200 inactive signups and no idea which ones matter. Get the commission math, the hold period, and the payout process right at small scale, then recruit harder once you trust the plumbing. Watch for the fraud patterns that show up even in small programs, self-referrals and coupon leakage being the most common, covered in affiliate fraud prevention for small SaaS programs.

Frequently asked questions

Do I need software to run a referral program, or can I do it manually? For a handful of customers referring friends, a shared discount code and a spreadsheet can work. Once you have more than a few active partners, or any partner whose volume is unpredictable, manual tracking breaks down fast, mainly around refund clawbacks and duplicate-webhook handling. That's the point where dedicated software pays for itself.

How long does it take to launch an affiliate program from scratch? With a tool that handles Stripe attribution and the commission ledger, most founders can have a working program (checkout wired up, terms written, a handful of invited affiliates) running within a day or two. Building the tracking yourself, cookies, webhooks, idempotency, refund clawbacks, typically takes longer and is worth scoping as its own project.

What commission rate should a new SaaS program offer? 20-25% recurring is the standard range for SaaS affiliate programs. Going meaningfully below that makes it harder to compete for the same technical creators every other SaaS tool is also recruiting.

Should I cap how much an affiliate can earn? That's a real decision every program has to make. Revenue caps that force an upgrade once a partner's referrals cross a dollar threshold are common among affiliate tracking vendors (Rewardful, FirstPromoter, and Tolt all cap tiers this way), but the cap is on your software bill, not necessarily on what you choose to pay the affiliate. Decide separately whether you want your own program to cap affiliate payouts; most SaaS programs don't, since capping success discourages the partners doing the best work.