In short: form spam is bots filling in anything that accepts text, and the fix depends on which form is being hit. Shopify stores have built-in spam protection you just switch on. Newsletter forms need double opt-in, which stops fake signups from ever reaching your list. Custom-built forms can use a honeypot, an invisible field that only bots fill in. And the one thing not to do is bolt an ugly puzzle captcha onto your enquiry form: it stops some bots and some paying customers with them. I cleaned up after a bot attack that pumped hundreds of fake signups into a Melbourne label's newsletter list; everything below comes from that.
Why your form is suddenly full of junk
Bots crawl the web looking for any form they can post to. Some push links, some test stolen email addresses, some sign random victims up to newsletters in bulk, which is called list bombing, and it can get your own email flagged as a spammer. It is not personal, and it does not mean your site was hacked. It means your form answers the door to anyone who knocks.
Fix 1: if it is a Shopify form, switch the protection on
Shopify ships spam protection for its contact and comment forms; it is just not always on. In your Shopify admin, open the Online Store preferences and look for the spam protection setting (Shopify uses Google reCAPTCHA behind the scenes). Turn it on for forms. That is the whole fix, and it is invisible to most genuine customers: no traffic-light photos to click for normal visitors.
While you are there: if junk arrives through product reviews or app-added forms, check that app's own settings, most review apps have their own spam toggle.
Fix 2: if it is your newsletter, turn on double opt-in
List bombing is the nastiest one, because hundreds of strangers "joining" your list wrecks your sending reputation. The fix is double opt-in: a new subscriber gets a confirmation email and only joins the list after clicking it. Bots sign up fake addresses; fake addresses never confirm; your list stays clean.
Every serious email platform has the toggle: Mailchimp, Brevo, Klaviyo and friends all call it double opt-in or confirmed opt-in, and it lives in the signup form or audience settings. Turn it on and the bombing becomes a non-event. You will lose a small number of real people who never click the confirmation, and it is worth it.
Fix 3: if it is a custom form, add a honeypot
A honeypot is a form field that humans never see, hidden with CSS, but bots, which read the code rather than the screen, happily fill it in. If the hidden field comes back with anything in it, the message is junk and you drop it silently.
If a developer built your form, this is a five-line request:
<input type="text" name="website" tabindex="-1" autocomplete="off"
style="position:absolute; left:-9999px" aria-hidden="true" />
Then, wherever the form is processed: if the website field is not empty, ignore the submission. No puzzle, no friction, invisible to every real visitor. The contact form on this site runs exactly this trick.
If the flood continues: the polite escalation
For a form under sustained attack, the next step up is an invisible challenge like Cloudflare Turnstile, free, and it decides in the background whether the visitor looks human, without showing most people anything. It needs a developer to wire in, but it is the modern answer when a honeypot is not enough.
What not to do
- Do not add a hard image captcha to your enquiry form. Every extra puzzle costs you a percentage of real enquiries, and an enquiry is worth far more than the junk costs you.
- Do not just delete and despair. Five minutes of settings beats months of manual deleting.
- Do not ignore list bombing. It quietly damages whether your real emails reach real inboxes.
If you would rather hand it over
Checking which of your forms are exposed, switching the right protections on, and cleaning a bombed list is a small, one-time job, and it is the kind of quiet back-office work I do. Tell me what is getting spammed and I will tell you straight which fix applies, in writing, before you spend anything.