Use discount codes on subscriptions
Create a discount code that lowers the first payment only or every renewal of a subscription, and see how it shows up on renewals.
After these steps a client can type a code at checkout and pay less for a subscription, either on the first payment only or on every renewal.
Open Discount codes
In the sidebar open Offers → Discount codes (/discounts) and click Add coupon. The
three-step wizard opens as a full page; every field is described in Discount
codes.
Define the code
In the first step type the Code, choose Percentage or Numeric (a fixed gross amount) under How much off? and enter the value. Click Choose what it applies to →, pick All products or Selected products, then click Set the limits →.
Choose how long it applies
In the last step, in Stripe duration, pick one of:
- Once (first payment only): the discount lowers the first charge; renewals are billed at the full price.
- Forever (every renewal): the discount is applied to every renewal for as long as the subscription lasts.
The field's description reads: "How long the discount applies on Stripe checkouts. "Once" applies to the first invoice; "Forever" applies to every renewal of a recurring subscription."
Optionally limit the code
In the same step turn on Set usage limit (how many times the code can be used) and Set time limit (Available from / Available to) if you need them.
Save and share
Leave Active on, click Create discount code and give the code to your clients. On the checkout they type it in the discount field before paying.
Good to know
For subscriptions charged through Stripe, Zanfia creates a matching coupon and promotion code on
your connected Stripe account, so the gateway applies the discount on every renewal by itself.
Each renewal is recorded as an order tagged Renewal in Transactions (/orders) together
with the discount that was applied.
Which duration to choose
| Goal | Setting |
|---|---|
| A cheaper first month as a welcome offer | Once (first payment only) |
| A permanent partner or alumni price | Forever (every renewal) |
| A launch-only price with a deadline | Either, plus Available to |
The duration is applied at the gateway when the client subscribes. Changing the code later affects new subscriptions, not the discount already attached to a running one.
What does not change the price
- Manual plan changes you make from the product's Access tab ("Billing is not affected") do not change what the client pays.
- Turning a price inactive stops new purchases but existing subscribers keep their current amount and any discount.
Was this article helpful?

