The Subscription Lifecycle

At Glassfy we believe in simplifying and unifying the diverse subscription lifecycles across different stores like Play Store, App Store, Stripe, and Paddle.

Our mission is to bring cohesion to this chaos, allowing you to focus on what matters most—providing exceptional content or services to your users.

Understanding Glassfy's Subscription Lifecycle

At Glassfy, we've streamlined the subscription management process by introducing standardised events and statuses.

Multiple Stores, One Unified Approach

Each store—Play Store, App Store, Stripe, and Paddle—has its unique way of handling subscriptions. Glassfy bridges the gap by implementing a standardised approach to homogenise the diverse lifecycles seamlessly.

Subscription Statuses

The current status of a subscription allows to easily understand where a used is in their subscription lifecycle.
In order to understand and define these Subscription Statuses, we need to introduce the concept of permission.

The permission is what allows a subscriber to access the paid features of your app that they would not be able to access with the free product, or at all, based on your app.

We defined five statuses:

  • In Trial: Subscription with active permissions but which have yet to make a payment. This status is identified by the flag is_trial_period = TRUE
  • Active: Subscription with active permissions and not in Trial. This status is identified by the flag is_subscription_active = TRUE
  • Cancelled: Subscribers opt-out of automatic renewal, with permissions left untouched. This status is identified by the flag auto_renew_status = FALSE
  • Paused: Subscription temporarily suspended by the subscriber, that may or may not be set to resume after a predefined time. It is identified by the flag paused = TRUE
  • On Hold: Subscription temporarily suspended by the vendor until billing success. It is identified by the flag on_hold = TRUE

These statuses are not necessarily mutually exclusive:

  • If In Trial, Paused, or On Hold, the subscription cannot be Active.
  • While In Trial, it cannot be Paused or On Hold.
  • A subscription can be put On Hold while it is Paused
  • The Cancelled status can overlap with any other status.

Key Events Driving the Subscription Journey

  • Subscription Initial Buy (5001): A user starts a new subscription. They may start a Trial or they may be billed immediately.
  • Subscription Restarted (5002): A user restart a previously restarted subscription.
  • Subscription Renewed (5003): The subscription is automatically renewed.
  • Subscription Expired (5004): The subscription expired either at the end of a subscription cycle after it was Cancelled or because it was revoked by the vendor.
  • Subscription Did Change Renewal Status (5005): The subscriber changed the auto renewal, either by deactivating it or by reactivating it.
  • Is In Billing Retry Period (5006): The last attempt to bill the subscriber was not successful. Depending on the app, the subscription may or may not keep their permissions for a limited amount of time.
  • Subscription Product Change (5007): The subscription plan was upgraded or downgraded.
  • In App Purchase (5008): The subscriber made an In-app Purchase.
  • Subscription Refund (5009): The subscriber received a Refund. These may be automatic, such in case of a Product Change, or can be issued directly by the vendor.
  • Subscription Paused (5010): The subscription was Paused.
  • Subscription Resumed (5011): A paused subscription (that was already paid for) was resumed to regain access, either manually or automatically after a set amount of time.
    For Android users only, the subscription can become Paused only at the end of a subscription period, and can remain Paused only for a limited amount of time. Thus, resuming happens with a Renewal (5003) or Product Change (5007).

  • Connect License (5012): The subscriber used a universal code to associate a license to their product.
  • Disconnect License (5013): The subscriber disconnected their license from their product.

The events In App Purchase (5008), Connect License (5012) and Disconnect License (5013) do not generally appear in a subscription product's chain, thus they don't have subscription statuses associated with them. They may appear on a subscriber's list of event, but generally for a different product.