✨ Self-hosted · One-time purchase · PHP + MariaDB

One subscriber record.
Every module shares it.

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.

Get CloudWizard Audience Manager — €49 → 👀 See the demo
CloudWizard Audience Manager dashboard showing lists, the Audience Builder, and subscriber detail
1
Shared identity across all modules
GDPR
Consent log with timestamp, IP and source
PHP 8.1+
No Composer, no monthly fees

Subscriber data scattered
across tools that don't talk

Signup forms, your mailer, and your bounce handler each keep their own copy of "who this contact is" — and they drift apart.

🧩

Every tool has its own subscriber table

Forms, mailers, and bounce scripts each reinvent contact storage — updates in one never reach the others.

🔗

Unsubscribe tokens break on re-import

Re-import the same list into a new tool and contacts get a new ID — old unsubscribe links silently stop working.

📄

Consent records live nowhere defensible

A checkbox in a form plugin isn't an audit trail. If consent is ever challenged, most self-hosted setups have nothing to show.

💸

SaaS CRMs charge per contact

Hosted email platforms scale their monthly price with your list size. If you self-host, that shouldn't apply to you.

Everything you need.
Nothing you don't.

The identity layer that keeps every other module honest about who's on your list.

🗂️

Subscriber database

Contacts with name, email and location, imported by CSV or fed automatically by Signup Manager, with a searchable member view per list.

📋

Lists & Audience Builder

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.

📜

GDPR consent logging

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.

🌍

Geo-filtering

Location is recorded at signup, so you can target or exclude by country, city or timezone without custom queries.

🆔

Stable shared identity

One permanent token per email, shared across Signup Manager, Mail Engine, and Bounce Manager — unsubscribe links never break, whatever module a contact entered through.

🚀

Direct push to Mail Engine

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.

One record.
Four modules read it the same way.

Audience Manager owns identity so the rest of the suite doesn't have to guess.

📋 Signup Manager writes

Confirmed double opt-ins land here automatically, with the consent record intact — no manual import step.

🚀 Mail Engine reads

Campaigns snapshot recipients from your lists and filtered audiences at send time — no live dependency once queued.

📬 Bounce Manager writes

Dead addresses feed the shared suppression list, so future sends and re-imports respect it automatically. Spam refusals never remove a valid subscriber.

🆔 Everyone shares one token

The stable identity token is generated once per email and never rotated — unsubscribe links stay valid for life.

Up and running in under 10 minutes

Drop the module on your server, import or connect your subscribers, and everything downstream just works.

1

Install & configure

Upload the CW folder, open the setup wizard, enter your database credentials and choose an admin password. Tables are created for you.

2

Import or connect

Import existing subscribers via CSV, or let Signup Manager feed new confirmed opt-ins directly.

3

Organise into lists

Group contacts into lists and filter them in the Audience Builder by country, city, timezone or email domain.

4

Push to Mail Engine

Send the filtered audience straight into a campaign. Bounce Manager keeps the suppression list current in the background.

Runs on standard hosting

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.

  • PHP 8.1, 8.2, or 8.3
  • MariaDB 10.3+ or MySQL 8+
  • Apache or Nginx web server
  • Works on VPS, dedicated and most shared hosting
  • Setup wizard — no config files to edit
  • Lightweight self-hosted application
  • No framework, no Composer, no monthly fees
  • Full source code included
// Install in three steps // 1. Upload the CW/ folder to public_html/ // 2. Open /CW/admin/setup.php, enter DB credentials // and choose an admin password // 3. Log in and click Audience Manager

One price. Forever yours.

No subscriptions. No per-contact fees. No seat limits. Pay once, use on as many of your own servers as you need.

Complete Package
€49
one-time payment · instant download

  • Audience Manager module — full source
  • Subscriber database with CSV import
  • Lists & Audience Builder with filters
  • GDPR consent log with audit export
  • Geo-filtering by country, city and timezone
  • Bulk unsubscribe import
  • Shared identity layer with the rest of the suite
  • Installation guide (Nginx + Apache)
  • User manual with examples
  • Unlimited contacts & domains
  • All future updates included
  • Email support for 6 months
Buy Now — €49 →

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

€25–250+/month
Per-contact pricing
in hosted platforms
vs.
€49 once
CloudWizard
Audience Manager, forever

If you self-host email, this is for you

📰 Newsletter publishers
🎓 Course & membership sites
🛍️ E-commerce lists
🖥️ Self-hosted email marketers
🏢 Hosting providers
⚙️ VPS operators

See it in action

Explore a live demo with pre-loaded lists, filters, and consent records — no login required.

👀 Open Live Demo →

Common questions

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.

Get product news and updates

A short email when something new ships. One click to unsubscribe.

Subscribe →