Auto-renewable Subscriptions

Offer a seamless experience for digital subscriptions in your apps. In-app purchase APIs provide a simple, powerful way to implement auto-renewable subscriptions in apps on all Apple platforms and in all App Store categories.

Overview

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.

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.

Getting Ready

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:

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.

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. The name of your subscription groups will not be visible to users.

App name
In-app purchase name
Access levels, prices,
durations in subscription group
Duration

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.

Consider letting subscribers manage their subscriptions within your app. Building subscription management into your app gives you an opportunity to create a branded, contextual experience. You can use this experience to help people upgrade, crossgrade, or downgrade a subscription, and you can provide a deep link into Settings in case they want to cancel the subscription.

Pricing Subscriptions for Each Territory

Auto-renewable subscriptions can offer up to 200 price points across all currencies. You can set the prices you think are suitable for subscribers in different markets, 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 Retaining Subscribers Using Receipt Information.

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.

For implementation details, see Offering a Subscription Across Multiple Apps.
To learn more about app bundles on the App Store, see Offering App Bundles.

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.

If a subscription expires — for example, due to cancellation or a billing issue — the days of paid service stop accumulating and a 60-day grace period begins. If a user resubscribes within 60 days, days of paid service will resume from the point where the user resubscribed. If a user resubscribes after the 60-day period has ended, their days of paid service will reset, and you will receive 70% of the subscription price until one year of paid service passes.

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.

Attracting Subscribers

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.

Present subscription benefits during onboarding. By highlighting the value of your subscription when users first launch your app, you can educate them on how the app works and help them understand what they will gain from subscribing. Keep onboarding brief, engaging, and focused on the features your audience cares about. Include a succinct call to action and clear subscription terms.

To find out what you’ll need to include, see Clearly Describing Subscriptions.

Offer a freemium app experience. A freemium app allows customers to use the app at no cost, with the option to subscribe if they want to enhance their experience or engage more deeply. A free experience lowers the barrier to try an app, and users may be more inclined to invest in paid features after having had time to enjoy the app.

Include contextually relevant prompts to encourage users to subscribe — for example, when they near their monthly limit of free articles or videos. Additionally, consider making it easy for users to subscribe at any time by including a prompt throughout the app interface. Test and measure the impact of these prompts, and consider trying different versions of your call-to-action messaging to understand what resonates most with your audience.

Offer a metered paywall. A metered paywall allows users to access a finite amount of content for a specified duration before needing to make a purchase — for example, viewing 10 full articles per month for free in a news app. This gives users the opportunity to immediately start sampling your subscription experience, while encouraging engaged users to subscribe.

Offering Introductory Prices

You can offer a discounted price or a free trial to new subscribers of an auto-renewable subscription so they can experience the value of your subscription before paying full price. Users are eligible for one introductory price within a subscription group. You can provide one of the following offers per subscription, per territory.

Free trial. New subscribers access your subscription for free for a specific duration — for example, a 30-day trial 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 free trial is over. This offer may be useful if you want to give users the ability to try your app’s full subscriber experience at no immediate cost to them.

Pay as you go. New subscribers pay an introductory 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 offer 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. New subscribers pay a one-time introductory price for a specific duration — for example, $9.99 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 introductory experience that gives users time to enjoy the subscription before the next renewal.

To learn how to set an introductory price, see App Store Connect Help Guide.
For StoreKit API implementation details, see Offering Introductory Pricing in Your App.

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.

Learn about promoting your in-app purchases

Promoted in-app purchases have unique metadata to communicate their value.

Clearly Describing Subscriptions

An effective subscription purchase flow makes it simple for users to act on their interest. Use consistent messaging and include clear terms so users can easily recognize the value of the offer. Keep the purchase flow simple and ask only for necessary information. A lengthy sign up process will lower your subscription conversion rate.

To make the terms of your subscription explicit to new customers, you’ll need to clearly explain how auto-renewal works in both the app description on your App Store product page and in the purchase flow within your app. Users should not have to perform any additional action to review the information.

Include the following in the app description and in your app’s signup screen:

  • Subscription name, duration, and the content or services provided during each subscription period
  • The following information about how users are charged and can manage the subscription:
    • Payments are charged to the user’s Apple ID account at confirmation of purchase.
    • Subscriptions automatically renew unless the user cancels at least 24 hours before the end of the current period.
    • The account is charged for renewal within 24-hours before the end of the current period.
    • Users can manage and cancel subscriptions in their account settings on the App Store.
  • A link to your app’s Terms of Use

For example, to describe how users are charged and can manage their subscription, you might use copy similar to this:

Payment will be charged to your Apple ID account at the confirmation of purchase. Subscription automatically renews unless it is canceled at least 24 hours before the end of the current period. Your account will be charged for renewal within 24 hours prior to the end of the current period. You can manage and cancel your subscriptions by going to your account settings on the App Store after purchase.

Include additional information in your app’s signup screen.

  • The billing amount, correctly localized for the territories and currencies where the subscription is available for purchase
  • A way for current subscribers to sign in or restore purchases
  • A link to your privacy policy

Billing Amount
In the purchase flow, the amount that will be billed must be the most prominent pricing element in the layout. For example, an annual subscription should clearly display the total amount that will be billed upon purchase. While you may also present a breakdown price that the annual amount is equivalent to or a savings when compared to weekly or monthly subscriptions, these additional elements should be displayed in a subordinate position and size to the annual price. This ensures that users are not misled.

Free Trials
In the purchase flow for a free trial, clearly indicate how long the free trial lasts, the price billed once the free trial is over, and the renewal terms. Make sure users know that once the free trial is over a payment will be automatically initiated for the next subscription duration, and that they can cancel at any time.

Keeping Subscribers

For users to keep subscribing 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.

Sending Notifications

When written thoughtfully, notifications can help users want to keep their subscriptions. To create a positive experience that subscribers engage with, make sure your notifications serve a clear purpose and deliver meaningful information. For example, when you update your app, consider letting subscribers know about new content that they may be interested in. Or, you might send encouraging notifications that remind subscribers to perform a task in your app that they have committed to doing. Notifications should not be used as a reason to launch the app or for advertising, promotional, or direct marketing purposes.

For design guidance, watch the WWDC video Designing Notifications.
For details on implementing notifications, see UserNotificationsUI.

Using Receipts

Receipts for auto-renewable subscriptions include real-time information about a user’s subscription status. Use receipt validation to make sure you’re giving users the right subscription access. It’s also recommended to implement server notifications and enhanced receipts. You can determine whether a subscription is active, determine the subscription states for past dates, react to new, renewed, and lapsed subscriptions, and properly handle expired subscriptions. These details help identify the causes of subscription churn so you can take steps to retain users with relevant messaging.

For example, when a user cancels their subscription, you might consider tailored messaging in the app or by email that communicates the subscription’s value, describes upcoming content or feature updates, and offers a discounted price to encourage users to resubscribe before the end of the current subscription period.

When billing issues arise — for example, an expired credit card — you’ll know exactly when to reinstate service once the issue is resolved. You might also message users to explain that there is a billing issue and provide a deep link to Settings so they can correct it.

When subscribers are notified about an upcoming price increase, you can keep track of a user’s consent status before the change takes effect. If they haven’t agreed to the increase, you might consider promoting a different service level or content offering before the subscription expires.

For implementation details, see:
Receipt Validation Programming Guide
Enable Server Notifications for Auto-Renewable Subscriptions
In-App Purchase Programming Guide: Working with Subscriptions

Managing Prices

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. If they do not agree or take no action, their subscription expires at the end of their current billing cycle.

Subscribers on an introductory offer, such as a free trial, agree to have their subscription renewed at the regular price and are not required to take additional steps to continue their subscription. If users upgrade, downgrade, or crossgrade within a subscription group, they will pay the current price of the new subscription.

You can gain a quick understanding of how your subscriptions are performing by territory, duration, and subscription type with Sales and Trends in App Store Connect.

Subscription Summary Page. Learn which subscription events — such as renewals, conversions, and cancellations — have been the most frequent over the last 30 days. For example, if you offer multiple introductory offer types, such as a free trial and a pay upfront offer, you can assess the effectiveness of each by seeing which has the higher conversion rate. And you can assess how many subscribers are generating higher net revenue proceeds following a year of paid service.

Subscription Retention Page. Compare retention rates of cohorts across different territories and durations to see which cohorts retain the highest percentage of users. For example, looking at the data for all subscriptions that started in a certain month, you can see how many are still active after one renewal period, six renewal periods, and so on.

Subscription Report. See your overall subscription business — such as active subscriptions, subscriptions with introductory prices, and billing retries — as of a certain date. This data can help you measure your performance across your apps and subscription offerings. For example, you can easily see how many active subscriptions you have across different subscription options. Additionally, you can see how your subscription base has grown over a certain period by downloading and aggregating reports over time.

Subscription Event Report. View aggregated data about subscription activity, including upgrades, renewals, and introductory price conversions. For example, you can use this data to understand the percentage of subscriptions that upgrade to a higher service level by territory or device type. You can also see the number of cancellations as well as certain reasons for cancellation.

Subscriber Report. Get transaction-level data about individual subscriber activity using anonymously generated, unique Subscriber IDs. The Subscriber ID is used to indicate a customer’s transactions with you, and stays the same across their subscriptions in any of your apps. With subscriber report data, you can understand how certain subscribers are interacting with your subscription business — for example, you can see the subscription lifecycle of individual subscribers over time and understand their behavior.

For more information, see:
Gain Insights with Analytics: Sales and Trends
About Subscriptions Data
About Subscription Reports
Subscription Reports