Auto-renewable subscriptions give users access to content, services, or premium features in your app on an ongoing basis. At the end of each subscription duration, the subscription automatically renews until a user chooses to cancel it. Users can subscribe on iOS, iPadOS, macOS, watchOS, and tvOS.
Great subscription apps justify the recurring payment by providing ongoing value to users and continually innovating the app experience. If you’re considering implementing the subscription model, plan to regularly update your app with feature enhancements or expanded content.
Many types of apps can take advantage of subscriptions, including apps that offer new game levels, episodic content, software as a service, or cloud support. Other appropriate subscriptions include apps that offer consistent, substantive updates, or access to libraries or collections of content. You can offer subscription in-app purchases alongside other in-app purchase types.
To offer subscriptions (a type of in-app purchase) you’ll need to implement StoreKit APIs in your app, configure your subscriptions in App Store Connect and assign them to a subscription group (a group of subscriptions with different access levels, prices, and durations). After creating your subscriptions, include details such as a name, pricing, and description. Ensure that the subscriptions are available across all device types that your app supports. Consider including a way for subscribers to see the status of their subscription, along with upgrade, crossgrade, and downgrade options, and a deep link to easily manage or turn off their subscription from within your app. Make sure to follow our design and review guidelines. To get ready, do the following:
- Watch the In-App Purchase and Subscriptions Videos.
- Refer to the In-App Purchase StoreKit API documentation.
- Learn how to configure your subscriptions in App Store Connect Help.
Understanding Guidelines for Subscriptions
Before creating your subscriptions, make sure you know about the requirements and best practices that will help you deliver a great user experience. The guidelines below provide details on what your subscriptions need to include and how they should be presented in your app, as well as information on making changes to existing subscriptions, offering free trials, and more.
85% Net Revenue After One Year
The net revenue structure for auto-renewable subscriptions differs from other business models on the App Store. During a subscriber’s first year of service, you receive 70% of the subscription price at each billing cycle, minus applicable taxes. After a subscriber accumulates one year of paid service, your net revenue increases to 85% of the subscription price, minus applicable taxes.
Here’s how it works:
- Auto-renewable subscriptions on all Apple platforms are eligible.
- Includes paid introductory periods (pay as you go, pay up front).
- Excludes free trials and bonus periods.
- Upgrades, downgrades, or crossgrades between subscriptions in the same group do not affect the one year of paid service.
- A move to a subscription in a different group resets the days of service.
If a subscription is no longer active — for example, due to a cancellation or a billing issue — the days of paid service stop accumulating toward the one year of paid service needed for an 85% proceeds rate, unless the user renews within 60 days.
To configure your auto-renewable subscriptions, you’ll use App Store Connect. Each subscription product will need to be created as part of a subscription group and assigned a level. How you set up your subscription group or groups will determine how customers can subscribe to your content or services, how they move between subscriptions, when they are billed, and your proceeds rate. Before creating subscriptions, ensure that you understand the right subscription setup for your business model.
Creating a Subscription Group
Each subscription you offer must be assigned to a subscription group. A subscription group is made up of subscriptions with different access levels, prices, and durations so users can select the option that best fits their needs. Since users can only buy one subscription within a group at a time, creating a single group is the best practice for most apps as it prevents users from accidentally purchasing multiple subscriptions.
If your app needs to offer users the ability to buy multiple subscriptions — for example, to subscribe to more than one channel in a streaming app — you can add these subscriptions to different groups. Users who buy subscriptions in multiple groups will be billed separately for each subscription. Keep in mind that if a user moves from one subscription group to another, their renewal date will change and their days of paid service will reset. Multiple subscription groups are not recommended for apps in which users would expect to have a single active subscription.
Keep your offerings simple so users can easily understand their options. For each subscription, create a user-friendly, self-explanatory name that differentiates it from others in the group. Use distinct names for app, the subscription group, and each subscription to avoid confusion.
Ranking Subscriptions Within the Group
If you offer more than one subscription price tier within a group, each subscription can be assigned to a level. This ranking determines the upgrade, downgrade, and crossgrade path available to subscribers. Rank your subscriptions in descending order, starting with the one that offers access to the most content, features, or services, regardless of duration. You can add more than one subscription to each level if the offerings are equal.
Users can manage their subscriptions in their account settings on the App Store, where they see all renewal options and subscription groups, and can choose to upgrade, crossgrade, or downgrade between subscriptions as often as they like. When a user makes a change in their subscription level, the timing of the change varies depending on what has happened:
Upgrade. A user purchases a subscription that offers a higher level of service than their current subscription. They are immediately upgraded and receive a refund of the prorated amount of their original subscription. If you’d like users to immediately access more content or features, rank the subscription higher to make it an upgrade.
Downgrade. A user selects a subscription that offers a lower level of service than their current subscription. The subscription continues until the next renewal date, then is renewed at the lower level and price.
Crossgrade. A user switches to a new subscription of the equivalent level. If the subscriptions are the same duration, the new subscription begins immediately. If the durations are different, the new subscription goes into effect at the next renewal date.
Pricing Subscriptions for Each Territory
Apps with auto-renewable subscriptions can choose from 200 price points across all available currencies and price tiers. You can set the prices you think are appropriate for subscribers in different locations, and you have the flexibility to price your subscriptions at parity if they’re available elsewhere.
Pricing Tool. The App Store Connect pricing tool can help you manage pricing based on current exchange rates. If there is a tax change or currency adjustment in a particular region, the price of subscriptions will generally not be affected unless you decide to pass the change on to your users. If you want to change the price of a subscription in a specific market, it’s important to understand which markets are tax inclusive before you take action. For example, if you decide to lower the subscription price for users in Germany, the revenue you’ll receive will be the purchase price minus the European Union’s value added tax (VAT) and minus Apple’s commission. The default pricing in the App Store Connect pricing tool is inclusive of applicable taxes that Apple collects and remits. For more information, review Schedule 2 of the Apple Developer Program License Agreement, which describes territories that have different tax treatments.
Offering Subscriptions to Multiple Apps
You can offer auto-renewable subscriptions to access multiple apps. Each app must be approved to use auto-renewable in-app purchases and published under the same developer account.
Use App Store Connect to set up separate and equivalent auto-renewable subscriptions for each app included in the multi-app subscription so that users can subscribe from any app. To avoid users paying multiple times for the same offering, make sure to verify that they are active subscribers before showing any subscription options. For details on how to determine whether a subscription is currently active, see Using Receipts.
You can also create an app bundle to group multiple subscription apps into a single download at a reduced price. App bundles can include up to 10 of your iOS apps or up to 10 of your macOS apps.
By allowing users to try your subscription at the moment they’re most interested in its value, you increase the likelihood that they will subscribe. There are several ways you can provide a preview of the subscription experience.
Clearly Describing Subscriptions
An effective subscription purchase flow makes it simple for users to get the product or service they’re interested in. Use consistent messaging and include clear terms so users can easily recognize the value of the offer. A lengthy sign-up process will lower your subscription conversion rate, so keep the purchase flow simple and only ask for necessary information. In addition, the following details must be included in your subscription’s sign-up screen:
- Subscription name and duration, and the content or services provided during the subscription period
- Full renewal price, shown clearly and prominently, and localized in available currencies
- A way for current subscribers to sign in or restore purchases
Promoting Subscriptions on the App Store
You can promote your subscriptions directly on your App Store product page so users can easily find them and start a purchase or introductory offer even before downloading your app. Choose to promote up to 20 in-app purchases at a time to help you effectively increase discoverability for content within your app. This can be particularly effective for letting new customers know about introductory offers.
Providing Subscription Offers
You can create subscription offers to grow and retain your customer base by giving them a free or discounted price for a specific duration for an auto-renewable subscription. At the end of the offer period, the subscription auto-renews at the standard price unless a subscriber cancels it or turns off auto-renewal. You can provide the following pricing options for subscription offers:
Free. A subscriber can access your subscription for free for a specific duration — for example, a one-month free offer for a subscription with a standard renewal price of $4.99 per month. Their subscription begins immediately, but they won’t be billed until the offer duration ends. This offer may be useful if you want to let users experience your subscription at no immediate cost to them.
Pay as you go. A subscriber pays a discounted price each billing period for a specific duration — for example, $1.99 per month for three months for a subscription with a standard renewal price of $9.99 per month. Once the duration is over, they’ll be billed at the standard renewal price. This option may be useful if you want to attract price-sensitive users with a recurring discount without having to offer that discount for the lifetime of the subscription.
Pay up front. A subscriber pays a one-time price for a specific duration — for example, $9.99 up front for the first six months of a subscription with a standard renewal price of $39.99 per year. Once the duration is over, they’ll be billed at the standard renewal price. This offer may be useful if you want to offer an extended experience that gives users time to enjoy the subscription before the next renewal.
There are three types of subscription offers you can give to customers: introductory, promotional, and offer codes (coming soon). You can provide all three offer types at once, depending on your business goals. To determine which type might be best for a particular use case, consider each offer’s intended use, customer eligibility, redemption limits, and other criteria. All offers are set up in App Store Connect, where you’ll choose the offer type, duration, pricing, and more. For details about offer types and available durations, see Pricing and Availability.
Comparing Subscription Offers
|Introductory Offers||Promotional Offers||Offer Codes|
|Primary Use||Acquiring new subscribers||Retaining and winning back subscribers||Acquiring, retaining, and winning back subscribers|
|Customer Eligibility||New subscribers within the app||Existing or previous subscribers within the app. Customers who have not subscribed within the app cannot complete this type of offer.||New, existing, or previous subscribers|
|Distribution and Redemption||Distributed and redeemed within the app or on the App Store via promoted in-app purchase||Distributed and redeemed within the app||Distributed through any digital or offline methods. Redeemed in the App Store or within the app.|
|Redemption Limits||A customer can redeem one introductory offer per subscription group||You determine how many offers a customer can redeem||A customer can redeem one code per active offer|
|Offer Limits||One offer per subscription, per territory||10 active offers per subscription||10 active offers per subscription. You can create a maximum of 150,000 codes per app per quarter.|
|Offer Configuration||You select timing, territories, pricing and duration in App Store Connect||You decide business logic, select price and duration in App Store Connect, and use StoreKit APIs to present offers to eligible users||You select customer eligibility rules, timing, territories, pricing, duration and number of codes in App Store Connect|
|Compatibility||iOS 10, iPadOS 10, macOS 10.12.6, tvOS 10 and later||iOS 12.2, iPadOS 12.2, macOS 10.14.4, tvOS 12.2 and later||iOS 14 and iPadOS 14 and later|
Allow new subscribers to experience the value of your subscription before paying full price. You can display these offers within your app’s subscription sign-up screen using StoreKit APIs. Users are eligible for one introductory price within a subscription group, which you configure in App Store Connect.
Offer Codes Coming Soon
Offer codes can help you acquire, retain, and win back subscribers, as well as give existing subscribers opportunities to upgrade or crossgrade to a new subscription within the same subscription group. You can distribute these unique, one-time codes however you choose using online and offline channels. For example, you might provide offer codes through email, give them out at events, or provide them alongside a physical product.
When configuring offer codes in App Store Connect, you’ll determine customer eligibility. If new subscribers are eligible, you’ll also decide whether or not they can redeem an offer code in addition to an introductory offer. Offer codes expire after a maximum of six months from the date they are created, so be mindful of how many you generate at a given time. Customers can redeem only one code per offer, but may be eligible to redeem multiple offers for a single subscription, depending on your configuration choices. Be sure to consider the implications of creating multiple offers for a single subscription.
You can download codes and their associated URLs in batches and distribute them however you choose. Consider which channels might be most effective at reaching your intended customers and note eligibility or availability limits in your communications. When providing offer codes to existing customers, make sure the offer is for a subscription within the same subscription group as their existing subscription.
Once a user redeems an offer, provide a relevant experience based on their subscription state. For example, for a first-time subscriber, you might highlight the benefits of your subscription and provide onboarding. If your app includes account creation or requires agreement to additional terms, make this process as smooth as possible for customers who redeemed a code and are new to your app.
To get ready for offer codes:
- Set up your server to validate receipts and receive status update notifications.
- If you’d like to allow for code redemption within your app, implement the presentCodeRedemptionSheet StoreKit API available in Xcode 11.6 or later.
Give existing or previous subscribers a free or discounted subscription for a specific duration. These offers provide the flexibility to create unique promotions to grow and retain your customer base. They can also help win back customers who canceled their subscriptions or promote an upgrade to another subscription at a special price.
You decide the business logic for each offer and choose when to display the offer in your app using StoreKit APIs. You can have up to 10 active offers for each subscription, so you can determine which offers are most compelling and useful to customers. Make sure to consider the implications of having multiple offers in effect.
Using receipt validation, you’ll be able to identify the auto-renewal status of your subscribers and understand which offers might be most effective. If a subscriber has turned off auto-renewal, you might display a promotional offer for one month free in order to win them back before the end of their current subscription period. If you’ve noticed a monthly subscriber has renewed multiple times, you might provide an offer to upgrade to an annual subscription at a discounted price. You can also think about other winback or upgrade opportunities based on various user journeys. For example, consider an offer that would be most valuable for users who cancel during a free trial versus users who cancel after spending time on an paid subscription.
To get started:
- Set up your server to validate receipts and receive status update notifications.
- Generate access keys in the Users and Access section of App Store Connect.
- Create a promotional offer on your app’s in-app purchase page for each product in App Store Connect.
- Determine your business logic and implement StoreKit APIs available in Xcode 10.2 or later.
For users to stay subscribed to your app, they need to continue getting value out of the subscription. Update your app regularly with new content and feature enhancements to help encourage subscribers to maintain their subscriptions.
When written thoughtfully, notifications can help users stay engaged with your service and keep their subscriptions active. To ensure a positive user experience, make sure your notifications are timely, serve a clear purpose, and deliver meaningful information. You can also use push notifications to market your content — for example, promoting a subscription offer to users who have not yet subscribed. However, users must first explicitly opt in to receiving marketing push notifications via a method within your app that includes consent language and a clear way of opting out. Carefully consider the frequency, timing, and content of your notifications to ensure they always provide value to subscribers. Push notifications must not include sensitive personal or confidential information.
Allowing Users to Manage Their Subscriptions
A subscriber’s needs may change during a subscription period. Consider letting them view their subscription status through a link in your app to the Manage Subscriptions section of their App Store account.
For details on linking to Manage Subscriptions, see Handling Subscriptions.
Using Receipts to Retain Subscribers
Receipts for auto-renewable subscriptions include real-time information about a subscriber’s status. Use receipt validation with App Store server notifications to determine a subscriber’s current status (such as new, renewed, or lapsed). This information will help you identify and act on the following.
Voluntary Churn. If a user cancels their subscription, you can update their subscription status in your user database by either polling the receipt or using server notifications. You can then use this information to display discounted pricing or targeted messaging. For example, you might present a promotional offer to encourage a user to resubscribe. Consider providing a way within your app for subscribers to let you know why they canceled their subscription.
Use server notifications with receipt validation to learn about refunds. You can then take action in response — for example, if a user cancels and receives a refund before their subscription ends, you might lock access to your subscription content across their devices. Be sure to inform the user of any changes and let them know if there’s anything they need to do, as well as how they can resubscribe.
Involuntary Churn. When billing issues arise — for example, an expired credit card — enhanced receipt information helps you act accordingly and reinstate service once the issue is resolved. You can help resolve the issue by sending an email or a message within the app asking the subscriber to update their payment method with a link to the Payment Information area in their App Store account. Apple will attempt to collect payment for 60 days. If the subscription is renewed within 60 days, the days of paid service will resume from the renewal date.
To avoid interruption to days of paid service, you can enable Billing Grace Period in App Store Connect. Subscribers retain full access to your app’s paid content while Apple attempts to collect payment for either 6 or 16 days, depending on your subscription duration. If the subscription is renewed within this period, there won’t be any interruption to the days of paid service or to your revenue.
If a user resubscribes after 60 days, the days of paid service will reset and you will receive 70% of the subscription price until one year of paid service passes.
Price Increase Consent. When you increase the price of a subscription and Apple asks affected subscribers to agree to the new price, you can keep track of their consent status before the change takes effect. If they haven’t agreed to the increase, you might promote a different service level or content offering before the subscription expires.
You can keep an unlimited number of active subscribers at their existing price while increasing the price for new users. If you choose not to preserve the price for existing subscribers, they must agree to the increase, which may result in lost subscribers if they do not accept the change.
If you have several cohorts of subscribers at different prices and want to move all subscribers to the current price, increase the price for users paying closest to the current price first, then the next closest, and so on. This ensures that users are not prompted with multiple notices to accept increasingly higher prices. Before you make any pricing decisions, research your target market’s pricing expectations and weigh the potential impact of raising the price against retaining subscribers.
How Price Increases are Communicated. When you increase the price of a subscription, Apple informs affected subscribers via email and push notification and asks them to agree to the new price. On iOS 13.4 and iPadOS 13.4 and later, affected subscribers are also notified through a price consent sheet that automatically displays in your app. Although you can temporarily suppress the price consent sheet to avoid interrupting the user during a critical moment, we recommend keeping the default timing so the subscriber can immediately agree to the new price. If they do not agree, their subscription expires at the end of their current billing cycle. For information on delaying the price consent sheet, see StoreKit API documentation.
For details on subscription price changes, see Manage Pricing for Auto-renewable Subscriptions.
Measuring Performance with Sales and Trends
View and analyze subscription data to better understand how your subscriptions are performing. Filter data by Territory, App, Subscription Type, and more in Sales and Trends in App Store Connect.
Subscription Summary Page. Get an overview of your subscriptions — including data on overall subscription performance, daily number of active paid subscriptions, retention and conversion rates, cancellation reasons, and more. You can use data on this page to help inform your strategy. For example, if your introductory offers have a low conversion rate, you might consider revising your in-app messaging to better explain your subscription’s value or extending the duration of the offers to give customers more time to experience your subscription’s value before making the decision to purchase.
Subscription State Page. View your total active subscriptions based on their current state: standard price, introductory offers, promotional offers, and billing retry. Use this data to measure your subscriptions’ growth over time. For example, group data by Proceeds Rate to understand how many subscriptions earned a higher proceeds rate after one year. Filter or group data by different dimensions, such as Territory, Promotional Offer, Subscription, and more for additional insight.
Subscription Event Page. View your total subscription activations, conversions to standard price, reactivations, renewals, and more. Filter data for additional insights. For example, filtering by a specific promotional offer will show you how effective it’s been at reactivating lapsed subscriptions. You can use this information to update your promotional offer strategy. For definitions of each subscription event, see App Store Connect Help.
Subscription Retention Page. View data related to your subscription retention, as well as data on conversion rates for your introductory and promotional offers. The Retention Trends for Standard Paid Subscriptions section shows the percentage of subscriptions that were renewed for consecutive periods. You can filter this information by a specific subscription to understand which start months have the highest retention and investigate contributing factors — for example, launching new content in a particular month or a seasonal marketing campaign. This can help inform your engagement and retention efforts.
Subscription Reports. You can download daily reports containing all of this information plus additional details, such as anonymized start date and days before canceling.