

Someone submits your contact form twice. Another visitor registers for the same event using an email address you already have. Your inbox fills up with repeated requests, and your team has to sort them out.
Duplicate Killer adds duplicate submission protection to SureForms. It checks selected field values against records saved by Duplicate Killer and returns an error when a matching value is found.
You choose which fields to check, how long to block repeated values, and what message visitors see.
This guide explains how the SureForms integration works, where it helps, and what to consider when using payment forms.
The SureForms integration supports these field types:
| SureForms field | Example use |
|---|---|
| Text | Prevent repeated customer references or registration codes |
| Block repeat registrations using the same email address | |
| URL | Prevent the same website from being submitted again |
| Textarea | Check repeated messages or other text |
| Number | Check repeated numeric references |
Duplicate Killer checks the fields you enable. It does not automatically compare every field or require the whole submission to be identical.
For example, if Email is protected, submitting the same email with a different name can still be blocked.
Choose fields that make sense for your form. A shared company name, common subject line, or frequently used number may not be suitable for a uniqueness rule.
Start with an existing SureForms form. You do not need to rebuild its fields.
If you are new to SureForms, its official documentation covers creating and publishing forms.
Start with one clear rule. For an event registration form, protecting the Email field is often easier to manage than protecting several common text values.
Not every repeated submission is unwanted forever.
A customer may need to send another support request tomorrow. An event registration form may need to reject the same email for the whole registration period.
Duplicate Killer provides days, hours, and minutes for the field duplicate block duration.
| Form purpose | Example duration | Intended result |
|---|---|---|
| Contact request | 5 minutes | Reduce repeated requests sent close together |
| Quote request | 24 hours | Avoid several requests from the same email in one day |
| Event registration | 30 days | Restrict repeated registrations during the event campaign |
| Website submission | No expiry | Keep an already submitted URL from being submitted again |
These examples assume field-based protection without cookie filtering. When all duration values are zero, the field duplicate check has no time cutoff.
A block duration controls which saved records are checked. It is not a data retention setting and does not automatically delete old submissions.
Test the expiry on your site before relying on it for a time-sensitive campaign.
You have a workshop registration form with Name, Email, and a message field.
Enable duplicate checking for Email.
The first successful submission creates a Duplicate Killer record. A later submission using the same email is blocked while the applicable rule is active, even if the visitor changes their name or message.
A useful response is:
This email has already been registered. Please contact us if you need to update your details.
A visitor sends a quote request and then submits it again because they are unsure whether the first attempt worked.
Protect Email and use a short block duration, such as five minutes.
This helps reduce repeated requests without preventing the customer from contacting you again later. Make sure the form’s success message is also clear; duplicate checking is not a substitute for a useful confirmation.
A directory form collects a website URL.
Protect the URL field to check whether the same value has already been recorded.
Do not assume that different URLs are treated as the same website. For example, a URL with a trailing slash or a different protocol may be a different stored value. Test the URL formats your visitors are likely to submit.
In Duplicate Killer PRO, cross-form protection can check configured fields across SureForms forms.
For example, two campaign pages may use separate forms but should share the same email registration rule.
Configure the email fields in the cross-form settings. Protecting Email separately on each form does not, by itself, create a shared duplicate rule.
Compare Duplicate Killer plans if your site needs protection for several forms.
Duplicate Killer offers Classic Message and Modern Popup Mode.
Classic Message uses the form’s normal error display.
Modern Popup Mode shows the Duplicate Killer duplicate message in a popup. You can add formatted text, colors, and links, and preview the popup in the settings.
For example:
This entry already exists.
Please contact our team if you need to change your registration.
A link to your contact page gives visitors a next step instead of leaving them with a generic error.
Modern Popup Mode is intended for Duplicate Killer duplicate messages. It does not replace every SureForms validation error or the normal success message.
After changing popup settings, clear any page cache and check the public form.
Duplicate Killer uses its own records in your WordPress database.
Disabling entry storage in SureForms does not automatically disable Duplicate Killer storage. If a successful submission meets the enabled DK storage rules, DK can still save its supported field values for future checks.
This matters when configuring forms that collect personal information.
If your goal is to retain no submission data, review both plugins rather than changing only the SureForms setting. Deleting a SureForms entry also does not automatically remove the corresponding Duplicate Killer record.
Payment forms need extra care because payment processing and final form submission do not happen at exactly the same point.
For the supported SureForms Stripe payment and subscription intent requests, Duplicate Killer performs an early duplicate check on the Email field linked to the payment block.
That field must also be enabled for duplicate protection in DK.
When a duplicate is found, DK stops that intent creation request before the native SureForms handler runs.
The payment behavior described here is based on the integration with SureForms 2.12.8. Verify the flow again when changing payment settings, adding extensions, or updating SureForms.
Suppose a paid registration form links its payment block to the Email field.
The email already exists in the relevant Duplicate Killer records, and its duplicate rule is still active.
The visitor submits the form again. The early email check returns the DK error instead of allowing that request to create a new payment intent.
An email that passes this check continues through SureForms. Passing the DK check does not mean the payment succeeded.
The early payment check has a specific scope:
Do not use final field, IP, or cross-form checks as a guarantee that payment cannot happen first.
If your form takes money, test the entire flow. SureForms explains its payment records in the Payments documentation. Stripe provides official testing instructions for simulated payments without moving real funds.
Duplicate protection and bot protection solve different problems.
A real person can submit the same email twice. A bot can submit a different email every time.
Duplicate Killer helps with repeated values. It does not prove that a visitor is human, verify ownership of an email address, or block all form spam. Keep suitable SureForms spam protection enabled, such as its honeypot protection.
For CRM, email marketing, webhook, and other connected services, test where the integration runs. A DK block stops the normal submission flow at its blocking point, but cannot undo an external action that another callback has already performed.
A duplicate error is therefore not proof that every connected service received nothing.
Use a staging site and run these checks:
For an early payment block, inspect the Network panel in your browser. The request with action srfm_create_payment_intent or srfm_create_subscription_intent should return success: false with the DK duplicate message.
A duplicate error only in the final form submission response does not confirm an early payment block.
Enable DK diagnostics temporarily when investigating a problem. Reports may contain personal data, so avoid sharing them publicly or including payment credentials.
Yes. Enable duplicate protection for the Email field on the relevant form. DK checks that value against its saved records using the configured rules.
No. SureForms continues to build, validate, and process your forms. DK adds checks for repeated values.
No. The two plugins have separate storage behavior. Review Duplicate Killer settings as well if you do not want its records retained.
Cookie-based protection can make duplicate checks specific to the same browser identity. Cookies are not a verified user identity, and clearing or changing them can change that behavior.
No. The early Stripe check covers the linked Email field in the supported intent creation requests. It does not provide complete payment idempotency or cover every gateway and retry scenario.
The Free version is intended for protecting one eligible form per supported form plugin. PRO supports multiple forms and cross-form rules. Check the current Duplicate Killer plans for the available options.
A registration form may need one entry per email. A contact form may only need to reject repeats for a few minutes. A directory may need to keep the same website from being submitted again.
Start with that rule, choose a useful duplicate message, and test both accepted and blocked submissions.
Get Duplicate Killer or visit the WordPress.org plugin page. For help with a specific form, use Duplicate Killer support.







