With WooCommerce active, a flow can make a coupon that only one customer can use, move an order to a new status, and start for customers who have not ordered for a while. These are part of Hive Mail Pro (Requirements and installation). The steps and the trigger show only while WooCommerce is active. For the basics of flows, see Automation basics.
Step: Make a WooCommerce coupon #
The step makes a coupon for the person the flow is about, so the next email can give them their own code. In the flow canvas, add Make a WooCommerce coupon from the palette group Actions, then put an email after it.
| Setting | What it does | Default |
|---|---|---|
| The coupon takes off | A percentage of the order or A fixed amount from the order | A percentage |
| Amount (a percentage, or money in the shop's currency) | How much it takes off, 1 or more (a percentage is at most 100) | 10 |
| Days it can be used | From the moment the step runs, 1 to 365 | 14 |
| Only for orders of at least (0 = any) | A minimum order | 0 |
| Start of the code (letters and digits) | The code is this start, a dash and eight letters and digits that cannot be guessed, such as THANKS-K7M2QX9P (up to 12 characters, capitals) |
THANKS |
| Cannot be combined with other coupons | Blocks use with other coupons | On |
The coupon is a normal WooCommerce coupon. You will find it under WooCommerce's coupons, and it behaves like any other. Only the customer's email address can use it, and only once, until the day it expires.
In the email that follows, use these merge tags (Merge tags and fallbacks):
| Tag | Shows |
|---|---|
{{coupon_code}} |
The code made for this person |
{{coupon_amount}} |
What it takes off, such as 15% |
{{coupon_expires}} |
The last day it can be used |
If the coupon cannot be made (WooCommerce is not active, the person has no email address, or WooCommerce cannot save it), the run ends at this step and the log says why, so an email that promises a code never goes out without one. A test run makes no coupon.
Step: Set the WooCommerce order's status #
The step moves the order that started the flow. The flow must start from a WooCommerce order trigger (for example WooCommerce: an order is processing).
| Setting | What it does | Default |
|---|---|---|
| Move the order to | Completed, Processing or On hold | Completed |
| Order note (optional, only you see it) | Added to the order when it moves | Empty |
It changes only an order that is still open: pending payment, on hold or processing. A cancelled, refunded, failed, completed or deleted order is left alone, and so is an order that already has the status. It never cancels, refunds or deletes an order. WooCommerce sends its own emails for the new status. The run log says what happened, and the flow carries on. A test run changes nothing.
Warning: This step changes your shop's own orders. Try it on one order first.
Trigger: a customer has not ordered for a while #
This is the win-back trigger. Choose WooCommerce: a customer has not ordered for a while. If Easy Digital Downloads is active, Easy Digital Downloads: a customer has not bought for a while works the same way.
| Setting | What it does | Default |
|---|---|---|
| Days since their last order | 7 to 730 | 90 |
| Only customers with at least this many orders | Leaves out one-time buyers if you want | 1 |
| Only customers who spent at least (0 = any) | A minimum total spent | Any |
| Add customers who are not contacts yet | Makes a transactional contact; marketing emails never reach them | On |
Hive Mail checks once a day, using its own customer list (Commerce > WooCommerce > Customers, see WooCommerce with Hive Mail). A customer starts the flow on the day their last order becomes that old. Customers who lapsed more than 30 days before that day are left out, so switching the flow on never reaches people who stopped ordering long ago. A customer who orders again drops out. Each customer starts once per last order: someone who comes back and lapses again later starts it again.
In its emails the trigger offers {{last_order_date}}, {{orders_count}} and {{total_spent}}. A win-back email is marketing, so it reaches only people who gave permission.
More merge tags #
{{product_name}} is the first product of the order that started the flow (a variation shows its parent product's name), and {{product_names}} lists all of them, such as "A, B and C". You can add a fallback, for example {{product_name|your purchase}}.
Ready-made automations and emails #
Under Automation > Automation recipes, four recipes for WooCommerce, each a Draft until you switch it on (Automation recipes):
| Recipe | What it does |
|---|---|
| Order follow-up: how to get the most from it (WooCommerce) | Five days after an order is completed, three short steps with the product's name. Once per order |
| Big order: a thank-you with a coupon (WooCommerce) | A day after an order of at least 200 is paid, a thank-you with a coupon made for that customer: 15% off, valid 30 days. Once per customer. Change the amounts in the first step and the coupon step |
| Win-back: customers who have not ordered for 90 days (WooCommerce) | A "we miss you" with no offer; a week later, if they have not ordered, a second note with a coupon made for them (10% off, 14 days) |
| Mark paid orders completed after 14 days (WooCommerce) | Fourteen days after an order is paid, if it is still Processing, moves it to Completed with a note. Sends no email of its own |
The four emails are starters in the template picker: Product follow-up: how to get the most from it, Thank you, with a coupon for next time, Win-back: we miss you and Win-back: a coupon to come back. They show only where WooCommerce is active. Replace the sample text before you switch a recipe on (Starter designs and seasonal recipes).