In this post, learn how to bulk update subscriptions to a new price, product, etc.
You may need to do this if you are using WooCommerce Subscriptions and need to update many subscriptions to a new price, new product, etc.
For example, you recently updated your Light Roast Coffee product from $9 to $12. Customers who subscribed to the Light Roast Coffee still pay $9 even though the price increased to $12. You would need to manually edit all subscriptions that include the Light Roast Coffee product and update the line item from $9 to $12. Or, you could use a handy plugin such as AutomateWoo to do all the heavy lifting!
I will show you how to do this, using AutomateWoo.
If you are more of a visual learner, feel free to watch my tutorial videos on how to do this.
Let’s say that we have an online store that sells coffee both as a one-time purchase and as a subscription, and we want to increase the subscription price from $9 to $12. While editing the price of your subscription product in WooCommerce is a pretty straight-forward process, doing this won’t update the price of your existing subscriptions, nor will it notify your subscribers of the new price.
To do this, we’ll need AutomateWoo.
1. Install and setup AutomateWoo
The first thing that you need to do is purchase and download AutomateWoo. Afterward, you install it by first clicking Plugins from the WordPress Dashboard. Then, click Add New before clicking Upload Plugin. Finally, click Choose File and select the file that you previously downloaded.
You must further activate the plugin on the Plugins page. I also suggest that you go to AutomateWoo > Settings > General and do the following:
- Set Customer opt-in mode to Opt-out.
- Turn Enable session tracking off.
- Turn Automatically delete expired coupons off.
2. Manually Update a Test Subscriber
Whenever you are updating multiple records in WooCommerce (especially customer records), it’s always a good idea to back up your data. It’s also a good idea to test out the update on a single test record before performing the update on your actual customers.
So the next thing we will do is use AutomateWoo to manually update the subscription price of a test subscriber. To do this, create a workflow by going to AutomateWoo > Workflow and clicking Add Workflow.
First, on the Add New Workflow page, we’ll name our workflow Bulk Update Price: Light Roast. We’ll also set the Type to Manual, the Data Type to Subscription, and we’ll turn on Is transactional:
Next, we’ll add a rule that will only update subscriptions that include Light Roast coffee (which is the product that our test subscriber gets.) To do this, in the Rules section, click +Add Rule Group and then add the following rule: Subscription – Items > includes > Light Roast (simply type the first few characters of the product into the box below):
We’ll also add a rule to limit the update to our test subscription, by specifying Customer – Email > is > [Test Email Address]:
Now we’ll add an action that will change the subscription price of our test subscriber to $12. To do this, in the Actions section, click +Add Action and do the following:
- Set the Action to Update Product.
- Set the Product to Light Roast.
- Set Custom Product Price to 12.
Finally, click Save.
Note: You could further add a second action that will send an email to the customer, notifying them of the price change, which we will do in a later step.
Now, we will run our manual workflow by clicking Run.
Note: Always remember to back up your data before performing automated updates to it.
Next, on the Manual Runner page, click Find Matching Items:
AutomateWoo will then find the matching subscription record and we’ll click Run workflow for 1 subscriptions:
Running the workflow can take a few minutes. We can view the status of it by going to AutomateWoo > Queue or by clicking View in queue:
The Queue page will then display and we’ll see the status of the workflow that we just started:
Periodically, refresh this page until the workflow has been completed:
You can also look at the AutomateWoo logs by going to AutomateWoo > Logs, where you’ll see that our workflow has ran:
Finally, if we edit our test subscriber, we will see that the price has been updated to $12 and that the tax has been appropriately recalculated:
3. Manually Update Subscriptions
Now that we have successfully completed our test update, we can bulk update the rest of our subscribers. We can do this either manually or automatically. First, we’ll update all our light- and medium-roast subscribers manually.
To do this, edit the workflow by going to AutomateWoo > Workflows and clicking Edit underneath the workflow that we just created:
Next, remove the rule that limits the workflow only to our test subscriber by clicking the – button next to it:
Then, add the following rule: Subscription – Items > includes > Medium Roast:
We’ll also add a second action that will change the subscription price of our medium-roast product to $12:
Next, click Save, and like before, click Run.
Also like before, click Find Matching Items on the Manual Runner page:
Unlike before, however, we will see a set of subscription records that the workflow will update:
You can view any of these records by clicking on them, and when you are ready to proceed, click Run workflow for [X] subscriptions.
Note: Depending on your business, it is possible that you will have hundreds or even thousands of subscription records to update. But you can always pare down the list by adding another rule, such as limiting the update to subscription records that were created more than 120 days ago.
Like before, after we run our workflow, we can view our queue by going to AutomateWoo > Queue or by clicking View in queue:
Also like before, we will periodically refresh this page until the workflow has been completed:
The 4 subscription records will then display in our logs:
We can further view each log by clicking the eye button to the right of each subscription:
A log will display, which will include a link to the subscription that we just updated:
By clicking on the subscription, we can see that the prices of our light- and medium-roast products have been updated to $12:
However, we still need to update the price of our dark-roast product, which we will do using an automatic update in the next step.
4. Automatically Update Subscriptions
While you will often want to bulk update your subscription records manually, there may be times when you want an event to trigger the bulk update automatically. To do this, we will create a new workflow that will update the price of our store’s dark-roast coffee after the product next renews. The workflow will also send the customer an email notification of the change.
First, create a workflow by going to AutomateWoo > Workflow and clicking Add Workflow. Then, on the Add New Workflow page, do the following:
- Name the workflow Bulk Update Light Roast + Notify Customer.
- Leave the Type as Automatic.
- Select Subscription Renewal Payment Complete from the Trigger dropdown.
- Enter Dark Roast in Subscription products.
Note: You can also trigger the update (and the email) before the subscription renews by setting the Trigger to Subscription Before Renewal.
Next, we’ll add a rule that will only update subscriptions that include dark-roast coffee:
We will then add an action that updates the subscription price of our dark-roast coffee to $12:
We will also add a second action that will send the customer an email notification of the price change. Here we will set the following:
- Action to Send Email
- To to customer.email
- Email subject to Notice: Upcoming Price Change to your Subscription with Charlies Coffee
- Email heading to Upcoming Price Change to your Subscription
We will further place the body of the email in Email content:
Finally, click Save.
To test our workflow, we will process a renewal on a dark-roast subscription. To do this, first we’ll edit a dark-roast subscription order and then select Process renewal from the Subscription actions dropdown box and click Update:
If we then look at the order, we will see that the price of the dark roast is still $9:
But we’ve also received an email notifying us of the upcoming price change:
We can further go back to our logs and see the update to our dark-roast subscriber:
If we then view the log, we can view, too, the corresponding subscription by clicking on it:
We can now see that our subscription price has been updated to $12:
Note: The workflow automatically updates sales taxes as well. But if you need to manually recalculate them, you can create an action in your workflow to do this.
How to Bulk Update Subscriptions to a New Price?
How to Bulk Update Subscriptions to a Different Product SKU?
Can AutomateWoo bulk update existing subscribers to a different Product (SKU)? Long story short, we changed the way we are delivering our products/subscriptions and created a new SKU to do this and we want to delete the old SKUs but can’t while there are active subscribers linked to them.
AutomateWoo is great at automating a wide range of tedious processes in WooCommerce. Editing your WooCommerce Subscriptions in bulk is a perfect example of how useful this plugin is.
3 thoughts on “How to Bulk Update Subscriptions in WooCommerce?”
Hi, thanks for this awesome guide!
i am running a store with products that are also available for subscriptions
is it possible to have a workflow to update all existing subscriptions from old price to new price, whenever a product price is changing, and also send an email?
Yes this is possible. You just would create a workflow that has 2 actions (update subscription prices of the product, send email to customers explaining the change). If you view the video included in the tutorial above you can see how to do this. Let me know if this helps!
Thank you for your examples. I’ve a slightly different question if you had the time to answer?
We are a Meal Prep company. We use WC Subscriptions to allow our customers to repeat order from us. We are currently revamping our site and the way our customers create their orders.
One of these improvements is to change out old menu items that have been on some subscriptions for years!
I’ve read your examples above and i can see i can firstly remove a product (old product) and add a product (the new product) in bulk to all subscriptions BUT i can’t seem to find out where i can leave the ‘Quantity’ field alone – ie say if a subscription has 3 of the old product – we’d want to leave this quantity alone – and simple swap with the new product for the same quantity.
I get from the above article that it’s showing me how separately add a product and separately remove a product – but the workflow i need is an operation on the same product – ie almost an ‘Update’ of an old product to a new one?
Any help you give me here is very important – as we need to get rid of all our old products on and replace them with new ones on all user subscriptions
Thank you for your help!