How to send a coupon to customers with expired subscriptions

Many stores often have cause to communicate with expired subscribers.  Notifying consumers about promotional pricing is a proven way to encourage customers to resubscribe.  

This article summarizes how this can be done utilizing the Subscription – Status Changed trigger.  For this example, we will be sending a coupon to customers who have a subscription that has been expired for 30 days.  


Create a coupon

Before we can construct the workflow, you will need to create a coupon to offer your customers. You have two options:

Option 1: You can create and configure a standard coupon to use for all your customers. This document provides more information about how to create coupons with WooCommerce Subscriptions.

Option 2: You can create individual coupons for each of your customers by following the personalized coupons guide.

For the purposes of this example, we will be using Option 2.

Coupon option 2 details

Workflow setup

Workflow overview
Workflow overview

Step 1: Create a new workflow that uses the Subscription – Status Changed trigger.

Step 2: In the field Status changes to enter Expired. This will trigger this workflow if any subscription gets its status changed to Expired.

Step 4: Check Recheck status before run. Checking this option will ensure that the status of the subscription has not changed between when the workflow was triggered and when the workflow gets processed.

Trigger settings
Trigger settings

Step 5: Set and configure the rules you feel are appropriate. In our example, we are using the rule Customer – Has Active Subscription is No. This will target customers who do not have any active subscriptions.

Step 6: Click Add Action and select Send Email. Populate the required fields.

Step 7: Craft the content of the email. Include the individualized coupon by including the {{ customer.generate_coupon }} variable.

Step 8: Click the Preview link to preview your email to ensure it is correct.

Step 9: Use the Timing panel to set a delay. For this example, we’re setting our workflow to 30 days.

Without this delay, this workflow would run immediately after the subscription expired, which may not be desirable since we will be offering them a discount. Setting a delay will give customers time to renew their subscription on their own. Then, in the event that they do not renew it, we will provide the discount to encourage them to resubscribe.