Subscriptions 6 min read

Google Play Subscriptions Next Era: Multi-Quantity, Usage-Based Billing, Mixed Carts and Dynamic Grace Period

On Sep 29, 2026, Sheenam Mittal (Senior Product Manager, Google Play) published "Driving growth on Google Play: The next era of subscriptions" on the Android Developers Blog. It is a product post, not a release note, and the useful part for an engineer is sorting out what is available today and what is still gated. The post says many of these features are available or rolling out through an Early Access Program, with select partners, before wider rollout in Play Console. Only the In-App Messaging API is described as available now to all developers.

4
new ways to sell: multi-quantity, usage-based, mixed carts, cross-developer bundles
4
retention tools: in-app messaging, dynamic grace, retention offers, winback offers
0
client code needed for dynamic grace period

1. Multi-quantity subscription purchase

A user can buy several subscriptions in a single transaction and assign them as seats to team members or students. The post positions this for productivity, EdTech and GenAI apps that sell team-wide access. If you sell per-seat plans today through a web checkout, this is the Play-native equivalent to watch.

2. Usage-based billing

For apps with variable compute cost, such as AI generation, Play describes prepaid metered billing: users top up automatically whenever their balance falls below a set threshold. The stated aim is uninterrupted service for the user while protecting your margins. The post gives no API surface yet, so design your entitlement model around a balance rather than a period, and wait for the Play Billing docs before writing code.

3. Mixed carts

Subscriptions and one-time products used to need two checkouts. Mixed Carts processes an auto-renewing base subscription alongside one-time products in a single API call and one checkout sheet. The post also suggests bundle discounts, for example a lower price when a user buys a subscription together with complementary in-app items.

4. Cross-developer bundling

You can create a hard bundle of two or more complementary subscriptions in your own catalog, partnering with other developers or combining your own apps. The post's example is a language-learning membership bundled with a partner's premium travel guide at a combined discounted rate.

Reality check: items 1 to 4 are described as capabilities "being tested and rolled out". Do not plan a release around them without confirming access through your Google Play partner manager.

5. In-App Messaging API (available now)

This is the one you can ship this week. With InAppMessageCategoryId.TRANSACTIONAL enabled, Play shows a message when there is a payment issue or an outstanding opt-in price increase. Per the subscriptions docs, call it whenever the user opens the app, and handle SUBSCRIPTION_STATUS_UPDATED by using the returned purchase token against the Google Play Developer API to refresh status.

val params = InAppMessageParams.newBuilder()
    .addInAppMessageCategoryToShow(InAppMessageCategoryId.TRANSACTIONAL)
    .build()

// Needs an Activity with a created, attached window so Play can overlay the message.
billingClient.showInAppMessages(
    activity,
    params,
    object : InAppMessageResponseListener {
        override fun onInAppMessageResponse(result: InAppMessageResult) {
            when (result.responseCode) {
                InAppMessageResponseCode.NO_ACTION_NEEDED -> Unit
                InAppMessageResponseCode.SUBSCRIPTION_STATUS_UPDATED -> {
                    // Payment recovered or price increase confirmed:
                    // send the returned purchase token to your backend,
                    // which re-queries the Google Play Developer API.
                }
            }
        }
    }
)

The docs show this as an if/else on the same two response codes; the when above is equivalent. Call it from your main screen's start, not from a background service, since it needs a live window.

6. Dynamic grace period

Instead of a fixed grace window after a payment decline, Play uses machine-learning and heuristic models to tailor the duration per subscriber, aiming to balance renewal recovery against unpaid service access. Play adjusts the following account hold so your total configured recovery window is preserved, and the post says no client-side code changes are required. What stays your job: keep granting access during grace and revoke it in account hold, as the subscriptions docs already say, and do not hard-code an assumed grace length.

7. Retention offers, plan change and winback

Behind the scenes

Play also runs optimizations that need no code: smart payment retries, cycling through backup payment methods for opted-in users, context-aware reminders during grace period and account hold, and fraud and abuse prevention against promotional-offer exploitation.

What to do this week

Sources: the Android Developers Blog post "Driving growth on Google Play: The next era of subscriptions" (Sep 29, 2026) and the Google Play Billing subscriptions documentation on developer.android.com.

Comments 0

No comments yet. Be the first to leave one!

Leave a comment