
WooCommerce transactional email logging helps store teams see what happened, but the first question is still which order status transition should have sent the message. Pending, processing, completed, failed, and refunded orders do not trigger the same customer or admin emails.
Use this when customers report missing order emails, admins do not receive new order alerts, or a store sees email failures after a WooCommerce update.
Quick answer
WooCommerce Email Deliverability by Order Status should be handled with a narrow evidence-first workflow: read status timeline, check logs, confirm recipients, then verify the result before making broader changes.
What to check first
- Find the order status timeline and expected email type for that transition.
- Check WooCommerce email logs, SMTP logs, and hosting mail logs for the same timestamp.
- Confirm the email type is enabled and the recipient field is valid.
- Compare overridden email templates against current WooCommerce templates.
- Test a new order, failed payment, refund, and completed order path separately.
Diagnostic table
Use this table to keep the work practical. It connects the symptom to evidence and a verification step.
| Action | Evidence to collect | How to verify |
|---|---|---|
| Read status timeline | Find the order status timeline and expected email type for that transition. | Each order status transition sends only the expected email types. |
| Check logs | Check WooCommerce email logs, SMTP logs, and hosting mail logs for the same timestamp. | WooCommerce and SMTP logs agree on send time and delivery status. |
| Confirm recipients | Confirm the email type is enabled and the recipient field is valid. | Template overrides are current and do not throw PHP warnings. |
| Compare templates | Compare overridden email templates against current WooCommerce templates. | Refund and failed payment emails are tested separately from new order emails. |
Useful command or data shape
Adapt paths, IDs, and privacy handling to the site before running commands or storing data on production.
email_status_audit:
order_id: WC-10688
from_status: pending
to_status: processing
expected_email: customer_processing_order
woo_email_log: sent
smtp_status: accepted
template_override: current
Safe fix order
Do the work in a sequence that makes each result easy to prove. Stop if a step produces new evidence that changes the incident scope.
- Read status timeline
- Check logs
- Confirm recipients
- Compare templates
- Test paths
Production verification checklist
- Each order status transition sends only the expected email types.
- WooCommerce and SMTP logs agree on send time and delivery status.
- Template overrides are current and do not throw PHP warnings.
- Refund and failed payment emails are tested separately from new order emails.
Mistakes to avoid
- Do not judge the fix by one browser or the homepage only.
- Do not delete evidence before recording usernames, file paths, timestamps, and response headers.
- Do not add a cache, security, or tracking plugin while the original problem is still unclear.
- Do not leave test users, temporary debug logs, or broad API keys active after verification.
When HandL WP should help
Bring in help when this affects leads, checkout, search visibility, malware risk, paid media reporting, or a client production site. HandL WP can trace the issue through WordPress, hosting, cache, tracking, and Search Console, then verify the workflow after the technical fix.
If this is active on a production site, fix WooCommerce order email delivery.