Overview
Contact Form 7 only ever tries to email you a submission. If your SMTP connection is down, misconfigured, or just quietly fails, that enquiry is gone with no record and no way to know. AIO LeadDefense saves every submission to your WordPress database the moment it's validated — before Contact Form 7 even attempts to send the notification email — so a broken inbox never means a lost lead.
| What you get | Free | Pro |
|---|---|---|
| Every submission saved to your database, independent of email | ✓ | ✓ |
| Honeypot, time-trap & keyword spam screening | ✓ | ✓ |
| Searchable, filterable Leads dashboard & CSV export | ✓ | ✓ |
| Optional lead country lookup | ✓ | ✓ |
| Automatic SMTP/API failover to a backup connection | — | ✓ |
| Provider presets & one-click port detection | — | ✓ |
| Down-alert emails, on your own schedule | — | ✓ |
| Full delivery-event history | — | ✓ |
Installing & activating
AIO LeadDefense requires Contact Form 7 — install and activate that first if you haven't already.
- Install the plugin
From your WordPress dashboard, go to Plugins → Add New, search for AIO LeadDefense for Contact Form 7, and click Install, or upload the zip directly if you have it.
- Activate it
Click Activate. There's nothing else to configure — AIO LeadDefense starts saving new submissions from every existing Contact Form 7 form immediately.
- Find it in your menu
A new AIO LeadDefense item appears in your left-hand admin menu, with a shield icon. Every section in this guide lives under one of its tabs.
Deactivating AIO LeadDefense never deletes your captured leads. Data is only removed on uninstall, and only if you've explicitly opted in under Settings.
The Leads tab
FreeYour default screen: every submission you've ever received, whether or not the email went out.
TOTAL LEADS
SENT OK
FAILED
| Date | Name | Form | Status | |
|---|---|---|---|---|
| Sep 2, 9:41 am | Priya Raman | priya@example.com | Contact form 1 | Sent |
| Sep 2, 8:14 am | Marcus Hale | marcus@example.com | Contact form 1 | Sent via Fallback |
| Sep 1, 4:02 pm | Elena Vos | elena@example.com | Quote request | Both Failed |
Reading the table
Name, email, phone, and message are detected automatically from whatever fields your form actually has — you don't need to name your fields anything in particular. Anything else your form collects (a dropdown, a checkbox, an extra field) shows up in the Other Fields column as a compact preview, and in full when you open a lead.
| Status badge | What it means |
|---|---|
| Sent | The notification email went out normally. |
| Sent via Fallback | Pro — your primary connection failed, but the backup delivered it. |
| Failed / Both Failed | Email delivery failed. The lead itself is safe either way — only the email attempt failed. |
Working with a lead
Hover any row for View, Star, Mark Read/Unread, Spam, and Delete. View opens the full submission, including any uploaded files and, if you've turned it on, the lead's country.
Search, filter & export
Filter by form, status, or a date range, or search by name/email/phone. Export CSV exports exactly what's currently filtered. Clear Log permanently deletes every lead — it asks you to confirm first, and it can't be undone.
Spam protection
FreeThree lightweight, no-API-key checks, all under Settings. Flagged submissions are still saved — just marked Spam instead of emailed.
| Check | How it works |
|---|---|
| Honeypot field | An invisible field real visitors never see or fill in. Bots that fill in every field trip it. |
| Time-trap | Flags a submission completed faster than a threshold you set (3 seconds by default) — no human fills out a form that fast. |
| Keyword blocklist | One phrase per line; a submission containing any of them (case-insensitive) is flagged. |
Lead location
FreeSee which country a lead came from, resolved from the IP address you're already storing.
Turn on Show Lead Country under Settings and it works immediately — no signup required. Each lead is looked up once, the first time you view it, and the result is cached, so it's never re-queried. If you want higher volume or better accuracy later, add your own free access token from ipinfo.io/lite in the same field.
This sends the lead's IP address to a third-party lookup service. It's off by default for exactly that reason — turn it on deliberately, and check your own privacy policy if your visitors are in the EU.
Data & settings
FreeOne setting worth understanding deliberately: On Uninstall. Left off (the default), deleting the plugin keeps every lead and setting untouched, so reinstalling later picks up right where you left off. Turn it on only if you want a full, permanent wipe the moment the plugin is deleted — deactivating never triggers this either way.
Connections & failover
ProAdd multiple SMTP or API-key connections, then assign each a role. When your Primary fails, AIO LeadDefense retries through Fallback automatically — the visitor never sees a difference.
Adding your first connection
- Click Add Connection
Choose SMTP for a mail server and password, or API Key for a provider like SMTP2GO, Brevo, SendGrid, or Mailgun. Picking a provider preset fills in the host/port for you.
- Test it before saving
Use Test Connection (SMTP) or Send Test Email (API) to confirm the credentials actually work — before you commit to them.
- Assign a role
Set one connection to Primary. Add a second and set it to Fallback once you're ready — failover only activates once both roles are assigned.
To change a connection later, use the edit (pencil) icon on its row — it reopens the same form pre-filled, with the password field left blank on purpose (leave it blank to keep the existing one, or type a new one to replace it).
Deleting a connection that currently holds a role turns that role off with it — if it was your Primary, failover stops working until you assign a replacement. AIO LeadDefense warns you by name before it lets you delete one.
Alerts
ProGet emailed when a connection is down, without being flooded every time it happens.
| Frequency option | Behavior |
|---|---|
| Every 1 hour / 15 min / 5 min | At most one alert email per window, no matter how many failures happen inside it. |
| Every failed submission | One alert per failure, capped at 20 a day so a total outage can't flood your inbox. |
By default, alerts go to your site's admin email. Set a different Notification Email on this tab if you'd rather they land somewhere else — a shared team inbox, for instance.
Alert log
ProA running, paginated history of every delivery event — exactly what happened, and when.
Nothing to configure here — it fills in on its own as delivery events happen, and pages once you have more than 20 entries.
Upgrading to Pro
Pro is a one-time payment — not a subscription — that unlocks Connections, Alerts, and the Alert Log for good.
From the Upgrade to Pro tab, click through to checkout and pay. If you bought Pro while already running the free version, it unlocks automatically the next time your site checks in — no re-download, no reinstalling anything by hand.
FAQ
Does this replace my SMTP plugin?
No. AIO LeadDefense doesn't send your Contact Form 7 emails itself in the Free tier — it just guarantees the submission is saved regardless of whether that send succeeds. Pro's Connections feature can take over sending directly, with automatic failover, if you want it to.
What happens to leads I already lost, before installing this?
They can't be recovered — nothing kept a copy before AIO LeadDefense was active. Storage starts from the moment you activate it.
Will this work with a multi-step form add-on?
Yes. Multi-step add-ons still submit all fields together in a single request when the form finally sends, and AIO LeadDefense captures that whole submission the same as any other.
Can I keep my leads if I deactivate the plugin?
Always. Deactivating never touches your data. Only uninstalling deletes anything, and only if you've explicitly turned that on under Settings.