Flexa Unsubscribe
Professional email unsubscribe management with HMAC tokens, auto-appended unsubscribe links, recipient blocking, and CSV import/export.
Solid choice
Flexa Unsubscribe is a solid plugin choice in 2026, with a few things worth checking first. Was last updated 3 weeks ago, and scores 64/100 on our health check.
- Actively developed β last update 3 weeks ago
- Tested with the latest WordPress (7.1)
- Small user base (<10 active installs)
- Very few reviews so far
How does it stack up?
Side-by-side on installs, updates, ratings & supportDaily downloads
Download spikes usually follow a new release β each site that auto-updates counts as a download.
Rankings
Where Flexa Unsubscribe stands todayWordPress.org search rankings
Live position in the plugin search, top 100| Keyword | Position |
|---|---|
| >100 | |
| GDPR | >100 |
| mailing list | >100 |
| opt-out | >100 |
| unsubscribe | #47 |
About Flexa Unsubscribe
From the official readme Β· v3.2.0Description
Flexa Unsubscribe adds a complete unsubscribe workflow to every email WordPress sends, with a fully-branded admin UI for managing opt-outs, analytics, and the public unsubscribe page.
- Auto-appends a secure unsubscribe button to outgoing single-recipient emails. Tokens are HMAC-signed using the
AUTH_KEYinwp-config.php, so no database lookup is needed to verify a link. - Blocks outbound mail to unsubscribed addresses before it reaches the mail server. Blocked attempts are logged to a dedicated audit table.
- Honours an exclude-keywords list (default:
Order, Password, Invoice) so transactional mail never gets an unsubscribe link and never gets blocked. - Re-subscribe URL is supported as a first-class action – the plugin can tell opt-outs from opt-backs.
- Customisable public page – every color, font, and string on the unsubscribe/re-subscribe templates is editable from the admin with a live preview.
All screens are powered by a REST API under /wp-json/flexa-unsubscribe/v1/, so external integrations can plug in too.
Source code for compiled JavaScript and CSS
The plugin ships with minified/compiled JavaScript and CSS in assets/dist/. The human-readable source code for these assets is publicly available and maintained at:
https://github.com/flexatech/flexa-unsubscribe
Source lives in the apps/admin (admin UI) directory. Build tools used: pnpm, Vite, React, TypeScript. To build from source: clone the repository, run pnpm install in apps/admin, then pnpm build (see the repository README for exact commands). This allows the code to be reviewed, studied, and forked.
Documentation
Full user guide, technical reference, and REST API documentation are hosted at:
https://unsubscribe-doc.flexacommerce.com/
A “Documentation” link is also added to the plugin row on the Plugins screen for one-click access from inside WordPress.
External services
Your unsubscribe records, blocked-email log, and settings stay in your own WordPress database. The plugin connects to one external service, and only in the admin, for the reason below.
Deactivation feedback (Flexa Product Intelligence)
When you go to deactivate Flexa Unsubscribe on the Plugins screen, a short optional survey asks why. It is served by Flexa’s product intelligence service at https://product-intelligence.flexacommerce.com. It runs only on wp-admin/plugins.php, never on the front end, and never blocks deactivation.
What is sent, and when:
- On opening the Plugins screen: a request to
/api/v1/config(product slug and tier) to load the survey configuration. Cached for 6 hours. - When you deactivate or interact with the survey: the reason you pick and any optional message you type, sent to
/api/v1/deactivations,/api/v1/events,/api/v1/feedback,/api/v1/feature-requests,/api/v1/recovery-events.
Every request includes an anonymous per-site identifier (a random UUID), the plugin version and tier, and by default your WordPress/PHP version and locale. No email, site domain, user identity or raw IP is collected. Turn environment off with add_filter( 'flexa_unsubscribe/deactivation_survey/config', fn( $c ) => array( 'collect_environment' => false ) + $c ); and disable the whole survey with add_filter( 'flexa_unsubscribe/deactivation_survey/enabled', '__return_false' );.
Service terms and privacy policy: https://flexacommerce.com/pages/terms and https://flexacommerce.com/pages/privacy
Installation
- Upload the plugin files to
/wp-content/plugins/flexa-unsubscribe, or install through the WordPress Plugins screen. - Activate the plugin through the Plugins screen.
- On activation the plugin provisions three database tables:
{prefix}flexa_unsubscribes,{prefix}flexa_blocked_emails,{prefix}flexa_unsubscribe_reasons(the last seeded with three default reasons). - Visit Unsubscribe in the admin sidebar to configure.
Frequently asked questions
Do I need to change anything in my existing email sending code?
No. The plugin hooks wp_mail with standard WordPress filters. Any plugin or theme that sends mail via wp_mail is covered automatically.
What happens if I rotate `AUTH_KEY`?
Every in-flight unsubscribe/resubscribe link becomes invalid, because the HMAC key is AUTH_KEY. New links issued after rotation work normally. Existing records in the database are unaffected.
How are blocked emails different from unsubscribed addresses?
Unsubscribes is the list of addresses that opted out. Blocked emails is the audit log of outgoing sends that were stopped because they targeted an unsubscribed address. One unsubscribe can cause many blocked-email entries over time.
Are CSV exports safe to share publicly?
No β CSV exports contain email addresses. Treat them as PII. The download link is nonce-protected so itβs not trivially shareable across sessions.
Are there developer hooks I can extend?
Yes. Three action hooks fire on opt-out events so you can sync opt-outs to a CRM, ESP, or your own logging: do_action( 'flexa_unsubscribe_unsubscribed', $email, $reason ) β fires when an address is recorded as unsubscribed. $reason is β for link-based opt-outs because the public page collects the reason in a follow-up step. do_action( 'flexa_unsubscribe_resubscribed', $email ) β fires when an address is re-subscribed (opted back in). do_action( 'flexa_unsubscribe_email_blocked', $email, $subject ) β fires for each recipient whose outbound email is blocked because they had opted out. Exampleβ¦
Changelog
3.2.0
- New: an optional deactivation feedback survey. If you deactivate the plugin, a short survey asks why, so we know what to improve. It is entirely optional, admin-only, and never blocks or delays deactivation. See the External services section for exactly what is sent and how to turn it off.
3.1.9
- Compatibility: Tested against WordPress 7.1 and bumped “Tested up to” to 7.1. No code changes were required – the plugin’s admin app (Radix + Tailwind,
@wordpress/i18nonly) is unaffected by the 7.1@wordpress/componentsand jQuery UI updates, and the plugin does not touch the post editor, media processing, or the editor toolbar.
3.1.8
- i18n: Removed the manual
load_plugin_textdomain()call. WordPress loads translations just-in-time for the plugin slug (language packs + bundledlanguages/files), so the call was redundant and flagged by Plugin Check. - Packaging: Exclude the dev-only Vite HMR registration (
RegisterDev.php) from the distributed build so the WordPress.org Plugin Check no longer flags its dev-only inline script. - Docs: Correct the source-code build instructions in the readme (single
apps/adminapp) and clarify a code comment about how the public unsubscribe/re-subscribe templates sanitize HTML message fields.
3.1.7
- New: Added three developer action hooks so external plugins can react to opt-out events:
flexa_unsubscribe_unsubscribed(fires with the email and reason when an address opts out),flexa_unsubscribe_resubscribed(fires with the email when an address opts back in), andflexa_unsubscribe_email_blocked(fires with the recipient and subject when an outbound email is blocked). See the FAQ for signatures and usage.
3.1.5
- New: Added a
flexa_unsubscribe_hmac_keyfilter so developers can supply a custom, stable secret for signing unsubscribe/resubscribe links instead ofAUTH_KEY. With no filter hooked, behavior is unchanged and existing links keep verifying.
3.1.4
- Fix: The Screenshots section on the WordPress.org plugin page now renders correctly. A non-ASCII arrow character in screenshot caption 3 broke the page rendering; the caption now describes the reorder buttons in plain text.
Screenshots
For developers
Is this your plugin? Show off the numbers.
Add a live badge to your site, docs or GitHub README. It updates on its own β no account needed.
Best Flexa Unsubscribe alternatives
All email plugins βFAQ
Flexa Unsubscribe: quick answers
Straight answers, pulled from live WordPress.org data.
Live data from WordPress.org Β· checked Oct 10, 2026
Is Flexa Unsubscribe free?
Yes. Flexa Unsubscribe is free to download and use from the official WordPress.org plugin directory.
Is Flexa Unsubscribe safe to use in 2026?
Flexa Unsubscribe is a solid plugin choice in 2026, with a few things worth checking first. Was last updated 3 weeks ago, and scores 64/100 on our health check.
How many websites use Flexa Unsubscribe?
Flexa Unsubscribe is active on <10 WordPress websites and has been downloaded 573 times since it launched in May 2026. It was downloaded 137 times in the last 30 days.
Does Flexa Unsubscribe work with WordPress 7.1?
Yes. The developer has tested Flexa Unsubscribe up to WordPress 7.1.3, the latest release. It requires WordPress 5.8 or newer.
What PHP version does Flexa Unsubscribe need?
Flexa Unsubscribe requires PHP 7.4 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.
When was Flexa Unsubscribe last updated?
The latest version, 3.2.0, was released on September 20, 2026 (3 weeks ago).
Who makes Flexa Unsubscribe?
Flexa Unsubscribe is developed and maintained by FlexaTech.
What are the best alternatives to Flexa Unsubscribe?
The most popular alternatives to Flexa Unsubscribe are WP Mail SMTP by WPForms (4M+ installs), MC4WP: Mailchimp for WordPr⦠(1M+ installs) and Easy WP SMTP (500K+ installs).
Powered by PageForge
Want thousands of pages that rank like these? Build them in an afternoon.
This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages β with schema, internal links and AI-written copy baked in.
- CSV, Google Sheets & API data sources
- AI content, schema & internal links per page
- Works with Elementor, Gutenberg, Yoast & Rank Math
- Free on WordPress.org β no credit card