Every inquiry your clients get, in one list
Contact form submissions from every WordPress site you manage, collected into a single list, with a spam filter that tells you in plain English exactly why it set something aside.
Available now. Included on Studio and up, or with the $12 Growth pack on Solo.
Updated
What is a WordPress contact form spam filter?
A WordPress contact form spam filter checks each form submission and sets the junk aside, so real inquiries reach a person and spam does not. The hard part is not catching spam but never losing a real inquiry to the filter, because a missed lead costs far more than a spam message somebody glances at.
WPCentrify collects contact form submissions from every WordPress site you manage into one list and filters the spam with its own rules. No third-party spam service or AI model is asked about your submissions. The filter shows the reasons for every decision in plain sentences, and nothing is deleted: press Not spam and an inquiry is back in your list. Our guide on stopping WordPress contact form spam without losing leads explains the thinking.
WPCentrify form submissions and spam filter at a glance
- Reads WPForms, Gravity Forms, Contact Form 7, Elementor Forms, Fluent Forms, Ninja Forms, Formidable, Forminator and Jetpack Forms, plus a catch-all for other forms.
- Spam is decided by WPCentrify's own rules. No third-party service or AI model is asked about your submissions.
- Every inquiry set aside shows the reasons for the decision in plain sentences.
- Nothing is deleted: Not spam brings an inquiry straight back.
- Your own rules for alphabets, countries, email domains and phrases, plus an always-accept list.
- Off until you switch it on for a website, with a retention period you choose.
The contact form that broke three weeks ago
A client rings to say they have had no inquiries all month. Whether that is a broken form or simply nobody visiting is the first thing to settle, and traffic figures for that site answer it. In this case their form plugin stopped sending email after an update. The page still loaded, the form still said thank you, and nothing anywhere reported a fault.
A broken WordPress contact form is invisible by definition. So are the two failures next to it: real inquiries quietly landing in a spam folder nobody checks, and forty client sites meaning forty separate submission lists behind forty separate logins. We wrote up how to find and fix a contact form that has silently stopped sending, and separately why an over-eager spam filter costs more than the spam it catches.
The only way to notice any of it is to be watching the inquiries themselves. It is the same reason uptime checks watch the pages that matter rather than only the home page.
What this is for
- Seeing every contact form submission across your portfolio on one screen
- Noticing that a client site has gone quiet before the client does
- Finding the real inquiry that a spam filter set aside
- Answering a client asking how many leads they got last month
- Giving an account manager the inquiries for their clients and nobody else's
It reads alongside the form plugin, not instead of it
Your client keeps the form plugin they already have, and the person filling in the form sees no difference at all. WPCentrify reads the submissions and puts them in one place.
Nothing changes on the site
The form plugin keeps working and keeps sending its usual notification email. No new form to build, nothing for the client to learn, nothing different for the visitor.
Every site into one list
Submissions from every website you have switched this on for arrive in a single list, filterable down to one client when they ask about theirs, in the dashboard the rest of the portfolio is run from. Leads your team saves from WordPress live chat land in the same list rather than an inbox of their own, and so will inquiries from the Virtual Assistant, the AI chatbot coming soon that answers visitors from the site's own pages.
Doubtful ones are set aside, with a reason
Anything the filter is unsure about is held back and labeled with a sentence you can read, rather than a score you have to interpret.
Nothing is thrown away
Spam is kept rather than deleted, so you can look at what was set aside, disagree, and put it back where it belongs.
A message sent to four thousand forms looks ordinary to each one
Good English. A real-looking address. A real browser rendered the page. Every check a single website is able to run, a mass campaign passes, because from where that website is standing there is nothing unusual to see.
A form plugin sitting on one site is structurally blind to this. It has one site to compare against, and one is not enough.
WPCentrify is watching across the whole fleet, so it can tell you when the same message has been reaching other agencies too. No workspace, website or inquiry ever crosses between customers, and you can turn it off in both directions.
A filter that argues in sentences
Every doubtful inquiry arrives with its reasoning attached, in language you could forward to a client:
- The same message has reached 11 other workspaces recently
- The form was submitted 210 milliseconds after the page loaded
- Nothing on the page was typed, clicked or touched before it was submitted
A filter you cannot argue with is a filter you should not trust. More on the thinking behind that in stopping contact form spam without losing leads.
What you get
Nine form plugins, read directly
WPForms, Gravity Forms, Contact Form 7, Elementor Forms, Fluent Forms, Ninja Forms, Formidable, Forminator and Jetpack Forms, on any site you have switched on.
Adding a chatbot as well? Our list of chatbots for WordPress compared checks where each one sends its inquiries.
A catch-all for the rest
Submissions from forms none of those cover, a hand-coded one or a theme's own, are picked up and flagged for you to confirm rather than dropped into your inquiry list unchecked.
Reasons, not scores
Every inquiry the filter sets aside carries plain sentences explaining the decision, so you can judge it yourself instead of trusting a number.
Nothing is ever deleted
Spam sits behind a filter with its reasons attached. Press not spam and it comes straight back, and the next message from that sender arrives with that in its favor.
How careful should we be?
Three plain choices rather than a number to tune: show me everything, balanced, or keep my list clean. Set it per workspace and change it whenever, bearing in mind what a strict setting quietly costs.
Alphabets, countries and domains
Set aside alphabets you do not do business in, accept or block particular countries, block email domains, and keep an always-accept list that overrides everything else.
Words you never expect
Phrases you choose, matched anywhere in the message, for the specific rubbish that keeps reaching your particular clients.
A deliverability check
Whether a reply to that address could actually arrive, which quietly removes a good share of what is not worth your time.
Rules apply backwards, safely
Change a rule and the last 90 days are re-checked immediately, except anything a person already ruled on by hand, which is never overwritten.
Inquiries are their own permission
Granted to nobody by default. Give it to the people who need it, and restrict a team member to specific clients where that is the right answer.
Encrypted, and opened one at a time
Messages are encrypted and unsealed only when somebody opens one, with every opening written to a tamper-evident activity log against a name and a time.
No second plugin
Nothing extra to install on the client site and nothing for them to license. It rides the connection WPCentrify already has.

The data belongs to somebody who has never heard of us
That is the whole reason this is built the way it is. The person filling in the form is your client's customer. They did not choose us and they will never see us.
So collection is off until you deliberately switch it on for one specific website. You set how long anything is kept, from a day to three years, and shortening it applies going forward rather than rewriting the promise that was in force when the data was taken. Sender addresses are never stored in the clear, and one erasure request removes an address across every site at once.
Our Data Processing Agreement covers the paperwork your client's compliance people will ask for.
Worth knowing
- Off by default, switched on per website, never portfolio-wide by accident
- It does not replace your form plugin, it reads alongside it
- Hosted forms such as Typeform and Jotform are not read yet
- An unrecognised form is flagged for you to confirm, never silently added
- It is not a CRM: no pipelines, no deal stages, no email sequences
Related
Traffic analytics
How many people reached the site, next to how many of them actually got in touch.
See the featureUptime monitoring
Whether the site was even reachable during the quiet month a client is asking about.
Read moreClient reports
Inquiry counts land in the monthly report alongside the rest of the work.
Read moreQuestions about contact form submissions
WPForms, Gravity Forms, Contact Form 7, Elementor Forms, Fluent Forms, Ninja Forms, Formidable, Forminator and Jetpack Forms. A catch-all also watches for submissions from forms none of those cover, such as a hand-coded form or one built into a theme. Leads saved from live chat arrive in the same list too, so a visitor who chats and one who fills in a form sit side by side, and so will inquiries from the AI chatbot when it launches.
No. Your form plugin keeps doing its job and keeps sending its usual notification email. WPCentrify reads alongside it, and nothing changes for the person filling in the form.
No. Nothing on the visitor's path waits on a network request to us. That is a design rule with a test enforcing it, not an aspiration.
The website keeps its own copy of each submission and sends it again later. Nothing is lost while we are unavailable.
Press not spam. The inquiry moves back to your list and the filter takes that into account for the next message from that sender. Nothing was deleted in the meantime, so there is always something to move back. That asymmetry, where a missed inquiry costs far more than a spam message somebody glances at, is why the filter is built to err on the generous side.
Not yet. Those load in an iframe and submit to their own servers, so nothing on the WordPress site ever sees the submission. Support is designed but not built.
Yes. Inquiries are a separate permission that is granted to nobody by default, and you can restrict a team member to specific clients.
The inquiry belongs to your client, not to us. Collection is off until you switch it on for a specific website, you choose how long anything is kept, sender addresses are never stored in the clear, and one request erases an address across every site. Our Data Processing Agreement sets out the rest.
Combine light protection on the form, such as a hidden honeypot field, with a filter that checks each submission and sets spam aside rather than deleting it. WPCentrify filters the submissions from every connected site with its own rules, shows the reasons for each decision and keeps everything it sets aside, so a real inquiry is never lost.
Not necessarily. A CAPTCHA turns away some real visitors along with the bots. WPCentrify filters submissions after they are sent, without adding a CAPTCHA or changing the form your visitors fill in.
No. WPCentrify's own rules decide what is spam. No third-party spam service or AI model is asked about your submissions.
Yes. Every inquiry the filter sets aside carries plain sentences explaining the decision, so you can judge it yourself instead of trusting a score. If you disagree, press Not spam and it moves straight back to your list.
Yes. WPCentrify collects the submissions from every website you switch it on for into one list, which you can narrow to a single client or site, alongside leads saved from live chat and, once it launches, inquiries from the AI chatbot.
No. Nothing is deleted. Anything set aside as spam stays behind a filter with its reasons, and pressing Not spam brings it straight back to your list.
Stop finding out from the client
Every contact form submission across every website you manage, in one list, with a filter that shows its working.
Plans from $15 a month, or start free on one website.