Skip to main content

Product changes (Google Play)

AIAsk AIChatGPTClaude

When a customer with an active Google Play subscription purchases a different product through your paywall, you can configure how that subscription change (upgrade or downgrade) is handled.

Without product change configuration, customers who purchase a different product will end up with two active subscriptions running in parallel.

📘Google Play only

Product change configuration is specific to Google Play. On the App Store, subscription changes are handled automatically by Apple within subscription groups. Learn more about managing subscriptions.

How it works

When product changes are configured on your paywall, the SDK will automatically:

  1. Detect the active subscription: Check if the customer has an active Google Play subscription.
  2. Determine the change direction: Compare the normalized price-per-unit-time of the current and new products to classify the change as an upgrade (higher price) or downgrade (lower price).
  3. Apply the replacement mode: Use the configured replacement mode for upgrades or downgrades when initiating the purchase.

This means customers can switch between subscription products directly from your paywall without you needing to write any product change logic.

Base plan changes within the same product

When a customer switches between base plans of the same product (e.g., from a monthly to an annual plan of the same subscription), Google Play handles this automatically using whatever replacement mode you've configured in the Google Play Console. The paywall's product change configuration only applies when switching between different products.

Configuration

To configure product changes, go to the Paywall settings in the Paywall Editor and enable the Play Store product change mode setting. From there, you can set different Google Play replacement modes for upgrades and downgrades.

Replacement modes

ModeDefault forDescription
Charge prorated priceUpgradesReplacement takes effect immediately, and the price difference for the remaining period is charged to the user. Only available for upgrades.
DeferredDowngradesReplacement takes effect when the current plan expires, and the new price is charged at the same time.
Without prorationThe old subscription is cancelled, and the new one takes effect immediately. The user is charged the full price of the new subscription on the old subscription's expiration date.
With time prorationThe old subscription is cancelled, and the new one takes effect immediately. Remaining time on the old subscription pushes out the first payment date for the new subscription.
Charge full priceReplacement takes effect immediately. The user is charged the full price of the new plan and given a full billing cycle, plus remaining prorated time from the old plan.

For detailed descriptions and Google's recommendations, see Google's replacement mode documentation.

Supported SDK versions

RevenueCat SDKMinimum version
purchases-android9.21.0 and up