The self-hosted subscriber database for PHP — lists, an Audience Builder, consent records, and a stable identity across your whole stack.
CloudWizard Audience Manager is the single source of truth for who a contact is and what they've consented to — feeding Flow Engine, Mail Engine, and Bounce Manager from one place. Use it on its own, or as the hub of the complete CloudWizard Suite.
Signup forms, your mailer, and your bounce handler each keep their own copy of "who this contact is" — and they drift apart.
Forms, mailers, and bounce scripts each reinvent contact storage — updates in one never reach the others.
Re-import the same list into a new tool and contacts get a new ID — old unsubscribe links silently stop working.
A checkbox in a form plugin isn't an audit trail. If consent is ever challenged, most self-hosted setups have nothing to show.
Hosted email platforms scale their monthly price with your list size. If you self-host, that shouldn't apply to you.
The identity layer that keeps every other module honest about who's on your list.
Contacts with name, email and location, imported by CSV or fed automatically by Signup Manager, with a searchable member view per list.
Combine one or more lists into a single audience, then narrow it by country, city, timezone, or include/exclude an email domain. The count updates as you filter.
Every opt-in and opt-out is logged with timestamp, IP, and source — a real audit trail, not just a status flag. Unsubscribes can also be imported in bulk.
Location is recorded at signup, so you can target or exclude by country, city or timezone without custom queries.
One permanent token per email, shared across Signup Manager, Mail Engine, and Bounce Manager — unsubscribe links never break, whatever module a contact entered through.
Send the filtered audience straight into a Mail Engine campaign as a one-time recipient snapshot. Each push is written to an audience log, and Mail Engine can duplicate a campaign together with its audience.
Audience Manager owns identity so the rest of the suite doesn't have to guess.
Confirmed double opt-ins land here automatically, with the consent record intact — no manual import step.
Campaigns snapshot recipients from your lists and filtered audiences at send time — no live dependency once queued.
Dead addresses feed the shared suppression list, so future sends and re-imports respect it automatically. Spam refusals never remove a valid subscriber.
The stable identity token is generated once per email and never rotated — unsubscribe links stay valid for life.
Drop the module on your server, import or connect your subscribers, and everything downstream just works.
Upload the CW folder, open the setup wizard, enter your database credentials and choose an admin password. Tables are created for you.
Import existing subscribers via CSV, or let Signup Manager feed new confirmed opt-ins directly.
Group contacts into lists and filter them in the Audience Builder by country, city, timezone or email domain.
Send the filtered audience straight into a campaign. Bounce Manager keeps the suppression list current in the background.
Works on any server running PHP and MySQL/MariaDB.
🆔 Fully functional standalone — no dependency on the other modules. Install Signup Manager, Mail Engine, or Bounce Manager alongside it and they connect automatically via shared tables.
No subscriptions. No per-contact fees. No seat limits. Pay once, use on as many of your own servers as you need.
Secure payment via Stripe · Instant delivery · VAT may apply
Want the whole system? The Full Suite — all 6 modules for €196 →
What this would cost elsewhere
Explore a live demo with pre-loaded lists, filters, and consent records — no login required.
👀 Open Live Demo →Yes. Audience Manager manages subscribers, lists, and consent with no dependency on Signup Manager, Mail Engine, or Bounce Manager. Install any of them alongside it later and they connect automatically.
Every contact gets one permanent token, generated once and never rotated. Signup Manager, Mail Engine, and Bounce Manager all read and write the same token — so an unsubscribe click stays valid for life, regardless of which module or CSV a contact entered through.
Tick one or more lists, then filter by country, city or timezone, or include/exclude an email domain (for example everyone except Gmail). You see the count and a 50-recipient preview, then export a CSV or push the audience into a Mail Engine campaign.
Every opt-in and opt-out is logged with timestamp, IP address, and source (form or import) — a real audit trail, not just a status column. Contacts imported from an old list have no consent record unless you collected one, so keep your original proof of consent.
Yes — CSV import is built in. Existing contacts get the same stable identity token, so if you're migrating from another platform your unsubscribe history stays consistent going forward.
Your data never leaves your server. CloudWizard is entirely self-hosted with no external API calls. We recommend protecting the admin with HTTP basic auth, which the installation guide covers.
Yes — a single purchase covers all your own servers and projects. There are no per-domain or per-server restrictions. The license covers personal and commercial use on servers you own or operate.
You get the full source code — so you can modify anything. For common feature requests, updates are free and included. Send us a message and we will see what we can do.
Designed by someone who has run customer databases and direct mail since the late 1980s.
Not because it's old-school, but because anyone who has actually run a multi-tool email stack knows the hard part isn't storing a subscriber — it's keeping one consistent identity across every tool that touches them. That's the problem this tool is built to solve.
A short email when something new ships. One click to unsubscribe.
Subscribe →