
<strong>Dashboard</strong> - stats cards + bar chart of unsubscribes over time + pie chart of top reasons.
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.
AUTH_KEY in wp-config.php, so no database lookup is needed to verify a link.Order, Password, Invoice) so transactional mail never gets an unsubscribe link and never gets blocked.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.
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.
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:
/api/v1/config (product slug and tier) to load the survey configuration. Cached for 6 hours./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