Hulo Global home
For WordPress WordPress edition: for any WordPress site, WooCommerce optional. Also available for Vendure: Email Tracking for Vendure
For WordPress

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 WordPress

Pro, lifetime

£139

One payment for one store, including updates.

Buy lifetime licence for Email Tracking Pro for WordPress

Prices 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

  1. Install "HULO Email Tracking" from Plugins → Add New, or upload the zip, and activate it.
  2. Go to HULO → Email Tracking. Every e-mail sent from now on appears in the log.
  3. 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.