Subscription Switching Process and Costs

Once the WooCommerce Subscriptions Switching feature is enabled, switching is a smooth and flexible process. Whether your customers are looking to upgrade to a more expensive plan, downgrade to a cheaper one, or switch to a plan with the same cost, you’ll want to understand how these changes affect their billing. This guide explains the nuances of the subscription switching process, and how Subscriptions determines switching cost.

Switching Costs

↑ Back to top

A subscription switch can be classified in one of three categories:

  • Upgrade: changing to a subscription that is more expensive on a daily basis.
  • Downgrade: changing to a subscription that is cheaper on a daily basis.
  • Cross-grade: changing to a subscription with the same price per day.

When prorating prices for these categories, two pricing mechanisms adjust any unrealized value of the current subscription:

  • First payment date: The date the first recurring payment occurs for the new subscription.
  • Gap payment: The amount due at the time of subscription change, plus any signup fee.

These two pricing mechanisms apply differently, depending on the switch category. The following sections explain how switching between subscriptions in each category affects the two elements of billing terms.

Note: Whether a subscription is considered more expensive, cheaper, or the same price is determined by its costs on a daily basis not on an absolute basis. For example, a $2 per day subscription is more expensive than a $300 per year subscription, which costs only $0.82 per day.

Why does price per day determine a switch’s classification as an upgrade, downgrade or cross-grade?

↑ Back to top

As mentioned in the section on switching costs, a switch can be classified as an upgrade, downgrade or cross-grade. This classification is based on comparing the price per day of the existing subscription and the new subscription.

Price per day determines the switching cost because it provides a consistent basis for comparing subscription plans. This approach ensures accuracy even if a customer cancels or switches their subscription before the end of the new billing period.

For example, if a customer switches from a $10 / month subscription to a $15 / year product, the price for the next subscription is higher. As a result, it may appear to be an upgrade when considering only the price and ignoring the billing period. However, if the customer only remained subscribed to the $15 / year subscription for one week and then cancelled the subscription or switched to a different subscription, they would have only used around $0.28 cents worth of value for that subscription, which is less than the $2.10 amount of value they would have consumed if they remained subscribed to the subscription with the lower price. As a result, the switch to the new subscription is considered a downgrade.

Switching Process

↑ Back to top

To switch subscriptions, your customer completes a checkout process similar to the standard WooCommerce checkout process. Learn more about what a customer experiences during this process in the Subscriber’s guide to switching subscriptions.

Let’s look at the different types of switches in more detail below:

Cross-grades

↑ Back to top

Cross-grades are the simplest category of subscription changes. Because the two subscriptions have the same price per day, neither a gap payment nor changes to the first payment date are necessary.

This table illustrates the prorated value for cross-grades based on billing period of the new subscription.

New Billing PeriodPricing MechanismProrated Value
ShorterFirst payment dateExisting subscription’s next payment date
Gap PaymentNone
SameFirst payment dateExisting subscription’s next payment date
Gap PaymentNone
LongerFirst payment dateExisting subscription’s next payment date
Gap PaymentNone

Downgrades

↑ Back to top

Subscription downgrades may extend the first payment date to credit subscribers for unrealized value from their current subscription period.

This table shows when and why the new subscription’s billing period might necessitate changes to the first payment date:

New Billing PeriodPricing MechanismProrated Value
ShorterFirst payment dateBased on number of days the customer has pre-paid (i.e. amount of days at the new subscription’s price per day, which the customer receives for the amount paid at the last billing period).
Gap PaymentNone
SameFirst payment dateBased on number of days the customer has pre-paid (i.e. amount of days at the new subscription’s price per day, which the customer receives for the amount paid at the last billing period).
Gap PaymentNone
LongerFirst payment dateBased on number of days the customer has pre-paid (i.e. amount of days at the new subscription’s price per day, which the customer receives for the amount paid at the last billing period).
Gap PaymentNone

Subscription downgrade example:

A customer subscribes to a $10 per month subscription via your site on 2nd September. Twelve (12) days later, they want to downgrade the subscription to bill less frequently.

They choose to switch to a yearly subscription for $10 per year. Notice that although the recurring amount for the new subscription is the same as that of his current subscription, the price per day is cheaper – $0.03 per day for the new subscription vs. $0.33 per day for the current subscription.

The customer switches 12 days into the subscription, completing ⅖ of the billing period. This leaves ⅗ remaining, entitling them to ⅗ of the new billing period. Consequently, the first payment date extends to April, about 7 months ahead (⅗ of a year).

After completing steps 1 and 2 of the switch process, the checkout page displays order totals to the customer, as shown in the image below:

Notice that the order total includes the date on which the first payment is charged.

Downgrade example for a subscription with multiple products:

A customer subscribes to four (4) $10 per month subscriptions and one (1) $50 per month subscription via your site on 1st July. Because these products have the same billing period and were purchased together, they’re grouped in a single subscription. On the same day of purchase, they want to switch their four (4) $10 per month items to just two (2) $10 per month of the same product.

Although the customer is only switching the quantity, the new price per day is cheaper – $0.67 per day for the new subscription vs. $1.34 per day for the current subscription.

Because this customer switched at the start of their subscription and already paid for four (4) $10 per month products, they’re entitled to the full $40 amount at the new price per day. Consequently, the new Next payment date is calculated to 1st September (from 1st August).

Because this customer is switching an item on a subscription with other products, we need to create a new subscription with these switched items and the new Next payment date. After making this switch, the customer will have two active subscriptions:

  1. $50 per month with a next renewal date of 1st August
  2. $20 per month with a next renewal date of 1st September

Upgrades

↑ Back to top

Upgrades may require a gap payment to account for the remaining number of days on the customer’s existing subscription at the higher price per day of the new subscription. This payment processes when switching the subscription and functions as a signup fee.

Upgrading to a subscription with a shorter billing cycle necessitates changing the first payment date for the new subscription (which happens automatically). For example, switching from a subscription charged monthly to a subscription charged weekly.

New Billing PeriodPricing MechanismProrated Value
ShorterFirst payment dateBased on number of days the customer has pre-paid (i.e. amount of days at the new subscription’s price per day, which the customer receives for the amount paid at the last billing period). Can be as early as the time of switch if customer has received more days then they have pre-paid at the new rate.
Gap PaymentNone
SameFirst payment dateGap payment charged immediately, then first renewal date is the old subscription’s next payment date
Gap PaymentDays until next payment * ( New Price Per Day – Old Price Per Day )
LongerFirst payment dateGap payment charged immediately, then first renewal date is the old subscription’s next payment date
Gap PaymentDays until next payment * ( New Price Per Day – Old Price Per Day )

Changing the first payment date:

It is important to change the first payment date date when upgrading to a subscription with a shorter billing period for two reasons. It:

  • moves the subscriber to the shorter billing period as soon as possible; and
  • prevents charging unnecessary, and potentially unreasonable gap payments.

For example, consider a customer switching from a $200 per year subscription to a $35 per month subscription with 7 months remaining. Without changing the date, this would require a $245 gap payment, and the new subscription wouldn’t renew for 7 months. Changing the first payment date eliminates the gap payment and allows the subscription to renew monthly, starting one month after the switch date.

As a note, Subscriptions handles this change and not something the Store Owner needs to do.

Subscription upgrade example:

A customer subscribes to a $10 per month subscription with your site on 2nd September. Twelve (12) days later, she wants to upgrade the subscription.

They first consider switching to a weekly subscription that costs $7 per week. Notice that although the recurring amount for the new subscription is lower than that of the current subscription, the price per day is more expensive – $1 per day for the new subscription vs. $0.33 per day for the current subscription.

The new subscription’s shorter billing period (one week vs. one month) eliminates the need for a gap payment, but requires changing the first payment date.

The customer’s 12-day use of the old subscription equates to $12 worth of value at the new subscription’s daily rate. This exhausts the $10 initial payment for the original subscription, triggering an immediate first payment at checkout. The system then schedules the next renewal payment for 1 week later.

After completing steps 1 and 2 of the switch process, the image below displays the order totals for the customer at checkout:

Before completing the switch, the customer decides she doesn’t actually want to pay weekly, so returns to the product’s page and chooses instead to upgrade to a $15 per month subscription.

The new subscription’s matching billing period eliminates the need to change the first payment date, but requires a gap payment.

18 days separate September 14th, when the customer considers switching, and October 2nd, when the first recurring payment occurs. As a result, the gap payment is the difference between the price per day of the current subscription and the new subscription multiplied by 18. The new subscription’s price per day is $0.50 and the current subscription’s price per day is $0.33, or more precisely $0.333333333333. Therefore, the gap payment is $3.00 (after being rounded to two decimal places).

$3.00 = ( $0.50 - $0.33 ) * 18

When the customer arrives at checkout, they are presented with totals similar to the image below.

Subscription Upgrade Order Totals, with Gap Payment, on Checkout

How can I change the upgrade, downgrade or cross-grade text displayed to the customer during a switch?

↑ Back to top

When switching a subscription, the cart displays an explanation of the switch type next to the item subtotal. For example, switching to a subscription with a higher price per day shows (Upgrade) next to the cart item’s subtotal.

To change this text, either to remove it completely or make it display something else, you can use the free Say What plugin.

Subscription Switch Classification in Cart Subtotal

Questions and Support

↑ Back to top

Something missing from this documentation? Do you still have questions and need assistance?

  • Have a question about a specific extension or theme you’d like to purchase? Click here.
  • Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown.
Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.