How Do I Automate WooCommerce Subscription Renewal Reminder Emails?
WooCommerce Subscriptions does not send renewal reminder emails by default. You need a plugin to build that sequence, and Krom Automation is one concrete way to do it: the free version covers payment failed and renewal event triggers, while the Pro plan adds the schedule trigger and visual email builder you need for a full multi-step dunning sequence. Most sites can cover all four sequences described here for $69 a year.
The four sequences worth automating are: a trial ending reminder sent a few days before the trial converts, a renewal reminder sent before the charge date, a payment failed dunning sequence that retries the message across several days, and a cancellation win-back email sent after a subscription is cancelled. Each one targets a different moment in the subscription lifecycle and each one recovers revenue that would otherwise be lost silently.
This guide covers the setup for all four, explains what the free plugin can and cannot do, and is honest about one real constraint: delay-based timing depends on WP-Cron, which can fire late on low-traffic sites. Browse the full feature list before deciding which plan fits your situation.
Does WooCommerce Subscriptions Send Renewal Reminder Emails by Default?
No. WooCommerce Subscriptions handles the actual renewal charge and sends a receipt after it succeeds, but it does not send a reminder before the renewal date.
It also does not send a multi-step sequence when payment fails. Those gaps are where most subscription revenue quietly disappears.
You have three options to fill those gaps: the official WooCommerce Email Reminders extension, a purpose-built plugin such as the one on WordPress.org, or a workflow automation plugin like Krom Automation. The automation route gives you the most control over timing, branching logic, and what happens after each email, without locking you into a single email template editor.
Which Krom Automation Plan Do You Actually Need?
| Sequence | Free plugin | Pro required | Why |
|---|---|---|---|
| Payment failed dunning (same-day email) | Yes | No | Order Created / Order Status triggers fire immediately on failure |
| Payment failed follow-up on day 3 and day 7 | No | Yes | Requires the delay node beyond the free delay units, or the Schedule trigger |
| Renewal reminder X days before charge | No | Yes | Requires the Schedule trigger or WooCommerce Subscriptions Pro triggers |
| Trial ending reminder | No | Yes | Requires WooCommerce Subscriptions Pro trigger from the integration |
| Cancellation win-back email | Yes | No | Subscription Cancelled trigger fires in the free plugin |
| Branded HTML email template | No | Yes | Visual email builder is a Pro exclusive feature |
The short version: the free plugin handles same-day payment failed emails and cancellation win-back. Every timed sequence that fires before an event, or that spreads a dunning sequence across multiple days, needs Pro. The full free versus Pro comparison lists every trigger and action by tier.
A payment failed email sent once, on the day of failure, recovers some revenue. A three-touch sequence sent on day one, day three and day seven recovers significantly more, and the difference between those two outcomes is a single Pro plan.
How to Set Up a Renewal Reminder Email
The WooCommerce Subscriptions integration in Krom Automation exposes subscription-specific triggers that the base WooCommerce triggers do not. The WooCommerce Subscriptions integration documentation covers the full list of available triggers, the merge tags each one exposes, and worked automation examples.
For a renewal reminder, the typical setup is:
- Open Krom Automation in your WordPress admin and create a new workflow on the canvas.
- Set the trigger to Subscription Before Renewal and configure the lead time, for example 7 days before the renewal date.
- Add a Send Email action and use merge tags to pull in the customer’s name, renewal date, renewal amount and a direct link to their account page. The merge tags documentation lists every variable available per trigger.
- Enable Run Once per Entity in workflow settings to prevent the same subscriber from receiving the email twice if the trigger fires more than once for the same renewal cycle.
- Use the workflow simulator to dry-run the sequence before activating it. The simulator executes the logic with zero side effects, so no real emails are sent during testing.
If you want a second reminder at 3 days out, duplicate the workflow and change the lead time to 3. Two separate workflows is simpler to manage than one workflow with branching on the same trigger, and execution logs stay cleaner.
How to Build a Payment Failed Dunning Sequence
Payment failed dunning is the sequence most subscription businesses underinvest in. A single email on the day of failure is a starting point, not a strategy. Industry data consistently shows that a three-touch sequence recovers between two and four times the revenue of a single email, because card failures are often temporary: a card was replaced, a limit was briefly hit, a bank flagged the charge as unusual.
Here is the sequence structure we recommend building first:
- Day 0 (immediate): A plain-text email explaining the charge failed, with a direct link to update the payment method. Keep this one short. Urgency without panic.
- Day 3: A follow-up referencing the original failure. Mention that access will be affected if payment is not updated. Include the same payment update link.
- Day 7: A final notice. Be direct. Tell the subscriber what happens next (suspension or cancellation) and give them a clear path back. A discount coupon here is optional but effective.
In Krom Automation, the trigger for day 0 is Order Status Changed filtered to a failed payment status. Days 3 and 7 use the delay and scheduling node to hold the workflow and release the next email at the right time. The conditions and branching documentation shows how to add a Yes/No check after each delay: if the customer has already updated their payment method, skip the next email rather than sending a dunning message to someone who already fixed the problem.
Sending a day-seven dunning email to a subscriber who paid on day two is not a small mistake. It is the kind of mistake that gets a cancellation instead of a renewal. The branching check costs 30 seconds to add and prevents it entirely.
How to Set Up a Trial Ending Reminder
A trial ending reminder is the highest-leverage email in any subscription business. A subscriber who is surprised by a charge after a trial often disputes it or cancels immediately. A subscriber who saw the email three days before the trial ended, understood what they were about to be charged, and had a chance to review their account, is far more likely to stay.
The setup in Krom Automation follows the same pattern as the renewal reminder: the trigger is Subscription Trial Ending from the WooCommerce Subscriptions integration, the lead time is typically 3 days, and the email uses merge tags to show the exact amount, the trial end date, and a link to manage the subscription. A second email on the final day of the trial is optional but worth testing: open rates on “your trial ends today” emails are consistently higher than on “your trial ends in 3 days” emails.
The visual email builder in Pro lets you design these emails with a block-based editor powered by Gutenberg, so the trial reminder can include a summary of what the subscriber used during the trial, a link to the pricing page, and a branded footer, all without writing a single line of HTML.
How to Build a Cancellation Win-Back Email
A cancellation win-back email is the one sequence most WooCommerce stores skip entirely, which is why it tends to work. When a subscriber cancels, the default response from WooCommerce is silence. A single email sent 24 to 48 hours after cancellation, acknowledging the cancellation and offering a concrete reason to return, such as a discount, a feature they may not have tried, or a simpler plan, recovers a measurable percentage of churned subscribers.
In Krom Automation, the trigger is Subscription Cancelled from the WooCommerce Subscriptions integration. Add a delay of 24 hours before the email action so the message does not feel like a panic response. Use the Create Coupon action before the email action to generate a unique coupon code per subscriber, inject the code into the email body via a merge tag, and set the coupon to expire in 7 days to create urgency without a permanent discount.
- Trigger: Subscription Cancelled
- Delay: 24 hours
- Action 1: Create Coupon (unique per subscriber, 7-day expiry)
- Action 2: Send Email with coupon code merge tag and a resubscribe link
- Run Once per Entity: Enabled, so a subscriber who cancels and resubscribes multiple times only receives one win-back email per cancellation event
What Merge Tags Are Available for Subscription Emails?
Merge tags are the mechanism for injecting live subscription data into email subject lines and bodies. Without them, every email is generic. With them, the email shows the subscriber’s name, the exact renewal amount, the next billing date, the subscription product name, and a direct account link, all pulled from the event data at the moment the workflow fires.
The full list of merge tags available per trigger is documented in the merge tags reference. For WooCommerce Subscriptions triggers specifically, the integration documentation lists the subscription-specific variables alongside the standard order and user variables. The most useful ones for renewal emails are the renewal amount, renewal date, subscription product name, and the customer account URL.
Why Are My Subscription Renewal Reminder Emails Not Sending?
There are three common failure modes, and they are worth checking in this order because the first two are far more common than the third.
- WP-Cron is not firing reliably. Krom Automation uses Action Scheduler for background execution, which itself depends on WP-Cron. On a low-traffic site where no visitor arrives for several hours, WP-Cron does not fire, and delayed actions queue up rather than execute. The fix is a real server cron job that hits
wp-cron.phpevery five minutes. This is a hosting configuration change, not a plugin setting. - The workflow is not active. A workflow saved as a draft does not execute. Check the workflow status in the Krom Automation canvas view and confirm the toggle shows active.
- Your transactional email is going to spam. Krom Automation’s Send Email action uses
wp_mail(), which routes through whatever mail configuration your server uses. Without SPF, DKIM and a dedicated sending domain or an SMTP plugin, these emails frequently land in spam. The plugin sends the email correctly; the delivery problem is upstream. Use an SMTP plugin such as WP Mail SMTP alongside Krom Automation.
The execution log in Krom Automation shows the status of every workflow run, including failed steps with error details. If an email action shows as failed, the log tells you why. That is the fastest diagnostic tool available, faster than checking email headers or guessing at configuration issues.
What Does This Cost Compared to Other Options?
| Option | Year 1 cost | Year 2 cost | Run limits | Lifetime plan |
|---|---|---|---|---|
| Krom Automation Pro (1 site) | $69 | $69 | None | Yes, from $199 |
| Krom Automation Pro (5 sites) | $149 | $149 | None | Yes, from $399 |
| Uncanny Automator (1 site, as of September 2026) | From $199 | From $199 | None listed | No |
| Zapier Professional (as of September 2026) | ~$240 | ~$240 | 750 tasks/month, overage charges apply | No |
The Zapier figure assumes the Professional plan billed annually and 750 tasks per month. A subscription business sending renewal reminders, payment failed emails and win-back emails across a few hundred active subscribers will hit that task limit faster than the billing page suggests.
Krom Automation has no per-execution billing at any tier. See the full pricing breakdown including what each plan covers across multiple sites.
Zapier’s task-based billing sounds reasonable until a Black Friday promotion doubles your subscriber base for two months. Krom Automation runs on your server and costs the same whether you send 500 emails or 50,000.
The One Thing Other Guides Do Not Cover: Deliverability
Every other guide on this topic ends at “turn it on.” None of them address whether the emails actually reach the inbox. Subscription reminder emails are transactional, which means they are expected and therefore unlikely to be marked as spam by recipients, but they still fail at the server level if your WordPress installation is not configured for reliable sending.
Three things to verify before your first sequence goes live:
- SPF and DKIM records must be configured for your sending domain. Your hosting provider or DNS documentation explains how. Without them, many mail servers will silently discard your emails.
- Use an SMTP plugin to route email through a dedicated sending service such as Postmark, SendGrid or Amazon SES. The default PHP mail function on most WordPress hosts has poor deliverability and no bounce handling.
- Check the execution log in Krom Automation after the first few sends. A successful log entry means the plugin dispatched the email correctly. If recipients are not seeing it, the problem is between your server and their inbox, not in the workflow itself.
If you are also sending subscription confirmation emails or syncing subscriber data to an email marketing platform, the Mailchimp integration and FluentCRM integration let you tag and segment subscribers from the same workflow that sends the renewal reminder, so your marketing list stays accurate without a separate sync step.
Also from wpRigel
Pollify is our Gutenberg-native poll and survey plugin. Polls are built as real blocks inside the editor, so there are no shortcodes to paste and no separate interface to learn. It is useful for subscription businesses that want to collect feedback from churned subscribers or run NPS surveys from existing ones.
Commandify is a command palette for the WordPress admin. Press Cmd or Ctrl plus K to jump anywhere, search anything, and run admin actions without clicking through menus. It includes real WooCommerce order, product and customer commands, which makes it genuinely useful on a subscription store where you are opening individual orders and subscriber records throughout the day.
Frequently Asked Questions
Does WooCommerce Subscriptions send any emails automatically?
It sends a receipt after a successful renewal charge and a payment failed notice on the day of failure. It does not send reminders before the renewal date, multi-step dunning sequences, trial ending notices, or cancellation win-back emails. Those require a plugin.
Can I send a reminder only to subscribers on manual renewal, not automatic renewal?
Yes. The WooCommerce Subscriptions integration in Krom Automation exposes separate triggers for manual and automatic renewal events.
Build one workflow for each and apply it only to the relevant trigger. Manual renewal subscribers need more urgency in the email copy because the charge does not happen automatically.
How many days before renewal should I send the reminder?
For annual subscriptions, 14 days and 3 days is a common cadence. For monthly subscriptions, 3 days and 1 day tends to perform better because a 14-day lead time on a monthly charge feels early and is easy to ignore. Test both and check open rates in your email sending tool.
Will the workflow fire again if a subscriber’s payment fails and then succeeds on retry?
The dunning workflow fires on the failed payment trigger. A successful retry fires a separate order status event. Enable the Run Once per Entity setting and add a branching condition after each delay to check whether the order status has changed before sending the next email.
That prevents a subscriber from receiving day-three and day-seven dunning emails after they already fixed the issue. The workflow settings documentation covers the Run Once option in detail.
Do I need WooCommerce Subscriptions itself, or does Krom Automation add subscription functionality?
You need WooCommerce Subscriptions installed and active. Krom Automation reads the events that WooCommerce Subscriptions generates and acts on them. It does not create subscription functionality itself.
Can I log subscription-related workflow executions to a spreadsheet for reporting?
Yes. Add a Google Sheets action to any workflow and it will write a row on each execution.
The Google Sheets integration documentation covers the setup. This is useful for tracking how many dunning emails were sent in a given month and cross-referencing with recovery rates in your subscription platform.
The Verdict
If your WooCommerce subscription store is not sending renewal reminders, trial ending notices or a payment failed sequence, you are losing revenue every month to problems that are entirely fixable. The free version of Krom Automation handles the cancellation win-back sequence today. A Pro plan at $69 a year unlocks the timing and email builder features that make the full four-sequence setup possible.
Start with the free plugin to get the cancellation win-back live and verify that WP-Cron is firing reliably on your host. Then upgrade to Pro for the scheduled renewal reminder and the multi-step dunning sequence.
Download the free plugin from the WordPress.org plugin directory and build the first workflow before the end of the day. Compare plans and pricing when you are ready to add the full sequence.