Email Tracking for WordPress
Log every e-mail your WordPress site sends, catch bounces and complaints, and keep a suppression list. Works with WooCommerce too.
Install on WordPress: download the zip and upload it under Plugins → Add New → Upload Plugin. Once the free plugin is listed on WordPress.org you will also be able to install it from there.
Requires WordPress 6.5+ and PHP 8.1+. Works on any WordPress site; WooCommerce is optional and switches on the shop features.
Free plugin
What the free plugin does
HULO Email Tracking keeps a record of every e-mail your WordPress site sends through wp_mail(): password resets, new-account e-mails, contact-form notifications, plugin e-mails, everything.
Works on any WordPress site. With WooCommerce it also names each WooCommerce e-mail (new order, processing, completed, refunded, invoices…), links it to its order and customer, and adds an "E-mails sent" box to the order screen (HPOS and legacy order storage). With HULO Payments it links receipts and payment e-mails to the payment.
What the free plugin does
- E-mail log. Date, e-mail type, recipient, subject, delivery status and what it was about, with filters by status, type, recipient, customer, order/payment and date.
- Delivery status. Failed sends are marked with the mail error. Every message gets its own Message-ID so your mail provider's reports can be matched to it.
- Bounce and complaint webhook. Point your mail provider at the signed webhook (HMAC-SHA256, rate limited). Hard bounces and complaints mark the e-mail and add the address to the suppression list; soft bounces are recorded without suppressing anyone.
- Suppression list. See, search, add and remove addresses.
- Dashboard widget with the last seven days.
- Retention. The log is pruned daily in small batches (365 days by default, optional row cap), through Action Scheduler when available and WP-Cron otherwise.
- Privacy tools. Works with WordPress's Export and Erase Personal Data tools and suggests text for your privacy policy.
- Safe public endpoints. Tracking links are signed together with their destination, so they cannot be used as an open redirect; an optional host allowlist adds a second check. Network addresses are only ever stored as a salted one-way hash.
The plugin sends nothing anywhere: no account, no external service, no data leaves your site.
HULO Email Tracking Pro
The Pro add-on adds:
- Open tracking (a 1×1 image) and click tracking (signed redirect links) in HTML e-mails, with a per-e-mail history of opens and clicks: e-mail program, country, bot and prefetch detection, never the raw IP address. Unsubscribe and opt-out links are never rewritten.
- Open rate, click rate and click-to-open rate per e-mail type.
- CSV export of the filtered log.
- Sending that skips addresses on the suppression list (password-reset e-mails always go out).
- A weekly report e-mail and a setup checklist.
Try Pro free for 14 days, no card.
Pro add-on
Email Tracking Pro
Needs the free HULO Email Tracking plugin. Works on any WordPress site, with or without WooCommerce. Pro adds:
- Open tracking: a 1×1 image in HTML e-mails. Click tracking: every link becomes a redirect through your own site, signed together with its destination (never an open redirect). Unsubscribe and opt-out links are never rewritten; plain-text e-mails are never modified.
- History per e-mail: up to 50 opens and 50 clicks with e-mail program, platform, country (WooCommerce geolocation when active, otherwise your CDN's country header; no external lookup) and bot/prefetch flag. Network addresses are stored only as a salted hash; secrets in clicked links (reset keys, tokens) are redacted.
- By e-mail type: sent, opened, open rate, clicked, click rate, click-to-open, bounced, failed and suppressed for each e-mail type (WordPress, WooCommerce when active, HULO Payments when active).
- CSV export of the filtered log (formula-safe cells).
- Suppression list enforcement: e-mails to suppressed addresses are not sent and are logged as "suppressed". Password-reset e-mails always go out.
- Weekly report every Monday and a setup checklist.
Every install starts with a 14-day evaluation with everything on and no card. Subscribe from the plugin page; the licence installs itself. If the licence lapses, the Pro features pause and all data and settings are kept.
Pricing
Free, then Pro when you want it
Free plugin
£0
Free forever, GPL-licensed.
Pro, monthly or annual
£6.95/month
The first 14 days are free with no card. Subscribe from the plugin page when you're ready; the first charge is taken when the 14 days end. Annual billing gets two months free. Cancel any time.
Subscribe to Email Tracking Pro for WordPressPro, lifetime
£139
One payment for one store, including updates.
Buy lifetime licence for Email Tracking Pro for WordPressPrices follow the currency picker at the top of the page; the checkout bills in GBP, USD, EUR, AUD and CAD. One licence covers one WordPress site.
Install
Installation
- Install "HULO Email Tracking" from Plugins → Add New, or upload the zip, and activate it.
- Go to HULO → Email Tracking. Every e-mail sent from now on appears in the log.
- Optional: in Settings, set a bounce webhook secret and give your mail provider the webhook address shown there.
For Pro, upload hulo-email-tracking-pro-0.1.0.zip the same way (Plugins → Add New → Upload Plugin) with the free plugin active. The 14 days start automatically, and Pro updates itself from WordPress's Plugins screen.
FAQ
Frequently asked questions
Do I need WooCommerce?
No. It logs every e-mail on any WordPress site. WooCommerce only adds order and customer links and the order-screen box.
Does it work with my SMTP plugin?
Yes, as long as it sends through wp_mail(), which almost every SMTP and mail-API plugin does.
Which e-mails are labelled?
WordPress account e-mails (password reset, new account, password and address changes, core updates), every WooCommerce e-mail when WooCommerce is active, and HULO Payments e-mails when that plugin is active. Everything else is logged as "Other WordPress e-mail".
What does the bounce webhook expect?
A POST of JSON {"messageId": "…", "status": "bounced" | "complained", "bounceType": "hard" | "soft", "reason": "…"} to /wp-json/hulo-email-tracking/v1/bounce, with the HMAC-SHA256 of the raw body (hex, optionally prefixed sha256=) in the X-Signature header, keyed with the secret from the settings. Without a secret the webhook is switched off.
Is any data sent to HULO or anyone else?
No. The free plugin makes no outbound connections.
Can other plugins label their e-mails?
Yes: do_action( 'hulo_email_tracking_context', array( 'type' => 'my-email', 'to' => $address ) ); just before calling wp_mail().
Changelog
0.1.0
- First release: log of every WordPress e-mail, bounce and complaint webhook, suppression list, dashboard widget, retention, privacy export and erasure; with WooCommerce, e-mail names, order and customer links and an order-screen box; with HULO Payments, e-mails linked to payments.