LostChurn Docs
Cancel Flows

Discount Offers

Retain at-risk subscribers with percentage discounts, fixed amount reductions, or free months — integrated with Stripe coupons and usage limits.

Discount offers give subscribers a price reduction to stay. They are the most direct retention tool in a cancel flow and tend to have the highest acceptance rate, especially when the cancellation reason is price-related.

Discount Types

LostChurn supports three discount formats. Choose the one that fits your pricing model:

Percentage Off

Reduce the subscription price by a percentage. Works well for products with variable pricing or multiple plan tiers.

Example: 25% off for 3 months

SettingValue
discount_pct25
discount_cents(not set)
duration_days90

Fixed Amount Off

Reduce the subscription price by a fixed dollar amount. Best when you want precise control over the discount value regardless of the subscriber's plan.

Example: $10 off per month for 2 months

SettingValue
discount_pct(not set)
discount_cents1000
duration_days60

Free Months

Offer one or more months completely free. This is effectively a 100% discount for a limited duration. High impact, but use sparingly.

Example: 1 month free

SettingValue
discount_pct100
discount_cents(not set)
duration_days30

Duration: One-Time vs. Recurring

Configure how long the discount applies:

Duration TypeHow It WorksBest For
One-timeApplies to the next billing cycle onlyHigh-value plans where even a single discount is significant
Recurring (limited)Applies for a set number of months (e.g., 3 months)The most common approach — gives enough time to re-establish value
Recurring (ongoing)Applies indefinitely until manually removedUse rarely — can permanently erode revenue

Set the duration using the duration_days field on the offer. For a one-time discount, set it to match one billing cycle (e.g., 30 days for monthly billing). For recurring, multiply by the number of months.

Stripe Coupon Integration

When a subscriber accepts a discount offer, LostChurn creates or applies a coupon through your connected Stripe account:

  1. The offer configuration is translated into a Stripe Coupon object
  2. The coupon is applied to the subscriber's Stripe subscription
  3. Stripe handles the billing adjustment automatically
  4. LostChurn records the redemption with the provider_coupon_id for tracking

How It Maps to Stripe

LostChurn SettingStripe Coupon Field
discount_pctpercent_off
discount_centsamount_off
duration_daysduration + duration_in_months

If you use a payment processor other than Stripe, LostChurn stores the discount details in the redemption record for your application to process.

Limiting Usage to Prevent Abuse

Discount offers can be exploited if subscribers learn they can cancel and get a discount repeatedly. LostChurn provides several controls:

Max Redemptions

Set max_redemptions on the offer to cap the total number of times it can be used across all subscribers. Once the limit is reached, the offer is automatically deactivated.

SettingDescription
max_redemptionsTotal times this offer can be redeemed (null = unlimited)
current_redemptionsCurrent count, updated automatically

Per-Customer Limits

Prevent the same subscriber from accepting the same discount offer more than once. LostChurn checks the discount_redemption table for existing redemptions by the same customer before presenting the offer.

If a subscriber has already redeemed this offer in a previous cancel flow session, the step is skipped and the flow moves to the next step or the default offer.

Cooldown Periods

Add a time-based restriction so that a subscriber who redeemed a discount cannot receive another one for a set period (e.g., 6 months). Configure this in the offer step's settings.

Monitoring for Abuse

Watch for these patterns in your saves dashboard:

  • Subscribers who trigger cancel flows repeatedly at regular intervals
  • High redemption rates on deep discounts (may indicate the discount is too easy to get)
  • Subscribers who accept a discount but cancel immediately after it expires

If you see these patterns, consider tightening per-customer limits or reducing the discount depth.

Creating a Discount Offer

  1. In the flow builder, add an Offer step
  2. Select Discount as the offer type
  3. Configure the settings:
    • Discount type — Percentage off, fixed amount, or free months
    • Amount — The discount value (discount_pct or discount_cents)
    • Duration — How long the discount applies (duration_days)
    • Max redemptions — Total usage cap (optional)
    • Headline — The message shown (e.g., "Stay for 25% off the next 3 months")
    • Description — Explain the offer details
    • CTA text — The accept button label (e.g., "Apply Discount")
  4. Set the Trigger Reason to connect this offer to a survey response (e.g., "Too expensive")
  5. Save the step

Choosing the Right Discount

The right discount balances retention effectiveness against revenue impact:

ScenarioSuggested Discount
Price-sensitive, low-tier plan15-20% off for 2 months
Price-sensitive, high-tier plan10-15% off for 3 months (smaller % but bigger absolute savings)
Switching to competitor25-30% off for 3 months (aggressive to keep them)
General / unclear reason1 month free (simple, high-impact)

Start conservatively and adjust based on acceptance rates. If your acceptance rate is very high (above 70%), the discount may be too generous. If it is very low (below 20%), it may not be compelling enough.

Next Steps

On this page