It is a Thursday afternoon. You realize you have not heard from a new customer through the website in a while. Not a single quote request in, what, three weeks? Maybe four?
At first you think it is the season. Then a regular customer mentions, almost in passing, that they filled out your form twice last month and wondered why you never got back to them.
You go to your site and try it yourself. You type your name, a test message, and press send. A friendly green message says, “Thanks, we will be in touch.” Everything looks fine. But nothing shows up in your inbox. Not in five minutes, not in an hour.
The form did not break loudly. It broke quietly, and it has been quietly losing you work.
What is actually going on
A contact form looks like one thing, but it is really a chain. The visitor fills it out, the browser sends the data to some service, that service sends an email (or posts to a tool like a CRM or a spreadsheet), and finally an inbox decides whether to show it to you. Any link in that chain can fail, and most of them fail without telling anyone.
Here are the usual suspects.
An expired or changed key
Many forms, especially in AI-built sites, rely on a third-party service: a form backend, an email-sending service, or a database. These connect using keys or tokens. Keys can expire, get rotated, hit a usage limit on a free tier, or get revoked when someone tidies up an account. The form still shows its success message because that message is often displayed before, or regardless of, what happens next.
An integration that changed underneath you
If your form passes leads through an automation tool, a CRM or a spreadsheet, any of those can change. A field gets renamed, a connection gets disconnected after a password change, or a service updates how it works. The form keeps submitting into a pipe that no longer leads anywhere.
The domain moved, but the form did not
If you recently connected a custom domain, some form tools and spam protection services (like CAPTCHA tools) only accept submissions from domains you have approved. The old builder address was approved. Your new domain was not.
The email is arriving, just not where you look
This is the most common one. The email is sent, but your inbox provider files it in spam or quarantines it. That usually comes down to email authentication.
Why spam folders swallow form emails
Inbox providers like Gmail and Outlook are suspicious of email that cannot prove where it came from. Three DNS records handle that proof for your domain:
- SPF lists which services are allowed to send email for your domain.
- DKIM adds a digital signature so inboxes can confirm the message was not altered.
- DMARC tells inboxes what to do when a message fails those checks, and can send you reports.
If your form sends email through a service that is not included in your SPF record or is not signing with DKIM for your domain, inboxes may treat those messages as suspect. Inbox providers have also grown stricter about authentication over time, so a setup that worked last year may not pass today.
A form that says “sent” only proves the first step worked. The only real test is a message landing in the inbox you actually read.
There is one more trap. Some forms are set up to send the notification “from” the visitor’s own email address. It seems helpful, since you can hit reply. But to an inbox provider, your website sending mail pretending to be someone at Gmail looks exactly like spoofing. The better pattern is to send from an address on your own domain and put the visitor’s address in the reply-to field.
What to do right now
You can diagnose most of this in under an hour.
- Submit a real test. Use your form like a customer would, with a personal email address you can check. Note the exact time.
- Check every folder. Look in spam, junk, promotions and any quarantine area your email provider uses. Search for your test message by the time you sent it.
- Check the service behind the form. Log in to your form backend, email-sending service or automation tool. Look for a log or history of recent submissions and any errors, failed runs or usage warnings.
- Look for expired or missing keys. If your site uses environment variables or settings for API keys, confirm they are still present and valid in your host and in the service itself.
- Confirm your approved domains. If you changed domains, make sure the new one is allowed in your form tool and any CAPTCHA settings.
- Review your email authentication. Check that your domain has SPF, DKIM and DMARC records, and that the service sending your form email is included. Your email-sending service will document the exact records it needs.
- Fix the from address. Send from an address on your own domain. Put the visitor’s email in reply-to.
- Put a weekly test on your calendar. Same day, same time, two minutes. This is the habit that turns a month of lost leads into a day.
If you find submissions sitting in a form service you forgot you were using, export them and reply to those people today. A late reply is better than none.
When to hand it off
Forms are one of those things that should just work, and it is reasonable not to want to babysit them. The tricky part is that the fix often spans three places at once: the site, the sending service, and your DNS records.
This is a core part of what AftUp does. Every plan includes a regular form test, and Growth and above test your forms weekly, so a quiet failure gets caught fast. We also set up email authentication on your sending domain, tidy up from and reply-to addresses, and track form submissions as conversions so a sudden drop shows up in your report. You can read more on our forms and email page, or compare what each plan covers on pricing.
The short version
- A success message does not prove delivery.
- Expired keys, changed integrations, unapproved domains and spam filtering are the usual causes.
- SPF, DKIM and DMARC on your sending domain help your form emails reach the inbox.
- Send from your domain, reply to the visitor.
- Test your form every week, like checking the mail.
If you want to know whether your form is actually reaching you, send us your URL for a free site check and we will test it as part of the report.