Create a subscription

Using Google Play Billing, you can offer in-app products that charge users for content or services on a recurring basis, known as subscriptions. Subscriptions can include items like a collection of apps, games, or other content for a recurring fee within your app on Google Play.

You can offer multiple subscriptions within the same app. Subscriptions must be priced within accepted prices ranges. Subscriptions can't be unpublished.

Important: Google Play Developer Program Policies and transaction fees apply to in-app products, including both managed products and subscriptions.

Availability

If you're in a supported location for merchant registration, you can use Google Play Billing.

If you’re in a supported location and want to start using Google Play Billing features in your apps, set up a payments profile and review the Google Play Billing API documentation.

After you create a subscription, it’s available for users running the latest version of the Google Play Store.

Subscription & free trial time periods

  • Weekly: Weekly subscriptions can't be charged using direct carrier billing.
  • 1 month
  • 3 months
  • 6 months
  • Annual

Add a subscription to your app

Adding a subscription is similar to adding a managed product, except the price is set for a period of time.

Before creating a subscription, make sure to plan your product IDs carefully. Product IDs need to be unique for your app, and they can’t be changed or reused after they’ve been created.

  • Product IDs need to start with a lowercase letter or a number and must be composed of only lowercase letters (a-z), numbers (0-9), underscores (_), and periods (.)
  • Note: The product ID android.test is unavailable for use, along with all product IDs that start with android.test.

To add a subscription:

  1. Sign in to your Play Console.
  2. Click All applications All applications.
  3. Select an app.
  4. On the left menu, click Store presence > In-app products > Subscriptions.
  5. Click Create subscription.
  6. Enter your product details.
    • Title: A short name of the item (up to 55 characters, but we recommend limiting titles to 25 characters to display properly in all contexts), like "Sleeping potion."
    • Description: A long description of the item (up to 80 characters), like "Instantly puts creatures to sleep."
    • Price: Enter a price in your local currency.
  7. Next to “Status,” choose Active or Inactive.
    • To be available for purchase, a product needs to be active, and its app needs to be published.
    • If you’re using a test account, active items are available in unpublished apps. To learn more, go to our Android developers site.
  8. Click Save.

Subscription pricing options

Introductory prices

With introductory pricing, you can specify an initial price that applies to a set number of days, weeks, months, or billing periods. For example, you can offer a subscription for $1 per month for the first three months. Or, you can offer an introductory price of $1 for 10 days, followed by a regular monthly price.

At the end of the introductory period, users are charged the full subscription price.

Requirements

  • The minimum introductory period is 3 days, and the maximum introductory period is 12 months.
  • Introductory prices must be within the accepted price range and less than the subscription's full price.
  • If you're offering a free trial and introductory price, your users are charged the introductory price at the end of the trial.
  • A user can only receive an introductory price to a specific subscription product (SKU) one time.
  • If the introductory period is a different length of time than the subscription period, the introductory price must cost less per day than the original price. For example, if a subscription costs $15 per month (or $0.50 per day), a week-long introductory price must cost less than $3.50. For these calculations, a month is always considered to be 30 days. 

Add an introductory price

  1. Sign in to your Play Console.
  2. Click All applications All applications.
  3. Select an app.
  4. On the left menu, click Store presence > In-app products > Subscriptions.
  5. Next to "Introductory price," enter your introductory price (in the default currency) and the number of applicable days, weeks, months, or recurring billing periods.
    • If you select billing periods, the introductory price recurs for the number of billing periods you enter. If you select days, weeks, or months, the user is only charged the introductory price once during the specified time period. 
    • We use the price you enter as the base for calculating market-specific prices. To manually update local prices, select Edit Price.
    • For more information on how to manage market-specific prices for subscriptions, go to in-app product configuration options.
  6. Save your changes.
Free trials
By setting up a free trial, you can let your users try out a subscription before buying it. Free trials run for a period of time that you set, and then they automatically convert to a full subscription using the subscription’s time period and price. You can set up a free trial for any type of subscription.
Note: As of January 10, 2018, users can only receive one free trial across all available subscriptions in your app by default. If you wish to provide one free trial per subscription product, you can change the setting in Play Console.

Requirements

  • You can create one free trial per subscription product.
  • Each subscription SKU needs a trial period.
  • Free trials are always $0.
  • Trial periods must be 3 days or longer.
    • You can change a trial period at any time, but only new subscription purchases will use the updated trial period.
  • Users can only get a free trial if they haven’t previously purchased the subscription it applies to.

Add a free trial

  1. Sign in to your Play Console.
  2. Click All applications All applications.
  3. Select an app.
  4. On the left menu, click Store presence > In-app products > Subscriptions.
  5. Click Subscription settings.
  6. Check the checkbox next to “Subscription-level free trial.”

How users start a free trial

To start a free trial, a user completes the standard process for purchasing a subscription on Google Play. They aren’t charged at first because the initial period is included with the free trial, and they’re notified by email that the subscription includes a free trial period. Google Play records a transaction of $0.00, and the subscription is marked as purchased for the trial period or until its canceled.

The day after the trial period ends, a user’s payment method is charged for the full subscription amount, which recurs using the subscription’s set time period. The payment status may display as pending for up to 24 hours, even if no grace period is set.

Note: If a user cancels a subscription at any time during the trial period, the subscription remains active until the end of the trial, and they won’t be charged.

Manage changes to subscriptions

Price changes

User experience

After you change the price of an existing subscription, here’s how it affects new users and existing subscribers:

  • New users can immediately see the subscription’s new price and subscribe to it on Google Play.
  • Existing subscribers are notified of the price change by email and through a notification on Google Play 30 days before it takes effect for them. Notification dates are based on a subscription’s length and expiration date. To keep their subscription, subscribers must agree to the price change on Google Play.
    • Price changes aren’t immediate for existing subscribers. After you change a subscription’s price, you have at least 7 days to contact your subscribers about the price change before they can start being notified on Google Play. Subscribers can agree to price changes before being notified on Google Play.
    • Important: If subscribers don’t agree to the price change, their subscription will be canceled on the renewal date when the price change takes effect.

Change a subscription’s price

  1. Sign in to your Play Console.
  2. Select an app.
  3. On the left menu, click Store presence > In-app products > Subscriptions
  4. Select a subscription.
  5. Under “Pricing,” change the subscription’s price.
  6. Click Save.

Tips for managing price changes

  • After you change a subscription’s price, it can’t be reverted.
  • After you change a subscription’s price, it’s a good idea to contact your affected subscribers to let them know the change is coming. They’ll be automatically notified of the price change on Google Play 30 days before it takes effect for them, but it’s a good idea to contact them within 7 days of changing a price to help you retain more subscribers.
  • You can change a subscription’s price multiple times, but it isn’t recommended. You may lose some subscribers each time you change a price, so carefully plan any price changes.
    • Note: If you change a subscription’s price twice in a short period of time, your subscribers will need to agree to the first price change, and then agree the second price change for your intended price to take effect.
  • If you want to offer one price to existing subscribers and a different price to new users, you can create a new subscription with the price you want to offer to new users. This way, your existing subscribers can continue renewing their subscriptions without having to agree to a price change.
Upgrades or downgrades

With in-app subscriptions, you can add the ability for users to upgrade or downgrade their existing subscription to another plan your app offers. For example, users can change from a monthly to an annual subscription or from a basic to a premium subscription.

Users won't receive a refund for their old plan. To account for unused time remaining on an existing subscription, the first charge of their new subscription plan will be delayed.

Grace periods

Grace periods allow your subscribers to update their payment method if a recurring payment is declined. This can be useful if your subscribers have an expired credit card, subscribed using a prepaid card, or canceled a card without updating their payment information.

Declined payments & grace periods

At the start of a grace period, your subscribers receive an email notifying them of a declined payment. They'll have time to update their payment method without interrupting their subscription. Once your subscribers update their payment method to a valid form of payment, their next subscription billing date stays the same.

For new subscription products, the following grace periods are set by default:

  • Weekly subscriptions: 3 days
  • Other subscription periods: 7 days

Change a grace period

You can change the grace period (3, 7, 14 or 30 days) for individual subscriptions or turn off grace periods.

  1. Sign in to your Play Console.
  2. Select your app.
  3. On the left menu, click Store presenceIn-app products.
  4. Select the Subscriptions tab.
  5. Select a subscription.
  6. Change your grace period settings.

End of grace period

If your subscribers' payment method is still declined by the end of the grace period, their subscription is canceled and they lose access to their subscription content.

Account holds for declined payments

If a subscriber's recurring payment is declined, you can place the user's subscription on hold and restrict access to your content for 30 days while we try payment again. If activated, the account hold feature applies to all subscriptions within your app.

  1. Sign in to your Play Console.
  2. Select your app.
  3. On the left menu, click Store presence > In-app products > Subscriptions.
  4. Expand the "Subscription settings" section.
  5. Next to "Activate account hold," check the checkbox. 
Pauses

 To reduce voluntary churn and provide users an alternative to cancelling their subscription, you can enable users to pause their subscription. If activated, the pause feature applies to all subscriptions except annual SKUs within your app. Account hold must be enabled in order to enable pause. To enable users to pause:

  1. Sign in to your Play Console.
  2. Select your app.
  3. On the left menu, click Store presence > In-app products > Subscriptions. 
  4. Expand the "Subscription settings" section.
  5. Next to "Activate pause," check the checkbox.
Cancellations

User experience

When a user cancels a subscription, they don't receive a refund. Instead, they have access to their purchased subscription until the end of the prepaid subscription period.

Restore a subscription in the app

To help users who cancel a subscription and want to subscribe again, you can add the ability for users to resubscribe in your app without having to wait until the end of their existing subscription period. When a user resubscribes before the end of their existing subscription period, they see a $0.00 charge.

Restore a subscription from the Play Store app

If you enable users to restore a subscription, users can restore access to a canceled subscription that hasn't expired yet from the Play Store app. When a user restores access, they'll confirm the next payment date and you will receive a notification. 

Tip: This feature works best if you've set up real-time developer notifications.

To enable users to restore a subscription:

  1. Sign in to your Play Console.
  2. Select your app.
  3. On the left menu, click Store presence > In-app products > Subscriptions.
  4. Expand the "Subscription settings" section.
  5. Next to "Allow users to restore subscriptions," check the box.

Developer responsibilities

  • You (as the content or access provider) may implement a more flexible refund policy with your users directly. It is your responsibility to notify your users of any changes to your refund policies and ensure that the policies comply with applicable law.
  • In some cases, the user may contact you directly to request cancellation of a subscription. In this and similar cases, you can use the server-side API to directly cancel the user's subscription from your servers.
  • You must support a subscription as long as it has at least one active user. If a developer doesn't support subscriptions with active users, the developer account will be suspended, and the user's subscription will be refunded using the developer's account.

Was this helpful?
How can we improve it?