Docs

Play Billing Library 9 Subscription Event Tracking

Play Billing Library 9 lets users downgrade and accept price rises without leaving the app — track these new in-app billing moments or lose them.

Revenue

Google Play Billing Library 9, released alongside Google I/O 2026, moves two moments that used to happen outside an app’s reach back inside it. A new in-app subscription management API lets a user change plans or accept a downgrade offer at the point of cancellation without being bounced out to the Play Store’s subscription settings screen, with prorated credit for a downgrade handled automatically through the existing replacement-mode flow. Price-increase opt-in messaging is now a built-in SDK primitive too — the library can render the prompt itself, with Google handling the accept/reject state at the billing layer. Both changes are good for conversion. Neither one shows up in an app’s revenue tracking by default, because the events they generate are new.

Before PBL 9, a cancellation flow that ended in the Play Store meant the churn or downgrade decision happened in a surface the app couldn’t instrument — the app only ever saw the after-the-fact subscription status change, with no visibility into what offer the user saw or rejected on the way out. Apps that migrate to PBL 9 but don’t add new event tracking for the in-app management flow inherit the opposite problem: the flow is now instrumentable, but nothing is instrumenting it, so a genuinely new source of retention signal sits unused while dashboards keep reporting churn the old way, as a single before/after state change with no reason attached.

Data Points to Track

  • Downgrade-offer impression and acceptance rate, captured at the moment the in-app cancellation flow shows a retention offer, not inferred later from the resulting plan change
  • Plan-change path taken — in-app management flow versus falling through to the Play Store — so the migration’s actual adoption can be measured against the old baseline
  • Price-increase prompt outcome, logged as accepted, rejected, or dismissed-without-action, since PBL 9 surfaces this state directly rather than requiring inference from subsequent renewal behaviour
  • New sub-response codes from PBL 9’s richer error context, tracked as distinct event properties rather than collapsed into a generic billing-error bucket
  • Proration credit amount applied on downgrade, to reconcile revenue reporting against the automatic replacement-mode calculation instead of recomputing it independently

Setup Steps

  1. Map every new callback and state exposed by the PBL 9 subscription management and price-increase APIs before migrating, and decide which ones need an analytics event versus which are purely UI state.
  2. Instrument the downgrade-offer flow at each step — offer shown, offer accepted, offer dismissed, fallback to Play Store — rather than a single “plan changed” event that collapses the funnel.
  3. Capture the new sub-response codes as structured error properties, not string-matched from a generic error message, so billing failure analysis survives future library updates.
  4. Reconcile in-app-captured proration amounts against Play’s server-side purchase records during rollout, to catch any mismatch between what the client sees and what actually gets billed.
  5. Run the migration behind a staged rollout and compare downgrade-completion and price-increase-acceptance rates between the old Play Store flow and the new in-app flow for the same cohort, so the “did this help retention” question has a clean before/after comparison.

Actionable Insights

A high downgrade-offer impression rate paired with low acceptance means the offer itself isn’t compelling enough to change the user’s cancellation decision — that’s a pricing or offer-design problem, not a tracking gap. A rising rate of users falling through to the old Play Store flow after migration points to an integration issue in the in-app management path, worth fixing before drawing conclusions about the feature’s impact on retention. And if price-increase rejection is concentrated in specific plans or cohorts, that’s a segment-specific pricing signal PBL 9 now hands over directly, instead of the delayed, inferred churn signal teams had to work with before.

Expert help

Need help tracking this in your app?

Our team sets up analytics pipelines for mobile and web teams every day. Talk to us and get your first events flowing in under an hour.

Talk to an expert