Apple App Store provides a simple way to monetize your app with in-app purchases (IAPs). The rule is simple, if you are providing digital goods or services you must use in-app purchases. Apple handles the payments and pays out the sales amount minus the commission also known as Apple tax. Apple commission is 30% but it is reduced to 15% for subscribers that have been with your app for more than a year.
In-app purchases allow you to monetize your app in 175 countries without thinking about the payment infrastructure in any of these countries. It would be impossible to distribute apps in more than one country for most developers if they had to handle the payments themselves. But the convenience and the scale of Apple’s distribution platform come with a price of Apple commission.
What you can offer with in-app purchases?
Any digital goods and services can be monetized with in-app purchases. Here are just some of the app categories you can find in the App Store monetizing with IAPs: streaming services, health & fitness, education, photo & video, productivity, social networking, sports, games, and many others. You can check the full list here.
Can I use third-party acquiring like Stripe to monetize digital goods in my app?
The answer is absolutely not. That goes against Apple’s policy that requires using IAPs for digital goods monetization. If you do, Apple will remove your app from the App Store. That is what happened with Fortnite recently.
You can use a third-party acquiring solution outside of your app, for example, on your web landing. But you can not promote this payment method inside your app or direct users to it from your app.
In-app purchases types
Apple provides a range of in-app products that are suitable for different cases. There are four main in-app types:
- Auto-renewable Subscriptions
- Non-renewing Subscriptions
1. Consumable in-app purchases
These IAPs can be used just once, they are depleted, and can be purchased again. Consumable IAPs are most frequently found in mobile games. They are usually linked to coins or gems that users purchase to spend on some virtual ammunition or other enhancements in a game.
2. Non-consumable in-app purchases
Non-consumable purchases are not depleted as the name implies. You can unlock some premium features in your app, like a set of photo filters, fonts, digital lessons with non-consumable purchases.
3. Auto-renewable subscriptions
Apple provides the infrastructure to turn your app into a subscription-based business with auto-renewable subscriptions. Initially, this type of in-app product was introduced for digital magazines, but at the moment it has been widely adopted across all verticals. Subscriptions are mostly used by non-gaming apps, but games are increasingly turning to subscriptions as well. You can check our article on the top-grossing subscription apps on the App Store.
Apple recommends that if you monetize with a subscription you should be updating your app with new features and content to justify the recurring payments.
Available subscription durations are:
- 1 week
- 1 month
- 2 months
- 3 months
- 6 months
- 1 year
Each specific subscription must be assigned to a subscription group. A subscription group can contain subscriptions of different duration, price, and access level, so your users can choose the best option for their needs. A user can subscribe only to one subscription in a group. Most apps should stick to one subscription group to avoid accidentally selling several subscriptions to one user. If you do need to have multiple subscriptions, for example, for different streaming channels, you can create separate subscription groups.
If you have more than one subscription in a group, each subscription can be assigned to a level. This level will be used if a user wants to downgrade or upgrade their access. You should rank subscriptions in descending order, with level 1 assigned to the broadest access level.
Users can manage subscription options like auto-renewal and upgrade in their App Store account settings.
You can choose from 200 price points for each territory where you plan to distribute your app. Apple will automatically subtract the applicable value-added tax (VAT) from the sales price.
You can provide your users with an introductory offer so they can test your app at a discounted price or for free before subscribing. Free trials can have a duration of 3 days, 1 or 2 weeks, and 1, 2, 3, or 6 months, or even a year. Users are eligible to redeem only 1 introductory offer per subscription group. Users can turn off auto-renewal options in their account settings during the trial, otherwise, the trial will convert into a subscription and the user will be automatically charged with the regular subscription price.
You can provide promotional offers to your lapsed subscribers. For example, you can offer a monthly subscription at 5$ a month for 6 months, and then the price increases to your regular value of $10 per month.
Concluding our auto-renewable subscription overview, here is a good video overview of the subscriber journey from Apple’s conference WWDC 2020.
4. Non-renewing subscriptions
You can provide a limited-time premium access like a season pass with a non-renewing subscription. This product does not renew automatically. Users can renew the subscription on their own.
Implementing and testing the in-app purchases
Let’s review some of the things you need to keep in mind when implementing in-app purchases.
Apple provides StoreKit to implement in-app subscriptions. But the process is quite laborious and drives a lot of complexities for an app. Specifically, you need to validate user receipts using your backend. That’s why you might want to consider a 3rd party service, like Qonversion, to implement subscriptions.
At the time of the first transaction, a user receipt is created. App Store receipt contains the data on purchase. It’s an encrypted file with an Apple certificate. You can read the details on the receipt structure here. Using a receipt you can validate the status of the purchase at any time directly with Apple. Check out our receipt validation tool here.
The App Store can notify your server once the in-app subscription changes its status. Some of the examples of server notifications are subscription auto-renewal state changes, trial converted, subscription went into billing retry state.
Testing in-app purchases is a significant part of the in-app implementation. It got notably easier to test in-app purchases on iOS 14. Apple has introduced the following features in Xcode 12 and iOS 14:
- StoreKit Configuration File – to set up the in-app products for testing in Xcode without creating them in App Store Connect.
- StoreKit Transaction Manager – to see in-app purchases locally and manage their statuses in Xcode;
- StoreKitTest Framework – a framework for running tests in Xcode.
- Sandbox subscription management on the device.
Use TestFlight before sending your app for review with Apple
Testflight allows distributing your app to a set of test users. They can test all aspects of an app including sandbox in-app purchases. It will allow you to catch and fix any unexpected behavior or bugs, pass Apple review easily, and delight your users.
Publishing an app with the App Store
Before publishing, you should also make yourself accustomed to Apple’s review guidelines. You can find the details here. Your in-app purchases are reviewed separately from your app. Think carefully about how you offer an in-app subscription or purchase to a user. If you provide detailed onboarding in your app that explains the value and the main use case of your app, you can offer an in-app subscription ideally with a promo offer right after your onboarding. You can check out a collection of over seventy onboarding flows from the most popular subscription apps here.
Apple built an amazing platform to distribute and monetize mobile apps. There are a lot of things to consider when monetizing with in-app purchases though: backend infrastructure for receipt validation, testing in-app purchases, pricing of your in-app products, App Store review process, and many others. We at Qonversion are building the tools to make many aspects of working with in-app purchases easier, so you might want to give us a try.
If you find this post to be useful or you have any questions, I’d love to hear from you! Head to our discussion boards and post your question there, or shoot us an email. For more mobile app related content, follow us on Twitter!
- Architecting Subscription Entitlement Engine
- What is Cohort Analysis and How to Use It For Subscription Apps
- The Ultimate Guide to In-App Purchases in the App Store
- Handling StoreKit Errors
- Subscription-based apps: most popular apps and app categories in 2020
- Sending your in-app subscription revenue data to AppsFlyer
- Handling Apple Grace Period and Billing Retry state
- IDFA remains in iOS 14 at least this year
- Apple fiscal calendar 2021 year and payout dates (pdf inside)
- Handling refunds, Server-to-Server notifications, SKAdNetwork in iOS 14
- In-App Purchases – App Store Receipt Validation