Shortly before iOS7 was released, Apple made a small – but interesting change to the rules surrounding in-app purchases: IAPs can now have the price tier Free.
I haven’t seen this change discussed anywhere, so I thought I’d outline some of the impacts.
Simpler code: Previously, to support free downloads, you would have to host them on your own server, and then have two code paths - one for free items, and one for paid through the app store. Now you only need to host your content with Apple, and remove all that other download code1.
Metrics: Integrating a full-blown analytics system is the best way to understand how people are using an app, but having a free IAP is a simple way to test engagement. If you aren’t seeing a 1:1 ratio of downloads to a free IAP you might have a problem; your IAP might not be compelling, or maybe users can’t figure out how to buy it.
Reducing Friction: The huge pain with IAP is that each app has to build a little storefront for these purchases. Providing a free IAP is a great way to train your users how to download something. Hopefully that will help to convert them to paying users.
Increased reliability: The StoreKit
API is far from perfect (a few more error codes would be nice), but the downloading and installing aspect works extremely well. Downloads can be paused/continued and even run in the background. So, if your IAP downloads contain non-trivial amounts of data, using the App Store to host this content is a huge win.
Sales/Promotions: Dropping an app’s price to free always results in a huge spike of downloads, so it’s interesting that developers now have the option of making an IAP free. Of course, IAPs are outside of the app store ecosystem - so no one will know about your sale unless you tell them. Still, making an IAP free for a day is a great excuse to send out an email to your users or even a push notification2.
If you’ve seen any interesting uses of free IAPs in the wild, leave a note in the comments.
Permanent link to this post: http://xinsight.ca/blog/implications-of-free-iap/
Older: Saving objective-c method calls
Newer: Launch Images and Splash Screens