How to Protect Your UniLink Forms From Spam (CAPTCHA, Honeypot, and Rate Limiting)

How to Protect Your UniLink Forms From Spam (CAPTCHA, Honeypot, and Rate Limiting)
A practical guide to UniLink's built-in form spam protection features — invisible honeypot fields, optional CAPTCHA, rate limiting, email validation, and blocked keywords — and how to configure them without blocking real submissions.
Form spam is one of those problems that seems trivial until you open your inbox and find 200 fake leads with names like "asdf" and email addresses that bounce. Spam submissions pollute your CRM, inflate your contact counts, and waste time you would rather spend on real customers. UniLink's form blocks include a layered spam protection system that lets you tune aggressiveness to match your situation — from the light-touch invisible honeypot all the way to full CAPTCHA and keyword filtering.
What UniLink's Form Spam Protection Does
UniLink's spam protection stack has five layers that work independently and can be combined. The first and most important is the invisible honeypot field. This is a form field that is hidden from human visitors using CSS but is visible to bots that parse the raw HTML. Real visitors cannot see it and therefore leave it empty. Bots fill it in automatically. Any submission where the honeypot field is populated is silently discarded — the bot receives a fake success response (so it does not retry) and the submission never reaches your CRM or email notifications.
The second layer is optional visible CAPTCHA — either a checkbox challenge ("I'm not a robot") or an image-based puzzle. CAPTCHA is more effective than the honeypot against sophisticated bots but adds one extra interaction for every real visitor, which has a measurable effect on form completion rates. It is worth enabling only when the honeypot alone is not enough.
Rate limiting caps the number of submissions from a single IP address within a one-hour window. If a single IP submits more than your configured threshold, additional submissions are blocked with a generic error message. This stops automated burst attacks — when one bot fires hundreds of requests in minutes — without affecting normal visitors who would never submit the same form more than once or twice.
Email validation at the domain level lets you reject submissions from known disposable email providers. These are temporary email addresses (think mailnull.com, guerrillamail.com, and hundreds of similar services) used by people who want to claim your free download without giving a real email. UniLink checks submitted addresses against a maintained blocklist of disposable domains and rejects them before they enter your CRM. Finally, the blocked keywords list lets you define words or phrases that, if found in the message field, cause a submission to be silently discarded — useful for blocking obvious spam patterns like specific pharmaceutical terms or link-heavy messages.
How to Enable Spam Protection on a Form Block
- Open your page in the editor — go to Dashboard → Pages and click "Edit" on the page containing the form you want to protect.
- Select the Form block — click the form block on your page to open its settings panel on the right.
- Go to the Spam Protection tab — in the form settings panel, navigate to the "Spam Protection" tab (it may appear as a shield icon depending on your dashboard version).
- Confirm honeypot is enabled — the invisible honeypot field is on by default. Verify the toggle reads "Enabled." Only turn it off if you have a specific reason to do so.
- Enable CAPTCHA if needed — toggle on "Require CAPTCHA" and choose the type: checkbox challenge (lower friction) or image puzzle (higher security). Start with checkbox.
- Set rate limiting — enter the maximum number of submissions per IP per hour. A value of 3–5 is appropriate for contact forms; set 1 for high-value lead forms where a real visitor would only submit once.
- Configure email validation and blocked keywords — enable "Block disposable emails" and add any known spam keywords to the blocked keywords field, one per line. Save and publish the page.
How to Tune Spam Protection Without Blocking Real Visitors
- Start with honeypot only — for most forms, the invisible honeypot catches the vast majority of bot submissions without any impact on real visitors. Start here before enabling anything else.
- Monitor your CRM for spam patterns — after enabling honeypot, check your CRM contacts weekly for two weeks. Look for patterns: similar names, suspicious email domains, empty or nonsensical message fields.
- Enable rate limiting before CAPTCHA — rate limiting has zero impact on real visitors who submit once, while CAPTCHA adds friction for everyone. Try rate limiting next if honeypot alone is not enough.
- Add disposable email blocking — if your CRM shows a lot of guerrillamail or similar addresses, enable the disposable domain blocklist. This catches human spammers using throwaway emails, not just bots.
- Add CAPTCHA as a last resort — only enable visible CAPTCHA if all other layers are insufficient. Monitor your form completion rate for two weeks after enabling — a significant drop means CAPTCHA is costing you real leads.
- Build your blocked keywords list incrementally — add only keywords that appear in actual spam messages you have received, not a speculative list. Overly broad keywords (like common English words) will block real submissions.
- Review blocked submission logs monthly — UniLink logs submissions that were blocked by spam filters (without storing the content for privacy reasons). Review the count to verify the filters are working without over-blocking.
Key Settings Explained
| Setting | What it controls | Best practice |
|---|---|---|
| Honeypot field | An invisible hidden field that bots fill in and real users cannot see. Any submission with the honeypot populated is silently discarded. No visitor impact. | Always keep enabled. There is no reason to disable it — zero friction for real visitors, catches the majority of automated bot spam. |
| CAPTCHA type | Checkbox CAPTCHA shows a simple "I'm not a robot" tick box. Image puzzle CAPTCHA requires identifying objects in photos. Checkbox is faster; image puzzle is more resistant to advanced bots. | Use checkbox CAPTCHA if you must enable CAPTCHA at all. Image puzzles frustrate mobile users on small screens and reduce completion rates significantly. |
| Rate limit threshold | Sets the maximum number of form submissions allowed from one IP address within 60 minutes. Submissions over this threshold are blocked with a generic error. | Set to 3 for general contact forms. Set to 1 for high-value lead capture forms (free consultations, exclusive downloads) where a real person submits only once. |
| Disposable email blocking | Rejects form submissions where the email domain matches a known list of temporary or throwaway email providers. The domain list is maintained and updated by UniLink automatically. | Enable for any form where email validity matters (newsletter, lead capture, purchase notification). Consider disabling for general feedback forms where anonymous input is acceptable. |
| Blocked keywords list | A line-by-line list of words or phrases. If any blocked keyword appears in the message field, the submission is silently discarded. Case-insensitive matching. | Add keywords only from actual spam patterns you have seen. Start with 5–10 highly specific terms. Avoid single common words — "free," "click," "offer" — that appear in legitimate messages. |
How to Get the Most Out of Form Spam Protection
The most important thing to understand about form spam protection is that it is a tradeoff between blocking fake submissions and frictionless real submissions. Every protection layer you add reduces spam and also has some probability of adding friction or blocking a legitimate edge case. The honeypot is the one exception — it adds no friction and catches most automated bots, which is why it should always be on and why you should add other layers only when there is a specific, observed spam problem to solve.
Disposable email blocking is frequently underestimated. A significant portion of form spam on creator pages is not from bots — it is from real humans who want the free lead magnet without giving their actual email, or who are systematically harvesting contact forms to sell leads. A throw-away email address does not trigger bot detection, passes the honeypot, and looks like a valid submission. The disposable domain blocklist catches this category specifically, and enabling it rarely affects legitimate visitors who almost always use their real email to receive what they signed up for.
Rate limiting is your protection against burst attacks — where a single bad actor or bot network submits the same form dozens of times in minutes. This type of attack is common on contact forms connected to businesses because the spammer either wants their message to appear multiple times or wants to flood your inbox and obscure legitimate messages. A threshold of 3 submissions per hour per IP will never affect a genuine visitor while completely stopping automated burst campaigns.
Review your spam filter logs quarterly and update your approach based on what you see. Spam patterns evolve — new disposable email domains emerge, new bot techniques bypass old honeypots, and keyword patterns change. UniLink updates its disposable domain list automatically, but your blocked keywords list and rate limit settings should be reviewed against actual data rather than set once and forgotten. What worked well six months ago may need tightening as your form receives more traffic and attracts more targeted abuse.
Troubleshooting Common Issues
| Problem | Likely cause | Fix |
|---|---|---|
| Real visitors saying they cannot submit the form | A blocked keyword in the keywords list matches words in legitimate messages, or the rate limit threshold is too low for visitors who resubmit after a typo. | Review your blocked keywords list for terms that appear in normal messages and remove them. Raise the rate limit from 1 to 3 if visitors commonly correct and resubmit within an hour. |
| CAPTCHA not appearing despite being enabled | A browser extension (particularly ad blockers or privacy-focused extensions) is blocking the CAPTCHA script from loading on the visitor's browser. | This is a visitor-side browser issue you cannot fully control. Consider switching to a simpler CAPTCHA type or relying on honeypot and rate limiting instead, which do not require external scripts. |
| Spam submissions still getting through after enabling all layers | Sophisticated bots or paid human click farms can bypass honeypot and CAPTCHA. These are rare but exist for high-profile or commercially targeted forms. | Enable image CAPTCHA (the most resistant type), add the specific email domains or keywords seen in spam submissions to your blocklist, and consider adding a qualification question to the form that bots cannot easily answer. |
| Form submissions dropping significantly with no spam issue | A recently added protection setting is blocking or deterring real visitors. CAPTCHA is the most common cause of legitimate submission drop-off. | Temporarily disable the most recently added protection layer and monitor form completions for one week. If they recover, that layer was the cause — evaluate whether the spam problem it solved justifies the cost in lost leads. |
Pros
- Invisible honeypot requires zero visitor interaction and catches the majority of automated bot submissions
- Layered approach lets you tune protection aggressiveness to the actual spam volume you experience
- Disposable email blocking catches human spammers that bot-detection methods miss
- All protection features are built in — no third-party CAPTCHA service subscription required
Cons
- Visible CAPTCHA reduces form completion rates for all visitors, not just bots
- Blocked keywords list requires ongoing maintenance to stay effective as spam patterns change
- Highly sophisticated or human-operated spam campaigns can bypass most automated protections
Frequently Asked Questions
Will the honeypot field affect how my form looks to visitors?
No. The honeypot field is hidden from visitors using CSS — it is not visible on screen, does not take up layout space, and cannot be interacted with by a human visitor. Screen readers are also configured to skip it. Your form looks and behaves exactly the same for every real visitor, regardless of whether the honeypot is enabled.
Does rate limiting use the visitor's IP address or their device?
Rate limiting is IP-based. This means multiple different people on the same network (such as a shared office Wi-Fi or a university network) share the same limit. In practice this is rarely a problem for contact forms, but if your form is embedded in a high-traffic shared environment, consider raising the threshold or relying on other protection layers instead.
What happens to a submission that gets blocked by spam filters?
Blocked submissions are silently discarded — the submitter receives a generic success message so that bots do not retry and human spammers do not learn which filter caught them. The submission is not stored, does not appear in your CRM, and does not trigger any notification to you. A count of blocked submissions is available in your form analytics.
Can I whitelist specific email addresses or domains to bypass spam filters?
Yes. UniLink's form settings include an allowlist field where you can add specific email addresses or domains that should always be accepted, regardless of other spam filters. Use this for domains like your own company email, known partner organizations, or any domain that keeps getting incorrectly blocked by the disposable email filter.
Is UniLink's CAPTCHA GDPR compliant?
UniLink uses a first-party CAPTCHA implementation that does not send visitor data to Google's reCAPTCHA service or any other third-party provider. This means no GDPR consent requirement specific to CAPTCHA processing, and no third-party cookie placement from the CAPTCHA component. The standard data collection rules for your form itself still apply — ensure your privacy policy covers form submissions.
Key Takeaways
- The invisible honeypot field is the first and most important layer — it catches most bots with zero impact on real visitors and should always be enabled.
- Add additional protection layers only when you have an observed spam problem, not preemptively, because each layer adds some friction or risk of blocking legitimate submissions.
- Visible CAPTCHA is the most effective but also the most disruptive — enable it last, after honeypot, rate limiting, and email validation have been tried.
- Disposable email blocking catches human spammers using throwaway addresses that bot-detection methods miss entirely.
- Review your blocked keywords list and rate limit settings quarterly — spam patterns evolve and settings that worked six months ago may need updating.
Ready to protect your forms and keep your CRM clean?
UniLink's layered spam protection is built into every form block — enable the right combination for your traffic level and start collecting only real leads.
Get Started FreeCreate Your Free Link-in-Bio Page
Join thousands of creators using UniLink. 40+ blocks, analytics, e-commerce, and AI tools — all free.
Get Started Free