How to charge recurring payments with WooCommerce
Recurring payments systems allow you to charge your customers at a set time period, usually monthly or annually. In this article we will show you how to setup and and accept recurring payments with WooCommerce.
One of the main benefits of charging recurring payments is that it creates reliable cash flow for your business and make it easier for customers to pay their bills in an automated way.
There are many ways to sell subscription packages on your WooCommerce site. Whether you want to use PayPal, Stripe, or other payment processors, you should be able to do it with the WooCommerce Subscriptions plugin. Beyond the technical details of handling WooCommerce subscription payments, there are some business aspects that you might need to consider.
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 an important asset in our online business and that is our customers information. By having your own recurring payments system you get to know not only how much your business earns, but also everything about your customers. When using plugins such as Users Insights you understand who they are, how much they spend, where they are from etc.
Now let’s see how exactly you can use the WooCommerce Subscriptions plugin to collect your recurring fees.
How to charge 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 downloadable 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.
For this we are going to use the WooCommerce subscriptions plugin. The WooCommerce subscriptions plugin allows us to create different subscription plans, allow user upgrades, free trials, content dripping and so much more.
How to set up recurring payments products with 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:
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.
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.
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.
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.
For some business models it make sense for customers to have multiple product subscriptions with the same business while other have the approach where every subscription plan is upgrade on the previous plan. The subscription count filter can help us figure out which of our customers have subscribed to more than one plan:
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.
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 get some valuable insights. You can send not just email reminders, but upgrade offers or other important information to keep them engaged.
For more flexibility and advanced filtering 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)
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.
You can also combine multiple of the “Has a subscription” filter options to get even more specifically targeted results. Here is an example of all the customers who have subscribed to a particular plan in the specific time range and currently have active status:
You can also combine the subscriptions data with metrics such as user location, job title, or even your own custom customer data, 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:
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.