If you want to run a seasonal sale, partner with an influencer, or win back churned subscribers, you need promo codes. But if you rely solely on the App Store or Google Play, you are fundamentally limited in what you can offer.

Both platforms restrict promo codes to free trials and introductory pricing. Neither supports percentage-off or fixed-amount discounts on your regular subscription price. If you want to offer 30% off to a win-back segment, the web is the only place you can do it.

Flexible Discounts for Web Billing is now available to all RevenueCat Web customers. You can create and manage percentage-based discounts and promo codes directly from your dashboard and apply them via URL, through the SDK, or via a code input field through the checkout UI.

Control your pricing on the web

With Flexible Discounts, you can create percentage-based discounts and manage specific discount codes (like “SUMMER30”) directly from your RevenueCat dashboard. When you create a discount, you control exactly how long it lasts.

You have three duration options:

  • One-time: The discount applies only to the user’s first invoice.
  • Forever: The discount applies to all future invoices indefinitely.
  • Time-window: The discount applies to all invoices generated within a specific calendar period (e.g., all invoices within the next 3 months).

The time-window duration is calendar-based, not cycle-based. If a user buys a weekly subscription with a 1-month discount, they get the discount on the initial purchase and the renewals within that month. If they buy an annual subscription with a 1-month discount, they only get the discount on the first payment.

How it works

Discounts can be applied in three ways:

  • URL parameter: Append the code to your Web Purchase Link (e.g., ?discount_code=SUMMER30). This is ideal for email campaigns, influencer links, and targeted landing pages where the discount is pre-applied.
  • SDK: Apply discounts programmatically via the RevenueCat SDK for in-app or server-side flows.
  • Checkout UI: End users can enter a promo code directly in the web checkout field.

You can also control exactly where the coupon field appears. Visibility is configurable per Web Purchase Link or Funnel checkout, so you only show it when it makes sense for that flow.

Discount codes can be scoped to specific products or applied globally across all products. Eligibility criteria can also be configured to control which users can redeem a given discount.

Discounts do not stack with introductory offers or trials. If a discount is applied, any configured intro offer is ignored.

Funnels support and discount code analytics are on the way. Head to your RevenueCat dashboard to set up your first discount code, or read the docs to get started.