Two matching enquiries do not always mean your contact form submitted twice. First establish whether your form created two separate entries, whether one entry triggered two notifications, or whether another workflow copied the enquiry. The timestamps, entry IDs and field values usually reveal which problem you have.
This troubleshooting guide helps you separate a genuine duplicate submission from a notification or workflow issue before deciding how to prevent it.
Start with the evidence: entries versus emails
Open the place where your form submissions are stored and compare the two records. Do not rely on two messages in an inbox alone.
- One stored entry, two emails: The form may have sent more than one notification, or another workflow may have sent a copy. This is not a duplicate form entry.
- Two stored entries with the same details: A visitor may have submitted again, or the same request may have been processed more than once. Continue with the checks below.
- Two stored entries with different details: They may be legitimate enquiries. Look at the fields that matter to your process rather than treating matching names as proof of duplication.
Use a simple decision tree
- Are there two separate form records? If no, investigate email notifications and any process that forwards enquiries. If yes, compare the records.
- Were the records created within a short interval? Near-identical timestamps can point to a repeat click, a page reload or a visitor trying again after being unsure whether the first submission worked.
- Do the important fields match exactly? Compare the email address, phone number, enquiry subject and message. A matching name alone is often insufficient because different people can share a name.
- Could the second enquiry be valid? A returning customer may reasonably send another request. Consider whether the form is for a one-time registration, a support request, a quote request or an ongoing conversation.
- Did another process create the second record? Check any connected automation, inbox rule or manual data-handling step that might copy the enquiry after the form is submitted.
Worked example: two quote requests from one visitor
Imagine a local contractor receives two quote requests from Maya. Both use [email protected], contain the same project description and arrive 18 seconds apart.
The site owner finds two separate form entries, not merely two emails. The name, email address, phone number and message are identical. Because the form asks visitors to request one initial quote, the second entry is unlikely to add new information. This is a reasonable case for a duplicate rule based on the email address, possibly alongside another field relevant to the business.
Now change one detail: the second message arrives two weeks later and includes a revised project description. Even though the email address is the same, that may be a legitimate follow-up. Blocking every repeat email address would create a different problem.
Choose uniqueness fields that fit the form’s purpose
A duplicate rule should reflect what counts as “the same enquiry” for that particular form. For many contact forms, an email address is a useful starting point, but it is not automatically the right answer.
- One-time registrations: An email address may be an appropriate unique field.
- Quote requests: Email address plus a project or service field can help distinguish a new request from an accidental repeat.
- Support forms: Repeat submissions may be necessary, especially when a visitor has new information.
- Shared business inboxes: A phone number or company name may be shared by several people, so avoid blocking valid contacts on that basis alone.
Test the rule against normal customer behaviour before applying it broadly. The goal is to stop unwanted repeats without preventing a legitimate visitor from getting in touch.
Duplicate prevention is not the same as spam prevention
CAPTCHA and broader spam controls are designed to reduce unwanted or automated submissions. They do not necessarily decide whether a second submission repeats data already received.
Duplicate prevention addresses a narrower question: should this combination of form values be accepted again? You may need both approaches, depending on whether the issue is bot spam, accidental resubmission, repeated customer data or a mixture of these.
When a duplicate-control tool is appropriate
If you have confirmed that your form stores separate, repeated entries and you can define which fields should not repeat, a field-based duplicate-control tool may be useful. Duplicate Killer is a WordPress plugin published by VerseLabWP that, according to its developer information, checks selected form fields against previous entries to help prevent repeated values. It is not a substitute for diagnosing duplicate notifications, copied records or general spam.
Once you have confirmed repeated form entries and identified the fields that should be unique, read the Duplicate Killer overview to assess whether it fits your form workflow.
