How to Prevent Fake Signups and Bot Submissions
Why Fake Signups Are Dangerous
Bots do not just waste space in your database. They create real problems that compound over time. Invalid email addresses cause hard bounces when you send campaigns, and high bounce rates damage your sender reputation with Gmail, Outlook, and other email providers. Some bot-submitted addresses are actually spam traps, email addresses maintained by anti-spam organizations specifically to catch senders with poor list practices. Hitting a spam trap can get your entire sending domain blacklisted.
Fake signups also skew your analytics. If 20% of your list is bots, your open rates and click rates appear lower than they actually are, which makes it harder to evaluate what content and campaigns are working. You end up making decisions based on inaccurate data.
Prevention Methods
Honeypot Fields
A honeypot is a hidden form field that is invisible to human visitors but visible to bots. Bots fill in every field they find, including hidden ones. If the honeypot field contains a value on submission, you know it was filled by a bot and can reject the signup. This method catches most simple bots without adding any friction for real users. Add a text field to your form, hide it with CSS (display: none), and reject any submission where that field is not empty.
CAPTCHA and Verification
Google reCAPTCHA, hCaptcha, and similar tools challenge users to prove they are human. reCAPTCHA v3 runs silently in the background and scores each visitor based on behavior, blocking bots without requiring users to solve puzzles. reCAPTCHA v2 ("I'm not a robot" checkbox) adds a small amount of friction but is more visible and familiar. For signup forms where you want to minimize friction, v3 (invisible) is the better choice.
Double Opt-In
Requiring email confirmation after signup is the strongest defense against fake addresses. A bot can submit a form, but it cannot click a confirmation link in an email sent to a fake address. Double opt-in ensures that every address on your list belongs to a real person who actually has access to that inbox. The downside is losing some legitimate subscribers who forget to confirm, but the list quality improvement is usually worth it.
Rate Limiting
Limit how many signups can come from the same IP address within a time window. If one IP address submits 50 signups in a minute, those are almost certainly bot submissions. Rate limiting to 2 to 3 signups per IP per hour catches automated attacks without affecting legitimate users. This also prevents abuse if someone enters a competitor's email list into your form as a prank.
Email Validation
Validate the email address format and domain before accepting the signup. Check that the domain has valid MX records (mail server DNS entries) and reject addresses from known disposable email services (Guerrilla Mail, Mailinator, TempMail). This catches both bots and humans who intentionally use throwaway addresses to grab your lead magnet without subscribing for real.
Monitoring for Suspicious Patterns
- Sudden spikes in signups that do not correlate with any marketing campaign or traffic increase are usually bot attacks.
- Signups from unlikely locations where you do not do business, especially if they come in clusters from the same geographic region.
- Identical or pattern-based names like "asdf asdf" or sequential names (test1, test2, test3) indicate automated submissions.
- High bounce rates after a batch of new signups means many of the new addresses are invalid, suggesting bot activity.
Keep your email list clean from the start with built-in form validation and automated bounce handling.
Get Started Free