This Gravity Forms add-on blocks spam using a non-obtrusive anti-spam measure and can email a spam report summary.
Spam blocking for Gravity Forms
To get started, all you need to do is activate the plugin!
Is the Gravity Forms honeypot field not working for you? 🍯 🐝
Zero Spam is better than the Gravity Forms anti-spam honeypot field. If you're getting spammed, try this plugin.
Use this plugin instead of reCaptcha
reCaptcha is user-hostile! Use this instead! Users don't need to click stoplights, crosswalks, or bicycles when you use this plugin to stop spam.
Enable or disable filtering per form
If you only want the plugin for specific forms, that's possible! The plugin adds a simple "Prevent spam using Gravity Forms Zero Spam" setting to each form (requires Gravity Forms 2.5 or newer).
Spam report emails
Spam summary report emails are disabled by default. Once enabled, a spam summary that includes the number of entries per-form will be sent via email.
Choose whether you want to be notified after the number of entries reaches a threshold (e.g. 10 spam entries) or after a certain number of days (e.g. every week). If there are no spam entries, no report will be sent.
Requires
Gravity Forms.
Brought to you by GravityKit. We create essential Gravity Forms Add-Ons.
1.7.5 on April 9, 2026
- Fixed: Forms rendered in modals or other elements output via
wp_footer (e.g., site-wide popups, slide-ins) were missing the spam prevention token, causing legitimate submissions to be flagged as spam
1.7.4 on April 2, 2026
- Added: "Anti-Spam Expiration" setting to control how long spam prevention tokens remain valid, accessible from Forms > Settings > Zero Spam
- Fixed: Email rejection settings and form editor scripts not loading when Gravity Forms No Conflict mode is enabled
- Fixed: Form submission failure ("Cannot read properties of undefined") caused by the token fetch request failing unexpectedly
1.7.3 on March 24, 2026
- Improved: Extended token lifetime to 7 days and improved token fetching compatibility
- Fixed: Submissions from pages with multiple Gravity Forms were incorrectly marked as spam when the form wasn't the first one on the page
- Added:
gf_zero_spam_token_ttl and gf_zero_spam_fallback_token_ttl filters to adjust the lifetime of dynamically fetched and HTML-embedded fallback tokens respectively (default for both: 7 days)
1.7.2 on March 12, 2026
- Fixed: Forms with conditional logic could be invisible to visitors
1.7.1 on March 6, 2026
- Fixed: Fatal error on sites where
AUTH_KEY or SECURE_AUTH_KEY constants are not defined in wp-config.php
1.7.0 on March 5, 2026
- Added: Stronger spam prevention using signed, time-limited tokens
- API: Added
gf_zero_spam_client_ip filter to override the visitor IP used for rate limiting (useful for sites behind Cloudflare or load balancers)
- API: Added
gf_zero_spam_rate_limit filter to adjust the maximum token requests allowed per IP per minute (default: 30)
1.6.0 on February 27, 2026
- Improved: Removed dependency on jQuery
- Fixed: "Prevent spam using Gravity Forms Zero Spam" toggle appeared twice in form settings
1.5.0 on February 26, 2026
This release requires PHP 7.4 or newer.
- Added: Email rejection rules to validate email field submissions and take action based on matching addresses, domains, or patterns
- Match by exact email, domain (e.g.,
@example.com), wildcard, or regular expressions (regex)
- Block the submission (requires Gravity Forms 2.9.15+), flag it as spam, or log it with an entry note
- Import multiple rules at once from a text list
- Enable/disable rules individually
- Set field-specific overrides in the Form Editor
- Added: Spam entries now show the reason they were flagged (e.g., missing or invalid key)
- Added: Zero Spam toggle now appears in the "Spam" form settings section on Gravity Forms 2.9.21+
- Added: Spam protection for Save and Continue, preventing bots from creating spam drafts
- Improved: Redundant spam checks are skipped when the entry is already flagged by another filter
- API: Added
gf_zero_spam_email_rules filter to modify email rejection rules before evaluation
- API: Added
gf_zero_spam_email_rule_match action that fires when an email matches a rejection rule
1.4.6 on January 7, 2025
- Fixed: Fatal error on PHP 7.2 and older
1.4.5 on November 28, 2024
- Fixed: PHP deprecation warning when using Gravity Forms 2.8 or newer
1.4.4 on October 15, 2024
- Improved: Submissions by users who have the capability to edit Gravity Forms entries are no longer processed by Zero Spam (thanks for the idea, @richardjb62!)
- Fixed: Use GMT time for spam summary email reports to make sure the report is sent at the correct time
1.4.2 & 1.4.3 on October 10, 2024
- Improved: Sanitized form ID in JavaScript
- Modified: Changed the text domain for strings to
gravity-forms-zero-spam to match the plugin slug
- Fixed: Added missing Text Domain header for translation
1.4.1 on November 10, 2023
- Fixed: Conflict with the Gravity Forms Stripe Add-On
1.4 on April 24, 2023
- Added: Spam summary email reports are now available! Receive a helpful email summarizing spam messages received. To enable, from your Dashboard, go to Forms, then Settings, then Zero Spam to enable and configure this feature.
- Choose when to send the report (threshold-based or frequency-based)
- Customize the report message
- Works with any spam messages, not just those blocked by Zero Spam
- Added: A setting to globally enable or disable Zero Spam by default (default: Enabled)
1.3 on February 18, 2023
Gravity Forms 2.7 added improved spam blocking in 2.7. Keep this plugin installed—it won't hurt, and we're about to add some great new features soon! ❤️ Thanks to Richard Wawrzyniak for the code updates in this release.
- Added: Support for API submissions (which don't have a form submit action)
- Fixed: Gravity Forms 2.7 support
- Fixed: PHP 8.0 warnings
- Tested with WordPress 6.2
1.2.3 on August 11, 2022
- Tweak: Changed the autocomplete on the hidden field to
new-password instead of off. Thanks for the suggestion, Ross!
1.2.2 on August 11, 2022
- Improved: Prevent autocomplete on the hidden field. This may help prevent some reported false-positives.
- Tested with WordPress 6.0.1
1.2.1 on February 16, 2022
- Improved: Don't check for spam on the Gravity Forms Preview page
- Tested with WordPress 5.9
1.2 & 1.2.0.1 on December 10, 2021
1.1.3 on August 9, 2021
- Enhancement: Adds an entry note when an entry is marked as spam. Thanks to Gravity Forms for the enhancement!
1.1.2 on July 5, 2021
- Fixed: Entries going to spam on websites that have plugins that override random password generation. Thanks, @thomascharbit!
1.1.1 on April 22, 2021
- Fixed: Script not being correctly loaded using Gravity Forms' inline JavaScript
1.1 on April 21, 2021
- Improved: The JavaScript code that adds the spam-catching field is now output at the same time as Gravity Forms' inline JavaScript.
- The script is only loaded when forms are displayed
- jQuery is always available because Gravity Forms loads it as-needed
1.0.7 on March 18, 2021
- Fixed: All entries marked as spam for AJAX-enabled forms. Sorry, folks! Won't happen again.
- Went back to using jQuery to listen to form submissions.
1.0.6.1 on March 15, 2021
- Fixed: JavaScript "null is not an object (evaluating 'el.addEventListener')" error on pages without a form
1.0.6 on March 11, 2021
- Improved: No longer requires jQuery
- Fixed: Only checks for spam on submissions that were submitted by a form, not for entries created programatically
1.0.5 on February 16, 2021
The Gravity Forms Zero Spam plugin is now maintained by
GravityKit. We look forward to continuing to improve this simple, effective spam blocker for Gravity Forms. Thanks to GoWP for their great work!
- Improved: Only add anti-spam JavaScript when the Gravity Forms plugin is active
- Fixed: Sanitized key, in case there were any unsafe characters generated by overriding the
random_password filter.
- Fixed: Made
GF_Zero_Spam::deactivate a static method
- Updated: Now using the
wp_print_footer_scripts action to add the script (was wp_footer)
1.0.4
- Should fix 'jQuery undefined' errors
1.0.3
- Added support for multi-page forms (thanks, @supporthero)
1.0.2
- Update FAQ and compatibility notes in readme.txt
1.0.1
- Fix issue with forms not submitting after an initial validation error
1.0.0