How to Change Prices in Active WooCommerce Subscriptions

Your business is finally at the place where you have a few hundred or a few thousand active subscriptions. You are now able to forecast renewals month to month and work on reducing churn with those active subscribers. After celebrating your hard work and success there are some housekeeping tasks that arise with a large group of active subscribers.

One challenge you will face is how to change prices in these active WooCommerce Subscriptions. Your product might be a subscription box and the cost of goods sold is increasing. Current subscribers will still be on the old pricing and need to be updated.

Communicate price changes to customers

A very important first step is to update customers well before a price change so they are not surprised. Communicate via email a few weeks before. Send customers the current pricing, the new pricing, and the reason for the update. Most customers will understand a reasonable increase in costs especially if they love your products. 

You can also reward existing subscribers for being customers by grandfathering them into pricing for a limited time. Existing customers can be delayed on the price increase for a few months.

Three ways to change prices in active WooCommerce subscriptions.

Three ways to change prices in active WooCommerce subscriptions

Once you have decided on the price change and communicated the change to your customers how do you go about updating the prices?  Below are three ways you could approach these changes.

1. Edit Each Individual Subscription

When a renewal happens the subscription is copied to the renewal order and if payment is due the payment method is charged. This means that the price of the products in the subscription will remain the same from time of purchase if not modified.  Prices will not automatically update if the original product price is changed. 

An option for shops with a smaller number of subscriptions is to manually edit each individual subscription and edit the price on the products. That way when the next renewal happens the updated price is used. This is also a good option to test a small number of price increases to make sure everything works as expected with the renewals.

2. Add a plugin

There is a plugin available on WooCommerce.com called Bulk Updater for Subscriptions that claims it gives store owners the ability to change subscription prices. 

This might be a good option for store owners who do not have a developer to assist them with updating subscription prices.

We have not reviewed the functionality of this plugin so can not say if it works as advertised or not. If we review the plugin we will update the post!

3. Write a custom script

An option for WooCommerce shops with more subscriptions is to write a custom script, or a piece of code, that will adjust the price of each product inside of active subscriptions. This step requires a developer who understands WooCommerce Subscriptions to write the code.

The benefit of running a custom script is that the script can be written to update only specific products, specific customers, or even specific cohorts of customers.

Maybe the only subscriptions that need to be updated are customers who purchased using a coupon code during a two month period. A reporting tool like Metorik can be used to pull the subscription IDs for very precise segments of the whole subscriber base. The list of IDs can then be used as input to a custom updating script. 

Grow Development has worked on a few of these projects where our customers had several hundred thousand active subscriptions that needed price adjustments. Writing a custom script gives store owners the peace of mind knowing their active subscriptions will be updated exactly to their specifications

Have more questions? We’d love to hear from you. 

If you still have questions on the best way to update prices in subscriptions please get in touch! We love helping WooCommerce store owners understand their options when managing their store.

Start Your Project

"*" indicates required fields

This field is for validation purposes and should be left unchanged.