Subscription pricing is rarely static. Market conditions change, costs fluctuate, and business strategies evolve. At some point, you will likely need to adjust your subscription prices, whether increasing them to reflect added value or decreasing them to attract more users. However, changing subscription prices on Google Play is not as simple as updating a number in a dashboard.
Price changes affect existing subscribers differently than new customers, require specific notification flows, and must be handled carefully to maintain user trust and comply with Google Play’s policies. Luckily, this article will explain how subscription price changes work on Google Play in-depth. We’ll cover:
- Mechanics of changing prices for both new and existing subscribers
- Differences between opt-in and opt-out price increases
- Notification requirements and timelines
- Implementation details (with a walk through example)
- How RevenueCat can help manage price changes gracefully across your subscriber base
How price changes affect different subscriber groups
When you modify a subscription price in the Google Play Console or via the API, the change doesn’t affect all users in the same way. Here’s how Google Play handles new subscribers and existing subscribers differently:
New subscribers
For new purchases, price changes take effect relatively quickly, typically within a few hours of making the change. Once the new price is active, anyone who initiates a new subscription purchase will see and pay the updated price. No special handling is required for this group; they simply see the current price when they reach the purchase screen.
Existing subscribers: the legacy price cohort
Existing subscribers are a different matter entirely. By default, when you change a subscription price, current subscribers are placed into what Google calls a legacy price cohort. These users continue paying their original price at each renewal, completely unaffected by the price change. This default behavior protects users from unexpected billing changes and gives you control over when and how to migrate them to new pricing.
This legacy cohort mechanism means changing a price in the Play Console does not automatically change what existing subscribers pay. You must explicitly choose to migrate subscribers to the new price.
Ending a legacy price cohort
When you decide to move existing subscribers from their legacy price to a new price, you use the price migration API. This initiates either a price increase or price decrease flow, depending on whether the new price is higher or lower than what users currently pay.
Using the migration API
To migrate subscribers to a new price, you call the monetization.subscriptions.basePlans.migratePrices endpoint on your backend side:
The migration is specific to each region, allowing you to roll out price changes gradually across different markets or handle regional pricing differences independently.
Price decrease flow
When the new price is lower than what users currently pay, the migration process is straightforward and easy for users. Price decreases are automatically applied without requiring explicit user acceptance.
How price decreases work
When you migrate subscribers to a lower price, Google Play sends email notifications informing users of the price decrease. Users then begin paying the lower price at their next renewal, and no user action is required since the decrease happens automatically.
There is one timing nuance to be aware of: Google Play may authorize payment up to 48 hours before renewal (or up to five days in India and Brazil). If a user’s payment was already authorized at the higher price before the decrease was applied, they will pay the higher price for that renewal but will receive the lower price on subsequent renewals.