How to test your website contact form so no enquiry goes missing
A form that shows a thank-you message hasn't necessarily delivered anything. The enquiry has to be saved, the notification has to reach an inbox someone reads, and any tool it's copied to has to accept it. Testing means following one message along that whole route, and doing it again whenever anything on the route changes.
The route an enquiry takes
On an Anticode site, a contact form submission goes through four stops, and each can fail on its own:
- The page accepts the post. Posts must come from the site itself and are rate-limited per visitor, which stops spam bots but also means rapid repeat tests from one browser can be refused.
- The dashboard saves it, sealed at rest, under the project.
- The email notice goes to the address shown beside the project's "Email me when a form is sent" switch, if that switch is on. It's sent from Anticode's own address, not your domain.
- Connectors pass a copy to Slack, Google Sheets, HubSpot or whichever tools are switched on for the account. Each submission is sent once, without retries.
That last detail matters: if a connector's credentials stopped working last week, the enquiries from last week are still in the dashboard but never reached the sheet. The dashboard is the record; everything else is a copy.
Run the test
- Use the live site, on a phone, not the preview. Fill in the form as a customer would, with a subject you'll recognise, such as "Form test 24 Oct, phone".
- Check the confirmation. The thank-you message should appear and say something true. If it promises a reply within a day, make sure that's a promise you keep.
- Open the project's submissions in the dashboard. The test should be there within moments. If it isn't, the problem is at the page: check you're on the published address and that the site was published after the form was added.
- Check the inbox. Look in spam and promotions folders as well. If the notice landed in spam, mark it as not spam and add Anticode's sending address to your contacts.
- Check each connector. Look for the test in the Slack channel, the row in the sheet, the contact in HubSpot. In the connector settings, "Send a test" checks a message connector on its own, and "Check the connection" confirms Mailchimp, Kit or HubSpot details still work.
- Test from a second device on a different network, a few minutes later, so the rate limit doesn't confuse the result.
- Delete the test entries from the dashboard and any connected tools so they don't pollute your counts.
When the test fails
| Symptom | Likely cause | What to do |
|---|---|---|
| Nothing in the dashboard | Testing an old or unpublished version | Publish again and retest on the live address |
| In the dashboard, no email | The email switch is off, or the notice went to spam | Turn it on; check spam; check the address shown beside the switch |
| Email arrives, sheet doesn't update | The connector's credentials or Apps Script changed | Re-enter the details and use the connector's test |
| Newsletter sign-up missing in Mailchimp | Mailchimp uses double opt-in | Confirm the test address from the email Mailchimp sends |
| HubSpot has nothing | HubSpot only receives submissions that include an email address | Make sure the test includes one |
| Some enquiries show as held | A free site has passed its monthly allowance | Held submissions are never sent on to email or connectors; upgrading only makes them visible in the inbox |
Free sites and the monthly allowance
A free site keeps a monthly allowance of submissions visible (100 by default); past that, new ones are held, and held ones are never emailed or sent to connectors, even after the account upgrades (upgrading makes them visible in the inbox). For a busy site this is the most likely reason enquiries seem to vanish late in the month. If you're close, check pricing or watch the count in the dashboard.
When to test again
- After every publish that touches a page with a form.
- After adding, removing or re-entering a connector, or changing the Google Sheet it writes to.
- After changing who receives notices, or changing the email address on the account.
- Monthly, as a routine, even when nothing has changed. A two-minute check beats a lost month of leads.
In Pro mode, the Map tab draws the site's forms and the connectors they feed, which is a quick way to confirm nothing was disconnected by a change before you send the real test.
What Anticode doesn't do
Anticode doesn't retry a connector delivery that failed, doesn't alert you when a connector stops accepting messages, and doesn't send an automatic reply to the visitor. The notice comes from Anticode's address, so your own spam filtering matters. Connectors belong to the whole account, so a test from one site appears in the same tools as every other site, tagged with its name. More on routing in route contact form enquiries and on spam in form emails going to spam.
Questions people ask
My form says sent but I got nothing. Where is it?
Check the project's submissions in the dashboard first. If it's there, the form worked and the problem is the email notice or a connector. If it isn't, retest on the published address.
How often should I test my contact form?
After every change that touches the form or where it sends, and once a month regardless.
Will a failed connector delivery be retried?
No. Each submission is sent once. The dashboard keeps it, so you can copy anything missed by hand.
Can I test without filling up my free allowance?
Tests count like real submissions, so keep them to a few and delete them afterwards.