Skip to content

Subscription Lifecycle

Target Audience: Users, Customer service

Introduction

The Subscription Lifecycle view provides a complete historical thread of a subscription — from initial purchase through upgrades, downgrades, package changes, and transformations. It connects all related orders into a single chronological chain, giving customer service a full picture of what has happened to a subscription over time.

Accessing the Lifecycle View

The lifecycle view is accessible from the subscription overview and order overview pages. Look for the lifecycle link on any subscription or order that is part of a chain. Opening it will display the entire subscription thread, regardless of which order or subscription you started from.

What Is Shown

Each entry in the lifecycle represents a distinct subscription stage — typically tied to a specific product and order. An entry includes:

Field Description
Subscription number The subscription identifier (may change on upgrades/downgrades)
Order reference The order associated with this stage
Product Product code and name at this stage
Valid from / Valid to The service period dates
State Current state of this entry (activated, cancelled, deactivated, etc.)
Created from How this entry originated (see below)
Payment method Payment option and method name used

When New Entries Are Created

A new entry in the lifecycle chain is created only when the subscription fundamentally changes — such as the product, package, or payment structure changing. This results in a new order and a new subscription entry linked to the previous one.

Events like renewals, cancellations, reactivations, and payment retries do not create new entries. These change the state of the current entry (e.g. from activated to cancelled) but the entry itself remains the same.

Created From (Origin)

The created_from field on each entry explains why it exists in the chain:

Value Meaning
purchase Initial subscription purchase
upgrade Customer upgraded to a higher-tier package
downgrade Customer downgraded to a lower-tier package
package_change Package was changed (not strictly up or down)
package_change_retention_campaign Package changed as part of a retention campaign
package_change_subscription_validation Package changed due to subscription validation
campaign_transformation Campaign period ended, transitioned to regular pricing
subscription_extension Subscription was extended into a new subscription
subscription_change General subscription change
payment_method_change Payment method was changed
payway_admin Created manually by an administrator
voucher Created from a redeemed voucher
migration Migrated from an external or legacy system
subscription_system Created by an integrated subscription system
third_party Created by a third-party system

Understanding the Chain

A subscription lifecycle chains together all orders that belong to the same logical subscription. For example, a customer who purchases a digital subscription and later upgrades will see:

Purchase (Digital Basic) → Upgrade (Digital Premium)

The upgrade deactivates the first entry (with reason UPGRADE) and creates a new entry for the upgraded product. Subsequent renewals update the valid_to date on the current entry but do not add new entries to the chain.

Subscription States

Each entry shows its current state:

State Description
Activated Currently active with entitlements enabled
Cancelled Cancellation requested; still active until period end
Paused Active but will not auto-renew
Deactivated Ended — either expired, cancelled, or replaced by a new entry in the chain
Pending Scheduled for future activation

Deactivated entries in a chain

A deactivated entry does not necessarily mean the customer lost access. If the deactivation reason is UPGRADE, DOWNGRADE, or SUBSCRIPTION_CHANGE, it means this entry was replaced by a newer one in the chain.

Common Scenarios

Upgrade / Downgrade

The current entry is deactivated with reason UPGRADE or DOWNGRADE and a new entry appears with the new product. The lifecycle view shows both entries linked together.

Campaign to Regular Pricing

When a campaign period is exhausted, the current entry is deactivated with reason CAMPAIGN_TRANSFORMATION and a new entry is created at regular pricing.

Payment Failure and Recovery

Payment failures and retries change the state of the current entry (e.g. grace period) but do not create new entries. If the grace period expires, the entry transitions to Deactivated.

Cancellation and Reactivation

Cancelling a subscription changes its state to Cancelled (or Deactivated for immediate cancellations). Reactivating it restores the state to Activated. Neither operation creates a new entry in the chain.