---
title: How to Send Delayed and Scheduled Emails
description: "Send WooCommerce emails after a delay: set the delay, choose the scheduler, and view or cancel scheduled emails."
url: "https://wpfactory.com/docs/send-delayed-scheduled-emails/"
updated: "2026-09-27"
category: How to
---

# How to Send Delayed and Scheduled Emails

[Additional Custom Emails & Recipients for WooCommerce](https://wpfactory.com/item/custom-emails-for-woocommerce/) can hold a custom email for a set amount of time after its trigger fires, instead of sending it immediately. This is how you build follow-ups such as a review request three days after an order is completed, or a reminder one week after purchase.

### Set a delay

Open the email under **WooCommerce > Settings > Emails** and find the **Triggers** section. Two fields control timing:

| Label | Option ID | Default | Notes |
| --- | --- | --- | --- |
| Delay | `delay` | `0` | How long to wait. `0` means send immediately. Decimals are allowed (step 0.01). |
| Delay unit | `delay_unit` | seconds | seconds, minutes, hours, days, or weeks. |

The wait is measured from the moment the trigger fires. For example, Delay `3` with unit **days** schedules the email for three days after the order reaches the trigger status.

These fields are part of the standard email set: delayed and scheduled sending is available on the single email in the free version as well as on every email in Pro.

### Choose the scheduler

Delayed emails are queued by a scheduler. Pick which one under **WPFactory > Custom Emails > General** (also reachable at **WooCommerce > Settings > Custom Emails > General**), in Advanced Options:

| Label | Option ID | Choices | Default |
| --- | --- | --- | --- |
| Scheduler | `alg_wc_custom_emails_scheduler` | WP Cron, Action Scheduler | WP Cron |

**WP Cron** is the built-in WordPress scheduler and needs no extra setup. **Action Scheduler** is the queue that ships with WooCommerce; choose it if you already rely on it or run a real system cron. Both send at the scheduled time; Action Scheduler tends to be more reliable on high-traffic stores.

### View and cancel scheduled emails

Every pending delayed email is listed under **WPFactory > Custom Emails > Scheduled** (also reachable at **WooCommerce > Settings > Custom Emails > Scheduled**). The table shows the email title, the scheduled date and time in your site's local time, and the Object ID (usually the order ID). A trash icon at the end of each row cancels that individual scheduled send.

![Scheduled tab listing pending delayed emails with cancel buttons](https://wpfactory.com/wp-content/uploads/Scheduled-Emails.png)

The list reads from whichever scheduler is active, so both WP Cron and Action Scheduler entries appear here. Use the "Refresh list" link to update it.

### Stop a delayed email from firing after the order moves on

A common need with delayed emails: you scheduled a "thanks for your order" email for three days after Processing, but the order was cancelled or refunded in the meantime. Use the **Require order status** and **Exclude order status** fields in the email's **Order Options** section to guard against this. Their descriptions say it plainly: they are "developed to use with the scheduled emails (Delay option) to ensure order status has not changed."

- **Require order status**: the email is sent only if the order still has one of the chosen statuses when the delay elapses. Set it to Processing (and Completed) so a cancelled order is skipped.
- **Exclude order status**: the email is skipped if the order has moved into one of the chosen statuses, for example Cancelled or Refunded.

### Notes and limits

- Manual sends (from the order screen) ignore the delay and go out immediately, because you asked for them explicitly.
- The delay is stored in seconds internally (Delay multiplied by the unit), so mixing decimals and units is fine: `1.5` hours works.
- Scheduled emails survive as queued events; if you change the email content before it sends, the new content is used at send time.

### Build your follow-up sequence

With unlimited custom emails in [Additional Custom Emails & Recipients for WooCommerce](https://wpfactory.com/item/custom-emails-for-woocommerce/) Pro, you can chain several delayed emails off the same trigger to create a full post-purchase sequence. [Get Pro](https://wpfactory.com/item/custom-emails-for-woocommerce/) to remove the one-email limit.

Related articles

- [Send a Custom Email from the Order Screen](https://wpfactory.com/docs/send-custom-email-from-order-screen/)
- [Order Targeting: Send Custom Emails Only for Certain Orders](https://wpfactory.com/docs/advanced-admin-order/)
- [Custom Email Sends Too Early or at the Wrong Time](https://wpfactory.com/docs/custom-email-sent-at-wrong-time/)
- [General Options and the Scheduled Emails List](https://wpfactory.com/docs/scheduled-general-options/)
- [Override a Default WooCommerce Email](https://wpfactory.com/docs/override-default-woocommerce-email/)
