1. Know the warning signs
Watch for sudden jumps in clicks or form fills with no matching sales, leads with made-up names or disposable email addresses, phone numbers that don’t work, many submissions from the same place in minutes, and visits that leave within a second.
2. Add invisible protection to every form
Use a hidden honeypot field that people don’t see but bots fill in, a check on how fast the form was completed, and a bot check such as Cloudflare Turnstile or reCAPTCHA where spam is heavy. Prefer options that don’t make real visitors solve puzzles.
3. Limit how often forms can be sent
Cap how many submissions one address, device or email can send in an hour or a day, on the server, not just in the browser. I build these limits into every form, so a spam run can’t flood your inbox or your CRM.
4. Check emails and phone numbers
Validate email addresses and phone numbers on submission, block disposable email domains where it makes sense, and require a real phone number for high-value inquiries.
5. Protect your ad budget
Exclude placements and apps that send junk clicks, avoid display and search partner networks until search alone works, set location targeting to people actually in your area, and review placements and search terms weekly. Google and Microsoft refund some invalid clicks automatically; check the invalid clicks columns in your reports.
6. Don’t teach the algorithm to find bots
Ad platforms optimise toward whatever you count as a conversion. Count qualified leads or sales, not every form fill, and send back only real outcomes from your CRM. Otherwise the platform learns to bring you more fake leads.
7. Filter bots out of your reports
Exclude known bot traffic and internal visits in GA4, compare form fills with CRM records, and judge channels on leads that became customers.
8. Use your firewall or CDN
Services such as Cloudflare can block known bad bots, challenge suspicious traffic and limit request rates before they reach your site, while letting search and AI crawlers you want through.
Practical notes
What I’ve learned and use in practice, checked against current benchmarks and official checklists on 10 November 2026. Experience and benchmarks, not guarantees.
- A hidden honeypot field is the cheapest protection, but more advanced bots detect it; when it triggers, don’t show an error, so the bot doesn’t learn it was caught.
- Turnstile and invisible CAPTCHAs stop most simple bots, but some bot campaigns have got past reCAPTCHA, hCaptcha and Turnstile, so layer your defences.
- Fake leads are especially common from affiliates paid per lead.
- Plausible-looking fake email addresses slip past technical checks; verify contact details and watch which leads never answer.
Sources
The goal
Not zero bots, which is impossible, but forms that stay clean, ad budgets spent on people, and numbers you can trust. Most of this costs little once it’s set up, and it saves a lot of wasted time and spend.
Take the six-question self-check