You fill in your own contact form. A friendly “Thank you, we’ll be in touch” appears. Job done?
Not quite. That message proves one thing: the page responded. It says nothing about whether the enquiry was stored, whether anyone was told, whether your CRM received it or whether your reports counted it.
A form is a chain with several links. A test is complete only when you have checked each one.
What “Thank you” does and does not prove
A confirmation message is the website’s reply to the visitor. It can appear even when:
- The notification email goes nowhere.
- The entry saves but a CRM connection fails.
- An attachment is missing or too big.
- Analytics counts the page view but not the submission, or counts it twice.
None of that is unusual. Forms depend on several systems, each with its own settings and accounts. A change to any one of them can break a link without changing what the visitor sees.
That is why a good test follows an enquiry from the visitor’s screen to the person who acts on it.
Before you test
Agree four things first.
Who is testing, and who is watching? Ideally someone submits the form while another person watches the inbox and the CRM. If you test alone, keep a list open to tick off.
Which version are you testing? Test on the live website once it is ready, not only on a draft copy. Some settings, such as email delivery and analytics, behave differently in each.
What data will you use? Use obviously fake, synthetic details, such as “Test Person”, a number you control and a recognisable phrase like “TEST – please ignore”. Do not use real customers’ details. Never use real health, financial or other sensitive information in a test.
How will you clean up? Decide in advance who will remove or mark test records so they do not skew reports or reach real follow-up processes.
The five links in the chain
Think of every form as five checkpoints:
- The visitor experience. What the person sees and does.
- The stored entry. The record held in the website.
- The notification. The email that tells your team.
- The connected systems. CRM, email lists, spreadsheets or other tools.
- The measurement. Analytics or advertising conversion counts.
Each needs its own test, and each can fail alone.
The test plan
Run this plan on every important form. Tick each item when you have seen the result with your own eyes.
| # | Test | How to do it | What you should see | Pass |
|---|---|---|---|---|
| Visitor experience | ||||
| 1 | Complete a normal submission on a desktop browser | Fill every field with the test details | A clear confirmation message or thank-you page | |
| 2 | Repeat on a phone | Use a real phone, not just a narrowed browser window | Fields are easy to use and the message displays correctly | |
| 3 | Try submitting with required fields empty | Leave one required field blank | A clear message identifies the missing field | |
| 4 | Try an invalid email address | Enter text without a proper email format | The form flags the error | |
| 5 | Submit with optional fields blank | Leave optional fields empty | The submission still succeeds | |
| 6 | Click the submit button twice quickly | Double-click it | You get one entry, not two | |
| Stored entry | ||||
| 7 | Find the entry in the website’s records | Open the form’s entries list in WordPress | The entry exists with all values in the right fields | |
| 8 | Check special characters | Include an apostrophe, an accent and an ampersand | They display correctly, not as odd symbols | |
| Notification | ||||
| 9 | Confirm the team notification arrives | Watch the intended inbox | Email arrives within a few minutes, with the right data | |
| 10 | Check spam and junk folders | Look in them as well | Nothing is hiding there | |
| 11 | Check Reply To | Press reply on the received email | It addresses the test person, not an internal address | |
| 12 | Test each routing rule, if any | Choose each option that sends to a different person | The correct recipient receives each | |
| 13 | Check any confirmation email to the visitor | Look in the test person’s mailbox | It arrives, reads correctly and has the right links | |
| 14 | Test from an external address | Use a personal email at a different provider | Delivery still works | |
| Attachments and uploads | ||||
| 15 | Upload a typical file | Use a small PDF or image | The file appears in the entry and is accessible to your team | |
| 16 | Try an oversized or disallowed file type | Upload something too large or unsupported | A clear error appears | |
| Connected systems | ||||
| 17 | Find the new record in the CRM or other tool | Search by the test email address | Record exists | |
| 18 | Check the mapped fields | Compare each field to your mapping sheet | Values are in the right places and not blank or swapped | |
| 19 | Check any automation | Look for tasks, owner assignment, tags or follow-up emails | The right ones triggered, once | |
| 20 | Submit again with the same email | Repeat the test | The existing record updates, or a new one is created, as intended | |
| Measurement | ||||
| 21 | Check that the conversion is recorded | Use the analytics tool’s real-time or debug view | One event appears for one submission | |
| 22 | Check that a page refresh or Back button does not count again | Reload the thank-you page | No second conversion | |
| 23 | Check what the event is named | Look at the event name and parameters | They match your reporting plan | |
| Cleanup | ||||
| 24 | Delete or label test entries and CRM records | Follow your agreed process | Nothing test-related remains active | |
| 25 | Record the result | Note date, tester and outcome | A short log exists for next time |
Adapt it to your site. A simple form may only need rows 1 to 14. A form connected to a CRM and automation needs them all.
Some notes on the harder rows
Notifications (rows 9 to 14)
Delivery depends on the sending server and the receiving mailbox, not only on the website. If row 9 or 10 fails while row 7 passes, the entry saved but the notification did not arrive. Our guide to what to check when entries are saved but no email arrives walks through the likely causes.
Connected systems (rows 17 to 20)
Check field by field. A record may exist but have a blank company, a wrong phone number or a drop-down value that did not match. Row 20 matters because many CRMs match people by email address, so a second test with the same address may update the first record instead of creating a new one. Know which behaviour you expect. Our article on planning field mapping explains how to prepare for this.
Measurement (rows 21 to 23)
There are several ways to count a form submission, such as a thank-you page view or an event fired when a form is sent. Whichever method you use, check it with test data, and check it only counts once.
If you use Google Analytics 4, its DebugView report shows the events collected from a device in debug mode. Google Tag Manager’s preview mode shows which tags fired and why. These tools let you confirm that the right event fires at the right moment before relying on the numbers in your reports.
Be aware that consent settings and privacy controls can stop analytics from recording. If an expected event does not appear, check that before assuming the tag is broken.
When to repeat the test
Run it again whenever something around the form changes:
- After the website launches or is redesigned.
- After WordPress, theme or plugin updates.
- When hosting, DNS or email providers change.
- When someone edits the form fields, rules or notifications.
- When the CRM, newsletter or analytics setup changes.
- When the person receiving enquiries changes role or leaves.
Between full tests, a short monthly check is cheap insurance. Submit one test enquiry and confirm it arrives where it should.
A simple record to keep
Keep a short log for each form:
| Date | Form | Tester | Items checked | Result | Problems and fixes |
|---|---|---|---|---|---|
A log shows what was last checked and by whom. It also helps whoever investigates if something goes wrong later.
What to do when a test fails
- Write down which row failed and exactly what you saw.
- Note the time of the test and the details you used.
- Take a screenshot of any error messages.
- Do not guess at the cause or change several settings at once.
- Send the information to whoever manages the website, rather than passwords.
A precise description speeds up the fix considerably.
A sensible next step
Pick your most important form and run through the table this week. It takes about half an hour, and you will learn whether you can trust it.
If you would like help testing a form, or fixing what the test uncovers, our WordPress support team can work through it with you.


