Understanding subscriptions

In May 2022, we introduced changes in the way subscription products are defined and managed in Play Console. If you have existing subscriptions and want to know how these changes affect them, read this article.

Using Google Play's billing system,  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.

The Google Play subscriptions system provides flexibility in the ways you create, manage, and sell subscriptions. Using Play Console or the Subscription Publishing API, you can configure a single subscription with multiple base plans, each with multiple offers. Subscription offers can have various pricing models and eligibility options. You can create offers across the subscription lifecycle, using a wide variety of auto-renewing and prepaid plans.

This article describes subscription functionality. To understand how to create and manage subscriptions in Play Console, go to Create and manage subscriptions. To understand how to implement subscriptions in your Android app and backend, visit the Android Developers site.

Important: In addition to the information in this page, you should refer to Google Play's Developer Program Policies, including the Subscriptions policy.

Overview of subscriptions

This section introduces subscription concepts, objects, and functionality.

The three subscription object types are:

  • Subscription: A subscription object defines a set of benefits that users can access during a stated time period.
  • Base plan: A base plan defines a subscription's billing period, renewal type (auto-renewing or prepaid), and price. A single subscription can have multiple base plans.
  • Offer: Offers define a discount available to eligible users. A single base plan can have multiple offers.

The image below shows how subscription object types are structured:

Subscription

A subscription is a set of benefits that users can access during a stated time period. You can have multiple subscriptions within the same app, either to represent entirely different benefits (for example, a streaming video app could have separate “news” and “sports” subscriptions), or different tiers of a single set of benefits (for example, a cloud storage app could have 100 GB, 1 TB, and 10 TB subscriptions).

Users gain access (or entitlement) to a subscription by purchasing a base plan or offer, either in your app or on Google Play.

Base plan

Subscriptions contain one or more base plans. A base plan specifies a unique set of attributes for a given billing period and renewal type. You can specify whether a subscription renews automatically (auto-renewing) or is non-renewing (prepaid plan).

A subscription can have multiple base plans. As an example, for a single "Premium Membership" subscription, you could create the following base plans:

  • A monthly, auto-renewing base plan.
  • A monthly, prepaid base plan.
  • An annual, auto-renewing base plan.

Auto-renewing

Users can purchase an auto-renewing base plan to obtain subscription entitlement for a specified billing period, with automatic charges and entitlement extensions at the end of each billing period. An auto-renewing base plan provides uninterrupted subscription entitlement until canceled. Subscriptions can be canceled by the user, by the developer, or by the Google Play billing system (such as when a grace period ends and the user has not resolved their payment issue).

Prepaid

Users can purchase a prepaid base plan to obtain subscription entitlement for the specified billing period that does not automatically renew. Users can subsequently top-up to extend the plan's end date and maintain uninterrupted access to subscription content. 

When topping up, users can purchase any prepaid base plan available for the same subscription to top-up, including durations different from the original purchase. For example, a user with a $12.99 prepaid one-month plan can purchase a $59.99 prepaid top-up that extends the subscription by 1 year.

In addition to top-ups, users can also switch between prepaid and auto-renewing subscription plans as desired. Users can make these purchases either through your app or through the Google Play Store's subscriptions center. 

Base plan attributes

The table below lists and explains the fields you'll define when setting up your base plan in Play Console:

Field Description
Billing period

The duration of the subscription entitlement.

Renewal type

Whether a subscription renews automatically, or is prepaid.

Regional availability

A base plan contains a list of regional configurations that define where the plan is available along with the price for each region. You can control availability and pricing individually for each country or region, and configure whether your base plan or offer should be made available to any new locations which Google Play may support in the future.

Grace period

When auto-renewing charges fail, users enter a grace period where they retain access to subscription benefits while they’re asked to fix their payment issue. You can specify the length of the grace period for this base plan.

Base plan and offer changes

If a user currently has this subscription and switches to this base plan or any of its offers, this determines when the user is charged. This setting doesn’t apply if a subscriber switches to a different subscription.

Resubscribe

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

Tags

A tag is an optional label of up to 20 characters that you can use to mark or group base plans and offers and identify them in the API. Tags can be used to determine which offer to show when the user is eligible for more than one. You can add up to 20 tags. Users cannot see tags.

Offer

Eligible users can purchase an offer to obtain access to a subscription at a discounted price. While any user can purchase a base plan, offers are only available to users who meet the eligibility criteria you define. Offers can provide the user with free trials and/or introductory pricing through one or more offer phases

Note: You can only create offers for auto-renewing base plans.

Offer eligibility 

You can provide offers to users based on their subscription status in your app. You do this by specifying eligibility requirements. There are three supported use cases:

Use case Criteria
New customer acquisition

The user has never had entitlement to this subscription, or the customer has never had entitlement to any subscription in this app.

Upgrade

The user currently has a specified subscription and billing period in this app. 

As an example, you can define an offer that provides an introductory price for a "Gold" subscription tier to users who are currently subscribed to a "Silver" tier.

Developer determined

You decide the business logic and determine eligibility in your app. Examples include second-chance free trials, or win-back offers for lapsed subscribers.

Since the logic resides in your app, developer determined offers cannot be sold outside of your app.

Offer phases

Offers contain one or more offer phases. Each phase defines a free or introductory price period. For example, an offer may have a 7-day free trial phase, followed by an introductory phase of $2 for one month. After the offer phases complete, subscriptions auto-renew using the offer’s base plan.

Free trials

A free trial pricing phase provides a specified number of days, weeks, or months at no charge. Free trial phases can range from 3 days to 3 years.

Introductory pricing

Introductory pricing phases provide the user with a discounted price for a fixed duration. Introductory pricing phases must be the same or less than the base plan price. They can be absolute or relative to the base plan price. Relative prices can make future price changes simpler. Prices can be specified as follows:

  • An absolute amount, such as $5
  • A fixed discount, such as $5 off the base price
  • A percentage discount, such as a 50% discount off the base price

All prices are subject to Google Play minimum and maximum pricing in the region the price is available. Go to Supported locations for distribution to Google Play users to learn more.

Note: The relative nature of an introductory price is not currently shown in the purchase cart. For example, there is no strikethrough display of the base plan price.

Introductory price phases can include one or more payments:

  • Single payment: A pricing phase that charges the user once for a specific number of days, weeks, or months.
  • Multiple payments: A pricing phase that provides a discount for between 1 and 52 recurrences of the base plan’s billing period.

Offer attributes

The table below lists and explains the additional fields you'll define when setting up your offer in Play Console:

Field Description

Regional availability

Offers default to the same regional availability as their base plan. You can instead choose a subset of those regions.

Tags

A tag is an optional label of up to 20 characters that you can use to mark or group base plans and offers and identify them in the API. Tags can be used to determine which offer to show when the user is eligible for more than one. You can add up to 20 tags. Users cannot see tags.

Tip: We recommend using tags to identify the offers created with developer-determined eligibility to help differentiate between them when showing the collection of offers available to the user.

Offer and base plan availability

Over time, you can create and modify many subscriptions, base plans, and offers. While some might become obsolete, historical data can be useful for analytics and reporting purposes. Likewise, you might want to create alternatives for experimentation or switch from one offer to another depending on seasons or other factors. The new subscription system supports these use cases with subscription object states. To ensure information is always available for reporting and analysis purposes, you can't delete subscriptions, base plans, and offers, or reuse their IDs.

Subscription status

Subscription objects can have the following states:

  • Draft: The subscription is being defined and is not yet active. When a subscription is in the draft state, any base plans or offers that are created are also in Draft state.
  • Active: The subscription exists and supports existing purchases. If there are any active base plans, the subscription also allows new purchases.
Base plan and offer status

Offers and base plans can have the following states:

  • Draft: The base plan or offer is being defined and is not yet active.
  • Inactive: The base plan or offer exists, but is not available for new purchases. Existing subscriptions continue until canceled. You can toggle offers between active and inactive as needed.
  • Active: The base plan or offer exists and supports both existing and new purchases.

Common use cases for base plans and offers

This section provides configuration examples of common base plans and offers. Click on a section below to expand it and view an example.

Monthly plan available to any user

The following example defines a basic subscription with a single monthly base plan for all users in the specified regions. There aren’t any offers at this point.

Subscription info:

  • Title: "All access"
  • User benefits:
    • "Unlimited access to all channels"
    • "Ad-free"

Base plan info:

  • Billing period: Monthly
  • Renewal type: Auto-renewing
  • Region availability:
    • U.S. 
    • Canada
    • Turkey
  • Price per region:
    • U.S.: $9.99
    • Canada: CA$10.99
    • Turkey: 155 TRY
  • Grace period: 7 days
Free trial for new subscribers

The following offer builds on the previous example (Monthly plan available to any user), adding a free trial for new subscribers by defining the following offer in Play Console. Note the offer is limited to a subset of base plan regions – it doesn’t include Turkey.

Offer info:

  • Eligibility criteria: New customer acquisition
    • Never had any subscription in this app
  • Region availability: (note that Turkey is not included)
    • U.S.
    • Canada
  • Pricing phase 1:
    • Type: Free trial
    • Duration: 7 days (then goes to base plan)

Here's how this would work for the user:

  • New subscribers (in the U.S. and Canada only) will receive a 7 day free trial.
  • After the trial is over, the subscriber will auto-renew onto the standard base plan price.
  • Any users who have previously purchased any of this app's subscriptions are ineligible for the offer, so they can only purchase the base plan.
Free trial, followed by intro price (for new subscribers)

The following example builds on the base plan in the previous example (Monthly plan available to any user), adding an offer with two pricing phases:

Offer info:

  • Eligibility criteria: New customer acquisition
    • Never had any subscription in this app
  • Region availability: (note that Turkey is not included)
    • U.S.
    • Canada
  • Pricing phase 1:
    • Type: Free trial
    • Duration: 7 days
  • Pricing phase 2:
    • Type: Single payment
    • Duration: 1 month
    • Price override:  Fixed amount
    • Price per region: 
      • U.S.: $1.99
      • Canada: CA$1.99

Here's how this would work for the user:

  • New subscribers (in the U.S. and Canada only) will receive a 7 day free trial, followed by 1 month for $1.99/CA$1.99.
  • After the trial is over, the subscriber will auto-renew onto the standard base plan price.
  • Any users who have previously purchased any of this app's subscriptions are ineligible for the offer, so they can only purchase the base plan.
Developer determined offer – winback

Google Play offers support for common eligibility use cases, such as new customer acquisition. Your app can also evaluate against your own eligibility criteria, either in addition to or instead of Play-determined eligibility. This means that you can build additional logic on top of Play-evaluated eligibility criteria and decide which offers you want to prioritize and surface to users. For example, you can limit an offer to past subscribers who have previously canceled with the aim of winning them back.

The following example builds on the base plan in the previous example (Monthly plan available to any user), adding a developer-determined offer for 3 months half-price: 

Offer info:

  • Eligibility criteria: 
    • Developer determined 
  • Region availability:
    • U.S.
    • Canada 
  • Pricing phase 1:
    • Type: Recurring payment
    • Billing periods: 3
    • Price override: Percentage discount
    • Discount percentage per region: 
      • U.S.: 50%
      • Canada: 50%
  • Tag:  WINBACK-50-OFF

Here's how this would work for the user:

  • Users (in the U.S. and Canada only) presented with this offer using in-app logic will receive 50% off their price for 3 months (that is, $4.99/CA$4.99).
  • After the offer is over, the subscriber will auto-renew onto the standard base plan price

Note: Any offers available for purchase outside of the app, including featured subscriptions, cannot have developer-determined criteria.

Tip: We recommend using tags to identify the offers created with developer-determined eligibility to help differentiate between them when showing the collection of offers available to the user.

Changing base plan and offer prices

You can change the price of any base plan or offer. The new price applies immediately for any new purchases.

If there are any users with existing auto-renewing subscriptions, their price does not change. Instead, the user enters into a legacy price cohort, where they keep their existing price until they change subscription plans or until you decide to move to them to the current price.

Users on prepaid plans always pay the current price for top-ups and additional purchases.

Ending legacy pricing

For auto-renewing base plans, you can decide to end a legacy price cohort and move those users to the current base plan price. However, note the following:

  • Ending a legacy price cohort only affects the base plan price; it's not possible to change the price of any offer phase after purchase.
  • It's also not possible to move the legacy cohort to any price, only to the current base plan price.

Decreasing prices

If the new price is lower, the resulting price decrease is automatic and does not require user approval. Users are notified and charged the lower price at their next renewal date.

Increasing prices

If the new price is higher, the resulting price increase is "opt-in" – the user must agree to the price increase before it takes effect. If they do not, their subscription is automatically canceled before the first charge at the higher price. Users will have at least a 30 day notification period to opt-in, which may result in their next charge remaining at the current price.

If you've ended one legacy cohort with a price increase, and then change the price again, any users who haven't resolved the first price increase (either by accepting the increase, or by having their notification period end) no longer have to respond. The first increase is canceled, and only the subsequent price change applies.

  • Important: Price increases may cause an increase in churn if subscribers do not accept the price change. We recommend contacting affected subscribers to inform them of the price increase within 7 days to give an explanation for the change and remind them of the value they are receiving.

Declined payments, grace periods, and account hold

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.

If your subscribers' payment method is still declined by the end of the grace period, their subscription will be put on hold and they lose access to their subscription content for 30 days while we try payment again. The account hold feature is mandatory and applies to all subscriptions within your app.

Enabling subscription pauses

You can prevent voluntary churn by enabling users to pause their subscription. When you enable the pause feature, users can choose to pause their subscription for a period of time between one week and three months instead of canceling, depending on the recurring period. Once enabled, the pause option surfaces both in the subscriptions center and in the cancellation flow. Note that annual subscriptions and free trials cannot be paused.

To enable users to pause their subscription:

  1. Open Play Console and go to the Monetization setup page (Monetize > Monetization setup).
  2. In the "Subscription settings" section, change "Pause" to Enabled.
  3. Click Save changes.

A subscription pause takes effect only after the current billing period ends. While the subscription is paused, the user doesn't have access to the subscription. At the end of the pause period, the subscription resumes, and Google attempts to renew the subscription. If the resume is successful, the subscription becomes active again. 

Learn more about subscription pauses and pause implementation requirements on the Android Developers site.

Subscription cancellation requirement

To comply with upcoming changes to Google Play's Subscriptions policy, your app must include an easy-to-use, online method for subscribers to cancel. In your app’s account settings (or equivalent section), you can meet this requirement by including:

  • a link to Google Play’s Subscription Center (if your app uses Google Play’s billing system); and/or
  • direct access to your cancellation process.

The requirement is described in full in the Subscription management & cancellation section of the Subscriptions policy.

Was this helpful?
How can we improve it?

Need more help?

Sign in for additional support options to quickly solve your issue

Search
Clear search
Close search
Google apps
Main menu
Search Help Center
true
92637
false
false