Coupon codes catch the sales your links miss
A viewer hears a recommendation in a video, types your name into Google a week later and buys. No click, no cookie. A code still pays the creator.
Affiliate coupon codes are the second attribution path every partner program needs, because link tracking assumes a click and a large share of real recommendations never produce one. A viewer hears a creator mention your product, types your name into a search box a week later, and buys. There is no referrer, no cookie and no click to match. A personal code that the creator says out loud, and the customer types at checkout, attributes that sale with no click at all. In RelayWonder each partner gets a code that lives as a promotion code in your Stripe account; when an invoice carries it, the sale and every renewal after it are credited to that partner regardless of cookies. This post covers why links miss sales, how code attribution works at the invoice level, a worked month for one creator, the arithmetic of choosing a discount, what to do about leaked codes, and what to tell creators so they use the code.
Why links miss sales
A tracking link works when a person clicks it, lands on your site with the partner identifier in the URL, receives a first-party cookie, and buys on the same browser within the cookie window. Each of those four conditions fails in a common situation.
- No click. Video, audio and in-person recommendations are heard, not clicked. A podcast listener on a run does not open the show notes. A YouTube viewer on a television cannot click a description link at all.
- Different device. The viewer watches on a phone and buys on a laptop at work. The cookie is on the phone.
- In-app browsers. Clicks from inside some social apps open an embedded browser that does not share cookies with the real browser the customer later uses.
- Cookie window expired. Our default window is 60 days. A B2B buyer who saw a review in January and signed the contract in April is outside it.
- Search instead of click. The most common case of all: the customer remembers the product name, not the link, and arrives from a search result or by typing the URL.
We do not have an industry-wide figure for how many creator-driven sales arrive without a click, and we would be suspicious of anyone who claimed one. In the programs we have looked at closely, the share of a video creator's sales that arrive via code with no matching click ranges from roughly a third to a half; it is lower for review blogs, where readers do click. Treat those as the typical range we see, not a benchmark. The point stands at any ratio: without a second attribution path, those sales are invisible, and a creator who sees nine sales where they expected twenty concludes that your program does not work and stops mentioning you.
How affiliate coupon codes attribute at the invoice level
Stripe separates a coupon (the discount itself: 10% off, $10 off, for one payment or for several) from a promotion code (the customer-facing string such as SARAH10 that applies the coupon) [1]. A single coupon can have many promotion codes, each with its own usage limits and expiry. That is exactly the shape a partner program needs: one discount, one code per partner.
When a customer enters SARAH10 in Stripe Checkout or on an invoice, the discount is recorded on the subscription and on each invoice it applies to [2]. RelayWonder reads the invoice when Stripe sends the paid event, sees the promotion code, looks up which partner owns it, and writes a commission row to the ledger. Because attribution happens on the invoice rather than on the click, every later renewal invoice for that subscription is attributed to the same partner, even though the discount itself may only have applied to the first payment. Refunds and disputes on any of those invoices become negative rows against the same partner.
When both a cookie and a code are present and they point to different partners, the code wins. The customer made an active choice to use that partner's code; the cookie is an inference. We state this rule in the program terms so partners know it before it matters. When the cookie and the code point to the same partner, which is the usual case for a creator who shares both, nothing changes and the sale is counted once.
A worked month for one creator
Take a creator with a mid-sized YouTube channel who reviews your $29 per month product in one video. Her code is SARAH10, worth 10% off the first payment. Your program pays 20% recurring commission. Here is a plausible first month, using numbers chosen to make the arithmetic clear rather than to describe any real channel.
| Path | Count | First-month revenue | Commission (20%) |
|---|---|---|---|
| Link click, cookie present, no code | 9 sales | 9 x $29.00 = $261.00 | $52.20 |
| Link click and code used (same partner) | 6 sales | 6 x $26.10 = $156.60 | $31.32 |
| Code only, no click or cookie | 14 sales | 14 x $26.10 = $365.40 | $73.08 |
| Total attributed to SARAH10 | 29 sales | $783.00 | $156.60 |
| Total without codes | 9 sales | $261.00 | $52.20 |
With codes the creator sees 29 sales and $156.60 in first-month commission. Without codes she sees 9 sales and $52.20 and decides your program is a bad fit for her channel. The gap compounds: at 20% recurring on $29, each retained customer pays her $5.80 a month. If 20 of those 29 customers are still subscribed after six months, that is $116 a month of recurring commission that keeps her mentioning you in later videos. The 14 code-only customers are the ones a link-only program would have lost, along with the creator.
Note also the discount cost. The 20 code users paid $26.10 instead of $29.00 for the first month, a total of $58 in discounts. Against $783 of first-month revenue and the subscription revenue that follows, that is a small acquisition cost for customers you would otherwise not have been able to credit.
Setting up partner codes step by step
- Create one coupon in Stripe for the partner discount. Decide the amount (see the next section) and the duration: once, repeating for N months, or forever. For most SaaS programs, once is right [1].
- Decide the code pattern. Creator name plus the discount amount is the pattern people remember: SARAH10, DEVTOOLS20. Avoid codes that look like generic coupons such as SAVE10, because they leak faster and attribute nothing when a customer finds them elsewhere.
- Generate one promotion code per partner at approval, not on request. RelayWonder creates the promotion code against your coupon when the partner is approved and stores the mapping. A partner who has to ask for a code never uses it.
- Enable promotion codes on Checkout. Stripe Checkout has a setting to show the code field; without it the customer has no place to type the code [3].
- Show the code next to the link in the partner's dashboard, with copy buttons for both. Creators copy both into every description and every show note.
- Decide what renewals pay. Code attribution covers every invoice on the subscription. Say in the terms whether the commission is for 12 months, 24 months or the lifetime of the customer, and apply the same rule to link and code sales.
- Watch the first ten code redemptions in the ledger. If a code appears on invoices from customers in a country where the creator has no audience, it has leaked, and the next section applies.
Choosing the discount: the arithmetic
The discount behind affiliate coupon codes has two jobs. It has to be worth saying aloud, and it must not cost more than the customer is worth. For a $29 per month product with a typical twelve-month customer lifetime, lifetime revenue is about $348. Here are the common choices and what they cost.
| Discount | Cost per customer | Share of 12-month revenue | Easy to say aloud |
|---|---|---|---|
| 10% off first payment | $2.90 | 0.8% | Yes |
| $10 off first payment | $10.00 | 2.9% | Yes |
| 20% off first payment | $5.80 | 1.7% | Yes |
| 10% off for 3 months | $8.70 | 2.5% | Awkward |
| 10% off forever | $34.80 | 10.0% | Yes, but expensive |
| First month free | $29.00 | 8.3% | Yes |
Two rules of thumb. First, a forever discount on a subscription is a permanent price cut for that cohort and makes the creator's recurring commission smaller too, since commission is computed on the amount actually paid. Second, a fixed dollar amount reads better in speech than a percentage for low-priced products: "ten dollars off" is more concrete than "ten percent off" when the product is $29. For products priced above $100 a month, a percentage is clearer.
Whatever you choose, the discount should be the same for every partner of the same type. A creator who learns that another creator has a 20% code while theirs is 10% will ask, and the honest answer ("we gave them a bigger one because they asked") is not one you want to give.
Leakage to coupon sites and what your terms should say
Any code that is said in public ends up on coupon aggregator sites. A customer who was going to buy anyway searches "yourproduct coupon", finds SARAH10 on an aggregator, uses it, and the sale is attributed to Sarah even though she had nothing to do with it. Three things are true at once: Sarah did not earn that sale, the aggregator did not earn it either, and the customer got $2.90 off.
Programs handle this in one of three ways, and the terms should state which:
- Tolerate it. The leaked redemptions are the cost of reaching the non-clickers, and the creator's code only leaks because the creator is being heard. Most small programs choose this, and most should. The commission on a leaked sale is 20% of a sale you were making anyway, which is a real cost but a bounded one.
- Cap or expire codes. Set a usage limit on each promotion code (Stripe supports a maximum redemption count and an expiry date [1]) and rotate the code when it is reached. This limits leakage but creates a support problem: the customer who heard the code in a six-month-old video finds it no longer works.
- Exclude coupon sites by rule. The terms say that partners may not post codes on aggregator sites and that redemptions traced to aggregators do not pay. This is enforceable against partners who are themselves aggregators, but does nothing about a third party reposting a creator's code, so pair it with the first option for creators.
What matters most is that the rule is written before the first leak. If the terms say that a leaked code still pays the original partner, the creator has nothing to argue about and you have nothing to decide under pressure.
Link, code and invoice: three attribution methods compared
Most affiliate software for SaaS tracks by link and cookie. Rewardful and FirstPromoter both support coupon-code tracking alongside links, and both integrate with Stripe (as checked on 2026-09-18). The differences are in what happens after the first payment and how the two paths are combined.
| Method | Needs a click | Survives device change | Covers renewals | Weak point |
|---|---|---|---|---|
| First-party cookie on link click | Yes | No | Only if the invoice is matched to the customer | Expires after the cookie window; lost across devices |
| Promotion code on the invoice | No | Yes | Yes, every invoice on the subscription | Leaks to aggregators; customer must type it |
| Stripe invoice-level attribution (cookie or code recorded on the customer) | Either | Yes, once attributed | Yes, first payment and every renewal; refunds become negative rows | Requires the billing system to expose the invoice events |
What to tell creators so they actually use the code
Affiliate coupon codes only work if the creator says them. Give them four things: the exact code, the exact discount in words ("ten percent off your first month"), a one-line reason it matters to them ("the code pays you even when viewers do not click"), and a place where the code is visible every time they open their dashboard. Creators who understand the second attribution path put the code in the spoken script, not just the description, and that is where the untracked sales come from.
For partners whose audience does click, such as review blogs and comparison sites, the code matters less but still helps: a reader who opens the review on a phone and buys on a desktop later can type the code. Give every partner a code at approval and let each decide how prominently to use it. The cost is one promotion code in Stripe. The return is the set of sales your links were never going to see.
FAQ
How do affiliate coupon codes attribute a sale if there was no click?
The code is a Stripe promotion code tied to one partner. When an invoice is paid with that code, RelayWonder reads the invoice event, matches the code to the partner and writes the commission row. No cookie or click is needed, and renewals on the same subscription follow the same attribution.
What happens when the cookie and the code point to different partners?
The code wins. The customer actively chose to use that partner's code, while the cookie is an inference from a click. We recommend saying this plainly in your program terms so partners are not surprised.
Does the discount reduce the partner's commission?
Yes, commission is computed on the amount the customer actually paid. With 10% off a $29 first payment, the partner earns 20% of $26.10, which is $5.22, instead of 20% of $29. From the second month the customer pays full price and the commission is $5.80.
Should I give codes to affiliates and publishers, or only to creators?
Give every partner a code at approval. Creators and communities use them most because their audiences do not click. Review sites use them less but still benefit when a reader switches devices. The cost is one promotion code per partner.
What do I do when a partner's code shows up on a coupon site?
Follow whatever your terms already say. Most small programs let a leaked code keep paying the original partner and accept the cost. If leakage is large, set a redemption limit and expiry on the promotion code and issue a new one, and tell the partner why.
Sources
- Stripe Docs: Coupons and promotion codes · The distinction between a coupon (the discount) and a promotion code (the customer-facing string), with limits and expiry.
- Stripe Docs: Discounts on invoices and subscriptions · How an applied discount appears on the subscription and each invoice.
- Stripe Docs: Add discounts in Checkout · Enabling the promotion code field in Stripe Checkout.
- Stripe Docs: Promotion codes API · Creating one promotion code per partner against a shared coupon.
- Stripe Docs: Webhooks · Invoice paid, refund and dispute events that drive invoice-level attribution.
- Rewardful pricing · Coupon tracking and Stripe integration; as checked on 2026-09-18.
- FirstPromoter pricing · Coupon tracking and Stripe integration; as checked on 2026-09-18.