Subscription upsells give customers the option to upgrade to a longer-term plan at Checkout. Upselling customers to longer subscription intervals (e.g., from monthly to yearly) can increase your average order value and cash flow.
All recurring prices that aren’t metered are eligible to use subscription upsells. For any eligible price, you can set up a subscription upsell to another price that meets the following criteria:
- Product Prices must reference the same product.
- Currency Prices must have the same currency.
- Type Prices must be
- Tax Behavior If your prices use tax behavior, their values must be identical.
- Tiers If your price uses tiers, the value for
up_toin each tier must be identical.
- Quantity Transformation If using quantity transformation, the values for
roundmust be identical.
Create a subscription upsell
You can configure a subscription upsell in the Dashboard on the Price detail page. You can view the details for a Price by clicking on one you’ve added to a Product. You’ll see a list of eligible upsell prices in the dropdown menu. After you select an upsell, it immediately applies to eligible Checkout Sessions that use that price.
For a Checkout Session to be eligible for upsells, it must:
- Be a subscription mode Checkout Session
- Have only one
type=recurringprice in the Checkout Session
- Have a valid configuration for the upsell price
In Checkout, buyers see an option to select the upsell with savings displayed (if applicable). Stripe calculates savings based on the amount the user would save in one billing cycle if they chose upsell pricing. For example, a monthly subscription of 100 USD that upsells to an annual subscription of 1000 USD shows savings of 200 USD. Savings are displayed as an amount or a percentage, depending on the character length of the savings.
Users can toggle between the initial price option and the upsell price option and then checkout.
Retrieve Checkout Session line items
After a customer selects an upsell, the
line_items for the Checkout Session update to reflect the upsell price. When fulfilling your order using the
checkout.session.completed webhook, make sure to retrieve the line items.
If a customer selects an upsell for a Checkout Session with a trial available, the trial length won’t change.
Remove a subscription upsell
To remove a subscription upsell, click the x below. After you remove a subscription upsell, that upsell won’t be available to any new Checkout Sessions.