Sell subscriptions with Google Play Billing

  • Earn
  • Develop

Sell subscriptions through Google Play Billing to provide users with access to content and features on an ongoing basis.

Why it works

Google Play's subscription platform gives you the tools and actionable intelligence to grow your subscription businesses. You can quickly and easily get set up with Google Play Billing, and then Google Play handles the checkout details so your app never has to process financial transactions. You'll have access to customizable subscription options and management features to help you attract and retain more customers. And, because your app will use the same checkout flow that is used for content purchases on Google Play, users will get a familiar, reliable, and secure experience.

Key features

  • Flexible billing frequencies: Set your billing period to weekly, monthly, quarterly, half-yearly, or annually.
  • Free trials: Let users try your app before subscribing by offering a trial period for a duration of your choosing.
  • Introductory pricing: Specify an initial, discounted price that applies to a set number of billing periods.
  • Local pricing: Customize the price for each locale and bill users in their local currency.
  • Price changes: Easily apply a price change.
  • Grace periods: Allow your subscribers to update their payment method if a recurring payment is declined.
  • Account holds: Block access to your content or service if a user's form of payment fails until they update their payment information.
  • Upgrades and downgrades: Add the ability for users to switch from one plan to another (for example, from a basic to a premium subscription) or to re-sign up to keep access. Then choose whether to use credit from the plan change to set a new renewal date, keep the renewal date and charge the user a prorated amount, or to defer the price change to the next renewal date.
  • Server-side API: See fine-grained details about each subscription, such as expiration date, payment status, cancellation reason, and more.
  • Real-time developer notifications: Receive notifications as soon as a subscriber's state changes.
  • Subscription restore: Allow users to restore a subscription directly from the Play Store.
  • Conversion analytics: See which channels bring in the largest number of paid users.
  • Billing reports and dashboards: Measure how much you're earning every month from each subscription tier you offer and track how long you're retaining your subscribers. Use advanced options to select and analyze cohorts. See whether your features—such as free trials, account holds, and grace periods—are successful at acquiring and retaining users.

Best practices


  • Use the Google Play Billing Library to simplify development. The library provides an interface for sending billing requests, and managing billing transactions using Google Play.
  • Configure all of your subscriptions SKUs at the app level using the Google Play Console, instead of having to manage all of your SKUs individually.
  • Use license test accounts to test purchases without spending real money. We provide a “good” test instrument and a “bad” test instrument for each account so you can make secure and convenient test purchases during development or in preparation for launch. For more information on testing, visit the Help Center.
  • Record purchase tokens and order IDs to make sure you're tracking users appropriately. Order IDs appear in financial reports, and tokens are required for using Play Billing APIs and validating purchases.



  • Monitor subscriber state changes using real-time developer notifications (RTDN). To enable RTDN, you'll need to integrate your backend with Cloud Pub/Sub using your own Google Cloud Platform (GCP) project, and indicate in Google Play Console the Pub/Sub topic to which Play should publish notifications. Whenever an RTDN is received, call the server-side API to get the latest subscription state. Then, sync the state with your database. This should be done even for notification types you haven't seen before.
  • Notify your users when their payment information needs updating, which helps to reduce involuntary churn as a result of payment failures. When paymentState is 0, the user needs to update their payment information.
  • Implement grace periods for your apps. Setting up a grace period helps with retention by allowing you to give your users an extra 3 or 7 days to fix payment issues when their renewal declines. Developers who use a grace period see a 57% higher recovery rate from renewal declines. This can be configured in the Play Console.
  • Help prevent involuntary churn by enabling account holds. With account holds, you put subscribers with payment failures in a suspended state and block access to content until they update their form of payment, which hopefully motivates them to do so. We see the best results when developers enable both grace periods and account holds for their subscriptions. By using both account hold and grace period, there is a 67% higher chance of users retaining their subscriptions.
  • Review the feedback left by people who cancel their subscriptions to identify and, where possible, correct the reasons for cancellation.
  • Create deep links to direct people to their subscription management page on the Play Store. Then enable users to easily restore a subscription from the subscription management page in the Play Store by enabling subscription restore in the Play Console.
  • Transition users from one SKU to another. In the event a user tries to cancel, let them select another subscription plan by switching from one SKU to another.
  • Analyze the cancelReason and cancellation time so you can correlate cancellations with user behavior to try and prevent it from happening in the first place.
  • Defer billing through the Google Play Developer API to give existing users free service for a temporary period of time. Deferring billing is as a gesture of goodwill while also helping you to address outages or service issues.
  • Use the Play Console to measure performance. The subscription dashboard and reports in the Play Console give you data and insight into your business performance to help guide your decisions.