How to charge recurring payments with WooCommerce

Today we’ll look into how to setup and use WooCommerce for recurring payments. From Netflix to Amazon Prime, many companies are shifting their business model towards subscription-based fees. Even if you sell products for a flat fee, recurring billing is a great way to guarantee a steady income. Often online businesses sell discounts, premium memberships, courses or even product packages via subscriptions.

But how can we do it?

There are many ways to sell subscription packages on your WooCommerce site. You can even use WooCommerce with PayPal Subscriptions or other payment processors. Beyond the technical details of handling WooCommerce subscription payments, there are some business aspects as well. The level of control you want over your implementation defines the right solution for you.

The level of control you want over your implementation defines the right solution for you.

If you want no control over the checkout process or your customer list, a premade solution would do the job. Options like PayPal Subscriptions, GumRoad, Stripe or others are going to work fine. But when we use these products we give out the most important asset in our online business: information.

Once we implement our idea using a WooCommerce recurring payments plugin we control everything. You get to know not only how much you earn, but also everything about your customers. When using plugins such as Users Insights you understand who they are, how much they spend. Additionally, you figure out where they are from, and you can cross reference data coming from other plugins.

Now let’s see how exactly you can use the WooCommerce Subscriptions plugin to collect your recurring fees.

How to collect WooCommerce recurring payments using WooCommerce Subscriptions

WooCommerce has a lot of different options when it comes to selling products. You can create physical, digital or even download products. It’s fairly easy to create different product variations, group products. You can even create external products (for example for affiliate sales).

But the beauty of WooCommerce is that it’s extremely easy to extend. Thus, even though by default WooCommerce recurring payments isn’t possible, we can do that (with the help of a plugin). Another big plus is that plugins integrate seamlessly inside of WooCommerce. Therefore, you use the same admin screen to add products, subscriptions and subscription variations.

That’s why our focus today is using the WooCommerce subscriptions plugin.

It is a great option as a WooCommerce recurring payments plugin. This settles the case on WooCommerce vs PayPal or other options for subscription products. The setup in WooCommerce is just as simple as using other products, and the added benefits are huge.

The WooCommerce subscriptions plugin allows us to create different subscription plans. It’s also possible to allow user upgrades, free trials, content dripping.

The final piece of our puzzle is Users Insights. With it, we can filter users, export them, and view their profile. Let’s see next how to set up your products and how to filter your users.

How to set up your subscription products using WooCommerce Subscriptions

Before we can create subscription plans for recurring payments we need to do some planning. Beyond the product details, it’s important to know if we’re going to have different plans or cross-selling options. Often, we have more than one plan to better suit our users’ needs. Allowing upgrades and cross-selling is a great marketing move.

Now on to the admin screen for product creation. Just select the subscription product option and a lot of fields are going to change:

WooCommerce recurring payments create product

There you’re able to set up prices, billing period, sign up fee, free trials. Additionally, it’s possible to set up your subscription as virtual and downloadable. Virtual products have no shipping details, and downloadable products have a special field for file uploads.

Subscription products virtual and downloadable

Another option we have is to create a variable subscription. For recurring orders of this type, you can create different variations based on their attributes. For instance, if you have different plans depending on the customer needs, you can create that using the “attributes” tab.

Subscriptions attributes

Then you go to Variations and create different “products” for each of your variations. In this way, customers can pick the variation that better suits their needs.

WooCommerce subscription variations

After these steps let’s set up our payment processor. This can be done under WooCommerce > Settings > Subscriptions. If you have no payment processor that allows recurring billing, we need to set up one. We can either use PayPal Standard or Stripe. Both are free and can be enabled under WooCommerce > Settings > Payments.  In order to use Stripe, you need to also use the free Stripe extension.

Filter and export your customers with Users Insights

Now you have your WooCommerce recurring payments set up. Once you are getting customers we can discover some important information about them using our filters. We just need to enable the WooCommerce Subscriptions module that comes with Users Insights. This is done under Users Insights > Modules.

First let’s gather the most basic information we need, which are our active subscribers. We can do that by using the subscription status filter in Users Insights.

Find all recurring payment customers

There’s also the subscription count filter, which can help us figure out which users have more than one plan. In case you have multiple products it’s a good way to know your most loyal customers

Even though we work hard to retain our recurring subscriptions some users may cancel. Sometimes it’s good to filter out these users and maybe check with them what’s wrong. Part of these users may have just forgotten to pay, and a few may have good feedback to share. Either way, it’s a good opportunity to win back customers or improve your services.

Inactive subscribers

In order to keep our WooCommerce recurring orders coming, we may need to plan in advance. It’s possible to check the next billing date for your customers. If we combine this information with their current subscription plan we can craft powerful sales messages. You can send not just email reminders, but upgrade offers or other important information to keep them engaged.

Upcoming payments for recurring buyers

The next payment filter may not always give us the results we want. Thus, for more flexibility we can use the “has subscription” filter. This filter looks for users within specific criteria for their subscriptions. We have 4 filter options for this, which can be combined for more powerful filters. The options are:

  • Start date (between X and Y)
  • End date (between X and Y)
  • Status
  • Product

Therefore, if you want to check users who have their subscriptions near the end, you can use this filter:

In addition, you can use this filter alone to improve our previous searches. For example, you can easily filter users who have canceled their subscriptions. But in this case, you can even filter users who have canceled specific products. This allows you to check failure rates for specific products.

Moreover, you can filter users based on their subscription start date. This allows you to analyze sign-ups for a specific period. For example, you can check the results of a marketing campaign by filtering users who signed up after it was run:

You can use other similar periods that didn’t have this campaign to fully gauge the results of your marketing efforts.

Yet, it is interesting to notice how this filter can give you better statistics. For example, if you simply filter all users subscribed to a product you are counting canceled subscriptions as well. Thus, you can filter only active members to make sure your status reflects your current user base.

You can use metrics such as user location, job title, or even company size with this filter. You just need to store these elements as custom user fields.

In addition to the regular WooCommerce subscription payments information, we can cross-check your users’ data. For instance, if you want to know how many developers from the US are subscribed to a certain plan, it’s possible to do so:

Filter subscription customers based on job title and location

Therefore, we can find out more about our customers, by checking data from other plugins. Additionally, you have at your disposal the Geolocation module information that comes with Users Insights. And in case you collect user data via custom user fields you can map them and use them in your filters as well.


Today we saw how to plan and implement WooCommerce recurring payments on your site. We went through important differences between WooCommerce and PayPal, as well as other options. By the end of the day, you should be able to create your own WooCommerce subscription payments system from the ground up. In addition, we investigated how you can filter and understand your user data with Users Insights.

We hope you enjoyed and see you again next time!