Feature
Eight transactional emails. Themeable like any WooCommerce email.
Cancellation, on-hold, expired, expiry warning, reminder, reactivation, pause, renewal invoice — all native WooCommerce email types. Override templates from your theme, customise per-store, translate per-language. No external service.
The eight emails
One per lifecycle event. All under WooCommerce → Settings → Emails.
| Sent when | Recipient | |
|---|---|---|
| Renewal invoice | Right after a successful renewal charge. | Customer |
| Reminder before renewal | N days before the next renewal date (N configurable in settings). | Customer |
| Plan going to expire | N days before subscription expiry (configurable). | Customer |
| Expired subscription | When a subscription reaches its end-of-term and expires. | Customer |
| Cancel subscription | When the subscription is cancelled (by the customer, by you, or by a failed retry chain). | Customer |
| Pause subscription | When the customer pauses their subscription. | Customer |
| Reactivate subscription | When a paused or on-hold subscription becomes active again. | Customer |
| On-hold subscription | When a subscription moves to on-hold (e.g. after a failed payment, before retries run out). | Merchant |
How to customise
Three levels of customisation, all built-in.
The plugin emails are real WooCommerce emails — they extend WC_Email and live under WooCommerce → Settings → Emails like any other transactional email.
- Subject + heading. Edit inline in the WooCommerce email settings screen. Use placeholders like
{site_title},{subscription_id}. - Template override. Copy the email template from
wp-content/plugins/advanced-subscriptions-for-woocommerce/emails/templates/(or/includes/loader/emails/templates/) intoyour-theme/woocommerce/emails/. The override loads automatically. - Hook customisation. Filter the recipients list per role, change the email body programmatically, suppress a specific email for a customer segment. All via the 236 documented hooks.
Renewal invoiceadvanced subscriptionsEnabled
Reminder before renewaladvanced subscriptionsEnabled
Plan going to expireadvanced subscriptionsEnabled
Cancel subscriptionadvanced subscriptionsEnabled
On-hold subscriptionadvanced subscriptions · to merchantEnabled
Why eight, not fewer
A different event deserves a different email.
Lumping "your subscription state changed" into one generic email is the lazy path. We split them because each event triggers a different customer reaction:
- Renewal invoice is the most-read of the eight. Make sure it matches your brand.
- Reminder before renewal reduces "I forgot I subscribed" chargebacks — and bumps recovery from expired cards.
- Plan going to expire is the saving anchor for fixed-term subscriptions (annual memberships, course access). Time-boxed renewal CTA.
- On-hold for the merchant is the one that lets you intervene before a churn — alert in your inbox, not silent in the admin.
Each of the eight has its own subject, heading, recipient list and template. You don't need to fork the plugin to change any of them.