Trades & Home Services Email Deliverability
A customer filled out your contact form. You never saw it.
The lead notification went straight to your spam folder. Or it disappeared entirely. The customer waited a day for a callback, didn't get one, and called the next contractor on Google. You lost a $3,000 job because of a $0 email problem that nobody told you existed. And it's probably been happening for weeks.
Google tightened their sender requirements in 2024, Microsoft started rejecting non-compliant email in May 2025... and most trades websites, built by local agencies who handle design but not email infrastructure, were never configured for any of this.
By Valentin Bora. 25 years building for the web. Configured email infrastructure for sites handling 12M+ monthly visitors. 5.0/5 on Codeable (166 projects).
What it actually costs you
Every missed lead
is a job that went to someone else.
A homeowner needs their AC fixed. It's July, it's 95 degrees, and they're not going to wait around. They search Google, find your site, fill out the contact form, and expect a callback within a couple hours. The form submission triggers a notification email to you. That email goes to your spam folder. You never see it. The homeowner calls the next HVAC company on the list. You just lost a $500 service call... and probably a lifetime customer... because of an email you never received.
This isn't a once-in-a-while problem. If your website's email authentication isn't configured properly... and for most trades sites, it isn't... it's happening to some percentage of every lead you generate. Think about what you're spending on Google Ads, SEO, yard signs, truck wraps, and referral programs to get people to your website. All of that investment ends at a contact form that silently drops leads into spam.
The numbers vary by trade, but the average job values make even a small failure rate expensive. HVAC service calls: $300-5,000. Plumbing: $200-2,000. Roofing estimates: $5,000-15,000. Electrical work: $200-3,000. If you're missing just one lead per week because the form email went to spam, that's $10,000-50,000+ per year depending on your trade. And you have no idea it's happening because the leads just silently disappear.
It's not just incoming leads either. If you use a booking plugin like Bookly or Amelia for appointment scheduling, those confirmation emails might not be arriving. The customer books a Tuesday 2pm appointment, doesn't get the confirmation, shows up uncertain... or doesn't show up at all because they assumed it didn't go through. And quote follow-ups? If you're sending estimates by email and they're landing in spam, the customer thinks you never bothered to respond.
The worst part: most trades businesses find out they have this problem when a customer calls and says "I filled out your form three days ago and nobody called me back." By then you've lost the job, damaged your reputation, and you still don't know how many other leads you missed who just called someone else without telling you.
Why this happens
Your website was built for looks,
not for email.
The agency set up the form but not the email
This is the pattern I see over and over with trades businesses. A local marketing agency builds you a clean website, installs Contact Form 7 or Gravity Forms, tests it once ("yep, got the email"), and hands you the keys. Nobody configures DNS authentication because it's not in the agency's scope... they do design and SEO, not email infrastructure. The form works fine for a while, then Google or Outlook tightens their filtering, and suddenly the emails start disappearing. The agency either doesn't know how to fix it or charges you for hours of trial-and-error troubleshooting.
Shared hosting, shared reputation
Most trades websites are on shared hosting... GoDaddy, Bluehost, SiteGround, HostGator. That means your site shares an IP address with hundreds of other sites. When any of those sites send spam (or get hacked and start sending spam without the owner knowing), the IP gets flagged. Your perfectly legitimate form notification gets sent from that same flagged IP. Gmail sees the reputation, checks for authentication records that don't exist, and routes your lead straight to spam.
Missing or broken DNS authentication
SPF, DKIM, and DMARC are DNS records that tell email providers "yes, this message really came from my domain." A 2024 analysis of the top 1 million domains found that 39% lacked even a basic SPF record, and roughly 86% had no effective DMARC protection. For trades websites, the percentage is almost certainly higher because these sites are typically built quickly, domain DNS is left at defaults, and nobody thinks about email authentication until it breaks.
The rules just got stricter
Google and Yahoo started enforcing new sender requirements in February 2024... SPF and DKIM authentication, a published DMARC record, spam complaints under 0.3%. Microsoft followed in May 2025, starting to reject non-compliant mail outright. Sites that were "working fine" for years suddenly stopped getting their emails through. This is why you might have noticed the problem only recently... the rules changed, and your site wasn't updated to match.
WordPress sends email the wrong way
By default, WordPress uses PHP's mail() function. No authentication, no verification, no way for the receiving server to confirm the message is legitimate. Senders with full authentication (SPF + DKIM + DMARC) are roughly 2.7x more likely to reach the inbox. PHP mail() gives you none of those. Every form plugin, every booking plugin, every notification from your WordPress site goes through this same unauthenticated channel.
The good news: trades websites are usually the simplest to fix. One contact form, one email flow, straightforward DNS records. Most are fully fixed within 24 hours. The bad news: until it's fixed, you're losing leads and you don't even know it.
The numbers
One missed lead per week adds up fast.
Think about the average job value in your trade. A plumber gets a call for a water heater replacement: $1,500. An HVAC tech gets a summer AC install: $3,500. A roofer gets a hail damage estimate: $8,000. An electrician gets a panel upgrade: $2,500. Now think about how many of those leads come through your website contact form. If even one per week goes to spam instead of your inbox, do the math.
One missed lead per week at your average job value. For a plumber that's $78,000/year. For a roofer, it could be over $400,000. Even at the low end... a $300 service call, one per week... that's $15,600/year. The fix costs $59 and takes 24-48 hours. It pays for itself in the first missed lead you stop missing.
And that's just the leads you know about. The customer who fills out your form, doesn't hear back, and calls the next contractor on Google... they never tell you they tried. You never know they existed. The only evidence is a form submission that generated an email you never saw. For most trades businesses, there's no monitoring in place to catch this. The leads quietly disappear and you chalk up the slow week to seasonality or market conditions.
avg HVAC job value
avg roofing job value
global inbox placement (Validity 2025)
inbox rate with full authentication
The process
Six steps from broken to fixed.
This is the same process I follow on every engagement. Most fixes are done within 48 hours.
Run the free scan
Enter your domain on this site. You'll see exactly which SPF, DKIM, DMARC, and MX records are missing or broken.
Full diagnostic
I run SPF, DKIM, DMARC, MX, reverse DNS checks, scan 120+ blacklists, and assess your sending reputation.
You share DNS access
I'll need login or delegate access to wherever your DNS is managed... Cloudflare, GoDaddy, Namecheap, Bluehost, SiteGround, Hostinger, or Squarespace Domains.
DNS + sending service fixed
I configure SPF, DKIM, DMARC records and set up your sending service... SendGrid, Postmark, SES, or SMTP plugin.
Inbox placement verified
I send test emails to Gmail, Outlook, and Yahoo and confirm they land in the inbox. You get screenshots as proof.
Report + walkthrough
Loom video explaining what was broken and what I changed, plus a written report with all DNS records for your files.
About DNS access: I work with all major providers. If you're not sure where your DNS is managed, I'll help you figure it out. If you'd rather not share credentials, I can give you exact records to add yourself... but direct access means faster turnaround and fewer back-and-forth messages.
Next step
Find out what's broken
in 30 seconds.
Run a free scan on your domain. Checks SPF, DKIM, DMARC, MX, and who manages your DNS. Plain English, no account required.
Issues found? I'll fix them for $59.
- ✓ SPF, DKIM, DMARC, and MX record fixes
- ✓ DNS published and re-scanned to confirm
- ✓ 24–48 hour turnaround
- ✓ Money-back if I can't improve your setup
Complex multi-sender or WordPress SMTP setups? Book a call and we'll scope it together.
100% money-back guarantee
If you're not happy with the result for any reason, you get a full refund. No conditions, no hoops.
Who's fixing this
Valentin Bora
I've been building and managing web infrastructure for 25 years. I've configured email systems for sites handling 12M+ monthly visitors, including G4Media (Romania's largest independent news group, 3M+ monthly readers). Email infrastructure is something I deal with on nearly every project because it's one of the first things that breaks when a site scales... and one of the last things anyone bothers to check until customers start complaining.
I work through Codeable, an exclusive freelancer network where only 2% of applicants get in. Codeable holds a 4.8/5 on Trustpilot. My personal rating across 166 projects is 5.0/5.
years in web infrastructure
projects on Codeable
client rating
monthly visitors managed
"I've worked with many developers and engineers throughout my career. Valentin is amazing. I could sense his talent, knowledge, and experience immediately; which is typical of extremely bright developers yet also very rare."
Mike C."Above & beyond what was required. Not just capable but reliable and most of all, an absolute genuine pleasure to work with. Of all the developers I've worked with, this is an absolute 1st!"
Kiran B."This guy is a lifesaver! My business was crippled for almost three weeks. Once Valentin and I connected he had my problem solved in a few hours of work."
Tara N.All reviews from Codeable
Frequently asked questions
Things people usually ask me about this.
Why aren't my contact form emails arriving?
Almost always authentication. Your WordPress site sends form notifications through PHP's mail() function on a shared server (GoDaddy, Bluehost, SiteGround... the usual suspects) where hundreds of other sites share the same IP. Gmail and Outlook check that IP's reputation, and if any of those sites have been sending junk... your lead notification gets lumped in. On top of that, most trades websites are missing SPF, DKIM, and DMARC records. A 2024 analysis of the top million domains found 39% lacked even a basic SPF record, and about 86% had no effective DMARC. Google started enforcing stricter requirements in February 2024, Microsoft followed in May 2025. If your site hasn't been configured for these rules, your form notifications are getting filtered.
I'm on GoDaddy/Bluehost shared hosting. Is that the problem?
It's a big part of it. Shared hosting means you're sharing an IP address with hundreds of other websites. If even a few of those sites send spam or have been hacked and are sending spam without knowing it, the entire IP gets a bad reputation. Your form notification emails get sent from that same flagged IP. The fix routes your email through a dedicated email service like Postmark or SendGrid, which has clean IP addresses specifically maintained for good deliverability. You don't have to change your hosting... we just bypass it for email.
Will this fix Contact Form 7, Gravity Forms, or WPForms notifications?
Yes. All WordPress form plugins use the same underlying mail function. Contact Form 7, Gravity Forms, WPForms, Ninja Forms, Elementor Forms... they all rely on WordPress's wp_mail() to send notifications. The fix is at the infrastructure level, so once email authentication and routing are properly configured, every form submission notification benefits. I also check that each form plugin is configured correctly for the sending service, because some plugins have their own email settings that can override the global configuration.
What about appointment booking emails from Bookly or Amelia?
Same fix, same infrastructure. Bookly and Amelia send confirmation and reminder emails through WordPress's mail system. Once the sending infrastructure is properly authenticated, appointment confirmations, reminders, and follow-up emails all land in the inbox. I verify each type of email during the post-fix testing to make sure everything is working, including any reminder sequences you have scheduled.
How fast will this be fixed?
Most fixes are done within 24-48 hours. Run the free scan first; if issues are found, I'll fix them for $59.
What if my emails still go to spam after the fix?
Then I keep working. It's not done until your form notifications actually arrive in your inbox and your appointment confirmations reach your customers. Most issues are resolved with DNS authentication and proper sending configuration, but sometimes there's something deeper... a blacklisted IP, or your domain ending up on a list because a previous owner or a compromised site used it. I'll find it and fix it. If for some reason I can't solve it, you get a full refund. That hasn't happened yet.
Do I need to change my hosting?
No. The fix works with whatever hosting you're on. I route your email through a proper sending service that bypasses your hosting server's mail system entirely. Your website stays where it is, your domain stays the same, nothing changes from a visitor's perspective. The only difference is that form notifications and customer emails now go through a clean, authenticated channel instead of your shared hosting IP.
My web agency set up the site but form emails stopped working. Can you fix it?
This is the most common scenario I see with trades businesses. A local marketing agency builds the site, sets up Contact Form 7 or Gravity Forms, tests it once, and it works. Six months later, Gmail or Outlook tightens their filtering and the form emails start going to spam or disappearing entirely. The agency either doesn't know how to fix it (it's not really their specialty) or charges you for hours of troubleshooting. I fix the root cause... DNS authentication and sending infrastructure... so it doesn't break again when providers update their rules.
Your emails might be going to spam right now.
Find out in 30 seconds.
Run a free scan on your domain... checks SPF, DKIM, DMARC, blacklist status, and who manages your DNS. Instant results, plain English, no account required.
Every day your emails land in spam is a day you're losing leads.
Based in Europe (EET/EEST). Working hours overlap with US East Coast, UK, and Australia. Most fixes delivered within 24-48 hours regardless of timezone.
Last updated: May 2026