Auto-renewable subscriptions

Auto-renewable subscriptions give people access to virtual content, services, and premium features in your app on an ongoing basis. An auto-renewable subscription continues to automatically renew at the end of each subscription period until people choose to cancel it. For App Store guidance on supporting subscriptions in your app, see Auto-renewable subscriptions.

Screenshot of an app named Ocean Journal running on iPhone, and displaying an arctic ocean scene. In the top half of the screen, is the fourth of five page views, which describes one of the benefits of subscribing. Below the page view area is text that reads Start with a 30 day free trial. Below the text is a button with the title Subscribe for $4.99 per month, a Sign In button, and links to the terms of service and privacy policy.

Screenshot of the Ocean Journal app running on Apple Watch, and displaying a modal view that describes how to unlock access to the app’s content and a Subscribe Now button. Below this description and button are four more buttons, which are Restore Purchases, Sign In, Privacy Policy, and Terms and Conditions.

Highlight subscription benefits during onboarding. By showing 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’ll gain by subscribing. Include a strong call to action and a clear summary of subscription terms (see Making signup effortless). For related guidance, see Onboarding.

Offer a range of content choices, service levels, and durations. People appreciate the flexibility to choose the subscription that best meets their needs.

Consider letting people try your content for free before signing up. Limited free access gives people the opportunity to sample your content and encourages engaged users to sign up. For example, you might offer a freemium app, a metered paywall, or a free trial.

Prompt people to subscribe at relevant times, like when they near their monthly limit of free content. Additionally, consider making it easy for people to subscribe at any time by including prompts at relevant points throughout your app.

Encourage a new subscription only when a user isn’t already a subscriber. Otherwise, people may believe their existing subscription has lapsed when that’s not actually the case. If you offer the same subscription options in multiple apps or through your website, provide a sign-in option so people don’t think they have to pay multiple times for the same service.

Making signup effortless

A simple and informative sign-up experience makes it easy for people to act on their interest in your content, whether they’re in your app or viewing your App Store product page.

Provide clear, distinguishable subscription options. Use short, self-explanatory names that differentiate subscription options from one another, and specify the price and duration for each option. If you offer an introductory price, list the introductory price, the duration of the offer, and the standard price the user pays after the offer ends.

Simplify initial signup by asking only for necessary information. A lengthy sign-up process may lower your subscription conversion rate. Defer asking for additional information until after people have signed up.

In your tvOS app, help people sign up or authenticate using another device. Instead of asking people to input information in your tvOS app, send a code to another device where they can enter the information you need.

Give people more information in your app’s sign-up screen. In addition to including links to your Terms of Service and Privacy Policy in your app and App Store metadata, the in-app sign-up screen needs to include:

  • The subscription name, duration, and the content or services provided during each subscription period
  • The billing amount, correctly localized for the territories and currencies where the subscription is available for purchase
  • A way for existing subscribers to sign in or restore purchases

For example, the Forest Explorer sign-up screen displays billing totals for monthly, biannual, and annual subscriptions in the most prominent positions. In subordinate positions, it shows breakdowns of the biannual and annual prices, so that people can compare the values and make an informed choice. The sign-up screen also contains a button that existing subscribers can use to restore their purchases.

Screenshot of an app named Forest Explorer running on iPhone. The first of three page views is displayed in the top half of the screen, showing part of a satellite map of a forested area and including a location indicator. Below the page view area are three buttons, each of which displays a different payment option, such as $23.99 for six months, and describes the savings for that option, if applicable. A button titled Restore Purchases appears at the bottom of the screen, followed by a button for Terms of Service and Privacy Policy.

Screenshot of the Forest Explorer app running on Apple Watch, and displaying a modal view that describes a benefit of subscribing. Below the description are the same three buttons option buttons and the Restore Purchases button as in the iPhone version of the app.

Clearly describe how a free trial works. It’s particularly important to make sure people know that when the free trial is over, a payment will be automatically initiated for the next subscription period. For example, the Ocean Journal sign-up screen explicitly states both the duration of the free trial and the amount that’s billed when it ends.

Screenshot of the Ocean Journal app running on iPhone. The first of three page views is displayed in the top half of the screen, showing a video camera icon and describing a benefit of the app. Below the page view area is text that reads Start with a thirty day free trial. Below the text is a button with the title Subscribe for $4.99 per month, followed by buttons for Terms of Service and Privacy Policy, a Sign In button, and a Restore Purchases button.

Screenshot of the Ocean Journal app running on Apple Watch, and displaying a modal view that describes a benefit of subscribing. Below the description are similar subscription, Sign In, and Restore Purchases buttons as in the iPhone version of the app.

Include a sign-up opportunity in your app’s settings. App and account settings are common places for people to look for a way to subscribe.

Supporting offer codes

Subscription offer codes let you use both online and offline channels to give new, existing, and lapsed subscribers free or discounted access to your subscription content. For example, you might provide offer codes through email, give them out at a store or event, or print one on a physical product.

There are two types of offer codes you can support:

  • A one-time use code is a unique code you generate in App Store Connect. People can redeem a one-time use code on a website, within your app (when you support redemption), or by entering it in the App Store, where they’re prompted to install your app if they haven’t already. Consider using one-time use codes when your distribution is small or when you need to restrict access to a code.
  • A custom code is a code you create, such as NEWYEAR or SPRING22SALE. People can redeem a custom code on a website or within your app (when you support redemption). Consider using a custom code when you want to support a large campaign that requires a mass distribution of codes.

For technical details and business guidance on using both types of offer codes, see Offer codes; to learn more about other types of offers, see Providing subscription offers.

Clearly explain offer details. To help people make an informed decision, provide a straightforward and succinct description of your offer in your marketing materials.

Follow guidelines for creating a custom code. A custom code can contain only alphanumeric ASCII characters. Don’t use special characters, including Chinese and Arabic characters.

Tell people how to redeem a custom code. Because people can’t redeem a custom code by entering it in their App Store account settings, it’s important to let them know that they can redeem it on your website or within your app.

Consider supporting offer redemption within your app. The system automatically provides screens that enable the offer-redemption flow, whether people redeem the offer in your app or in the App Store. When you use StoreKit API to let people redeem offer codes within your app, the only custom UI you need to create is one that initiates the system-provided flow (for developer guidance, see presentCodeRedemptionSheet). There are several natural places to provide this custom UI. For example, you could add a “Redeem Code” button to your paywall, onboarding screens, or your app’s settings screen.

Screenshot of the Ocean Journal app’s free trial screen on iPhone. Near the bottom of the screen, a button titled Redeem Code is displayed below the Sign In button.
Screenshot of the Ocean Journal app’s Settings sheet that lists the following three features. Today’s Tides. Air and Water Quality. Weather Forecast. All three features are turned on. Below these features is a list that contains information about the current subscription and three buttons. The information is titled Basic - Monthly and includes the amount $4.99 per month and the renewal date July 1 2021. The buttons are titled Manage Subscription, Restore Purchase, and Redeem Code. At the bottom of the sheet is a list of support items including Contact Us, FAQs, and Report a Bug, each of which can open a new page.

After people tap your custom redeem button, the system automatically provides a series of code-redemption screens like the ones shown below.

Screenshot of first system-provided code redemption screen for the Ocean Journal on iPhone. The top of the screen contains a large icon that shows purplish blue waves against a blue background. Below the icon is the label Redeem Code for Ocean Journal, and below the label is a text field containing placeholder text that says Enter Code. At the bottom of the screen is a tappable link labeled Terms and Conditions.

Screenshot of second system-provided code redemption screen for the Ocean Journal on iPhone. The top of the screen contains a large icon that shows purplish blue waves against a blue background. Below the icon is the label Redeem Code for Ocean Journal, and below the label is a text field in which a user has typed the letters X X M P C J Z. The keyboard is visible below the text field.

Screenshot of third system-provided code redemption screen for the Ocean Journal on iPhone. The top of the screen contains a photo of ocean waves among large rocks and a tree at sunset. A small version of the blue waves icon overlaps some of the lower-left corner of the photo. Below the photo is the label Unlock All Access to Ocean Journal in large dark text, and below the label in small gray text are the words Find your perfect shoreline with unlimited access. 1 month free, then $4.99 per month. At the bottom of the screen is a large blue button labeled Redeem Offer and below the button is a tappable link labeled Terms and Conditions.

Supply an engaging and informative promotional image. Creating this optional image can help people understand the value of your content. If you don’t supply a promotional image, the code redemption screens use your app icon by default. To learn more, see Promoting your in-app purchases.

Help people benefit from unlocked content as soon as they complete the redemption flow. Think about ways to align the post-redemption experience in your app with the subscriber’s new status. For example, you might provide a welcome experience for new subscribers or a brief tour of new features for an existing subscriber who’s unlocked additional functionality. In particular, be prepared to welcome people who subscribe before they open your app for the first time. For example, if you require people to create an account or sign in before they can use your app, make this process as smooth as possible for new subscribers who haven’t experienced it before.

Helping people manage their subscriptions

Supporting subscription management means people can upgrade, downgrade, or cancel a subscription without leaving your app. Offering subscription management within your app also gives you a natural place to provide help for common subscriber issues and present alternative offers for people to consider. For related guidance, see Providing help with in-app purchases.

Screenshot of a Settings sheet that lists the following three features. Today’s Tides. Air and Water Quality. Weather Forecast. All three features are turned on. Below these features is a list that contains information about the current subscription and three buttons. The information is titled Basic - Monthly and includes the amount $4.99 per month and the renewal date July 1 2021. The buttons are titled Manage Subscription, Restore Purchase, and Redeem Code. At the bottom of the sheet is a list of support items including Contact Us, FAQs, and Report a Bug, each of which can open a new page.

Provide summaries of the customer’s subscriptions. In particular, people appreciate viewing the upcoming renewal date without having to search for it. Consider displaying this information in a settings or account screen, near the subscription-management option. For developer guidance, see Product.SubscriptionInfo.

Consider using the system-provided subscription-management UI. Using StoreKit APIs lets you present a consistent experience that helps people manage or cancel their subscriptions without leaving your app. For developer guidance, see showManageSubscriptions(in:).

Screenshot of the system-provided subscription-management sheet. The Settings app icon and the title Edit Subscription appear in the top left and a close button is in the top right. Below the title, the sheet displays information about the subscription, including an icon that shows blue waves, the title Ocean Journal, and the description Digital Subscriptions, Basic - Monthly. Next is a list of two options, the first is Basic Monthly at $4.99 per month, with a renewal data July 1 2021 and the second is All Access Yearly at $49.99 per year. The first option is checked. Below the options is a Cancel Subscription button followed by the sentence ’If you cancel now, you can still access your subscription until July 1 2021.’ At the bottom of the sheet is a link titled About Subscriptions and Privacy.
Screenshot of the system-provided alert on top of the dimmed subscription-management sheet. The alert title is Confirm Cancellation. The alert description is ’If you confirm and cancel your subscription now, you can still access it until July 1 2021.’ From the left, the two alert buttons are titled Not Now and Confirm.

Consider ways to encourage a subscriber to keep their subscription or resubscribe later. When you use StoreKit APIs, your app is notified when a user chooses to cancel their subscription. In this scenario, you might want to extend a personalized offer as an alternative to cancellation or invite people to describe their reasons for canceling in an exit survey. In addition to giving you insights into various customer problems, survey feedback can also help inform messaging for retention and win-back strategies.

Screenshot of an app running on iPhone that offers lapsed subscribers six months at fifty percent off when they resubscribe.

Always make it easy for customers to cancel an auto-renewable subscription. If the manage subscription action is deep within an app — or hard to recognize — subscribers can feel they’re being discouraged or prevented from canceling.

Consider creating a branded, contextual experience to complement the system-provided management UI. Within your custom UI, you might offer a popular premium tier or provide personalized suggestions for alternative plans based on what you know about the customer’s preferences or how they use your app. For example, you can create a promotional offer that provides a discounted price for a specific period of time. You might also consider subscription offer codes to help you win back lapsed subscribers and encourage existing subscribers to upgrade.

Designing a sign-up screen for a watchOS app

The sign-up screen in your watchOS app needs to display the same set of information about your subscription options that you display in other versions of your app. For the complete list of required items, see Making signup effortless. The following guidelines can help you design a sign-up screen that feels at home on Apple Watch.

Clearly describe the differences between versions of your app that run on different devices. If your watchOS app supports different functionality or provides a subset of the content that’s available on other devices, be sure to clarify these differences in your description. Be straightforward about the advantages of accessing subscription content through your watchOS app without implying that the experience is identical to the ones in other versions of your app.

Screenshot of the Forest Explorer app running on Apple Watch, and displaying text that reads Unlock ninety thousand topo maps, advanced GPS features, and offline access for trail guidance anywhere.

A description that might lead people to expect access to 90,000 maps on their Apple Watch

Screenshot of the Forest Explorer app running on Apple Watch, and displaying text that reads Use advanced GPS features for trail guidance on Apple Watch. Unlock ninety thousand topo maps for use on iPhone and other devices.

A description that clarifies how the subscription works on Apple Watch in contrast with other devices

Consider using a modal sheet to display the required information. After people respond to your call to action to learn more about your subscription offers, you can use a modal sheet to present all required items in a single, focused view. Even though people must scroll the view to access all the information, displaying it in a modal sheet helps your app UI remain streamlined and concise. Also, a modal sheet’s default Close button makes it easy for people to return to your free content with one tap. If you create a custom sign-up view instead of using a modal sheet, design a focused experience that includes a Close or Cancel button that lets people return to your free content.

Make subscription options easy to compare on a small screen. People need to understand the terms of each subscription option before they can choose one. Aim to display the duration and discount information for each option in a compact way that’s easy to scan and compare. Here are two ways you might present subscription options in your watchOS app:

  • Display each option in a separate button. Using one button per payment option lets people start the signup process with one tap. In this design, it’s important to lock up each button with its description so that people can see how these elements are related, especially while scrolling.
  • Display a list of options, followed by a button people tap to start the signup process. Using a list to display one option per row gives you a compact design that minimizes scrolling while making subscription choices easy to scan and understand. In this design, the button’s title can update to reflect the chosen option.

Screenshot of the Forest Explorer app running on Apple Watch, and displaying a modal view that describes a benefit of subscribing. Below the description are three buttons, each of which displays a different payment option, such as $29.99 per year, and describes the savings for that option, such as twelve months at $2.49 per month; save fifty percent.

One payment option per button

Screenshot of the Forest Explorer app running on Apple Watch, and displaying a modal view that describes a benefit of subscribing. Below the description is a list, in which each row displays one payment option and a description, such as  $29.99; billed yearly; Save fifty percent. Below the list is a Subscribe button.

One payment option per list row, followed by a button that updates to display the chosen option

Supported platforms