First-payment discounts
The flip side of tier-based discounts: discount the initial order only, then renewals charge the full price. The classic "first month €1" acquisition pattern, built natively — no coupon engine required.
When to use it
- Paid trials with a low entry fee ("First month for €1, then €19/month").
- Launch campaigns ("50% off the first quarter").
- Influencer codes that lower the friction to try but don't erode lifetime revenue.
- B2B "pilot" pricing where the first month is discounted as a goodwill gesture.
Use this instead of free trials when you want some financial commitment up front. The initial charge tokenises the customer's payment method, which improves renewal success rates.
Configuring
Per-product, in the product editor:
- Open the product, go to the Subscription tab.
- In the "First-payment discount" row, enter either a percentage (e.g.
50= 50%) or a fixed amount (e.g.1.00for "first month at €1"). - Save. The product page now shows the discounted first-payment price next to the regular recurring price.
Combining with tier-based
First-payment discounts and tier-based discounts can run on the same product. Common pattern:
- First payment: 50% off (acquisition).
- Renewals 1–3: full price.
- Renewals 4+: tier 1 starts (5%).
- Renewals 7+: tier 2 (10%).
The customer feels "first month is cheap, then it's normal price for a while, then I get rewarded for staying." Three different signals, one engine.
Relevant hooks
aswc_first_payment_discount— filter the first-payment discount value at runtime.aswc_is_first_payment— filter that decides whether the current order counts as "first" (useful for plan-switch edge cases).