Offering Introductory Pricing in Your App

Offer introductory pricing to eligible users for auto-renewable subscriptions.


Apps with auto-renewable subscriptions can offer a discounted introductory price (including a free trial) to eligible users:

  • You set up introductory pricing in App Store Connect, as described in App Store Connect Developer Help.

  • Determine if the user is eligible to receive an introductory price.

  • When the app queries the App Store for a list of available products, display the introductory pricing if the user is eligible to receive them.

You can make introductory pricing available to customers who haven't previously received an introductory price for the given product, or for any products in the same subscription group.

Determine User Eligibility

To determine if a user is eligible for an introductory price, check the receipt:

1. Validate the receipt as described in Validating Receipts With the App Store.

2. In the receipt, check the values of the Subscription Trial Period and the Subscription Introductory Price Period for all in-app purchase transactions. If either of these fields are true for a given subscription, the user is not eligible for an introductory price on that subscription product or any other products within the same subscription group.

You typically check the user's eligibility from your server. It's best to determine eligibility early—for example, on the first launch of the app, if possible.

Figure 1

User Eligibility for Introductory Pricing

Diagram showing that introductory pricing is available to new subscribers, and to lapsed subscribers who are receiving an introductory price offer for the first time.

Based on the receipt, you will find that new and returning customers are eligible for introductory price or free trial discounts as follows:

  • New subscribers are always eligible.

  • Lapsed subscribers who renew are eligible if they haven't previously received an introductory price for the given product (or any product within the same subscription group).

Display the Introductory Price

Once you determine the user is eligible for an introductory price, query the App Store for available products, and present the introductory price to the user:

1. Retrieve localized information from the App Store about a specified list of subscription products using the SKProductsRequest class. Products that have an available discount defined in App Store Connect always include an introductoryPrice object.

2. Use the properties in the introductoryPrice object to display the discounted price for the subscription. Based on the type of the introductory price (represented by SKProductDiscount.PaymentMode), display UI that describes the offer accordingly.

The three types of introductory prices are:

When the introductory period is over, the subscription renews at the regular price.

Figure 2

Introductory Price Types

Diagram shows subscription timelines for the three introductory price types:  pay as you go, pay up front, and free trial.

For design guidance, see Human Interface Guidelines > In-App Purchase.

Test Introductory Prices

Verify that the subscription and introductory prices a user sees in your app match the prices the same user sees in the App Store:

1. Configure test accounts, as described in Create a sandbox tester account. Create a variety of accounts that are eligible or ineligible for discounts.

2. Initiate in-app purchases from within the app for each test user.

3. Verify that the user experience and pricing information dynamically represent the accurate price of your subscription.

See Also

Offering Introductory Pricing

class SKProductDiscount

A class that contains the details of a discount for a subscription product.