After-hours leads, what an HVAC website needs to capture them
It is 2am, a basement is flooding. Your website has 30 seconds to convert that homeowner into a phone call. What the site has to do, and what to rip out.
It is 2am on a Tuesday. A homeowner is standing in three inches of water. They Google “emergency plumber near me.” They tap one of the top three results.
You have about thirty seconds to convert them into a phone call.
If your website’s hero shows a stock photo of a smiling tradesman holding a wrench, you have already lost. If your “contact us” link goes to a form that says “we will respond within 24 hours,” you have lost. If your phone number is at the bottom of the page in a footer with twelve other links, you have lost.
This is what an HVAC, plumbing, electrical, or roofing website actually needs after hours.
The phone number is the conversion
Forget contact forms for the emergency case. The visitor is not filling out a form at 2am. They are calling someone.
Your phone number is on every page, in the top-right of the header, large, tap-to-call linked. Plus a second time in the hero, formatted like:
24/7 emergency: (555) 123-4567
That is the entire value proposition for the after-hours visitor. Everything else on the site is for the next-day, comparison-shopping visitor.
The hero answers three questions in two seconds
Three things, no more:
- Are you in my service area?
- Are you open right now?
- What’s your phone number?
If the visitor cannot answer those three in the first scroll, they bounce. Do not bury the answers under “Welcome to our family-owned business since 1987.” Family-owned-since-1987 is fine in the footer. The hero is for the homeowner with a flooded basement.
After-hours coverage needs more than a recording
The reason most trade businesses lose after-hours leads is that the homeowner calls, gets the answering service, leaves a message, and then calls the next listing on Google. By the time you check the messages in the morning, the job is gone.
Two patterns work:
A real on-call rotation. Phone forwards to whoever has the night. The on-call tech calls back within five minutes. Most one-truck operators can do this.
An AI dispatcher. The website chat triages the call (urgent or not, what’s broken, where), captures the homeowner’s contact details, and sends the on-call tech an SMS with the full triage. The homeowner gets a confirmation in the chat that the tech is being paged. The tech sees the SMS and decides whether to call back now or first thing.
The dispatcher pattern wins for solo operators because it lets the tech sleep until something is actually urgent, while still capturing every lead in a triaged form.
A working AI dispatcher has four parts:
- A floating chat widget on every page
- A system prompt that knows your services, your service area, your hours, and your emergency policy
- A route handler that calls a model (Claude Sonnet 4.5 via OpenRouter is what we use, but any frontier model works)
- An SMS or email integration that pages the on-call tech with the triaged lead
You can build it from scratch. Or buy Iron Branch Trades, which ships with the whole pattern wired up.
NAP consistency, because Google reads it
Name, Address, Phone. Same on every page. Same on Google Business Profile. Same on Yelp, Angi, Thumbtack. Same in your header, your footer, your contact page, your service-area pages.
Google penalizes inconsistency. If your website says “Northeast HVAC” and your Google Business Profile says “Northeast Heating and Cooling,” your local search ranking drops.
Pick one canonical name, address, phone. Use it everywhere. Set a calendar reminder to audit twice a year.
Trust signals belong above the fold
License number. Insurance carrier and policy number range (don’t publish the policy number, just the carrier). Bonded status. Years in business. Better Business Bureau rating, if applicable.
Each one is one short line. Together they take up about as much space as a single hero photo. They are worth more than the photo.
The reason: when a homeowner is choosing between three plumbers at 2am, the one with the visible license number gets the call. License numbers signal “real business that survives chargebacks and complaints.” That signal is rare on bad sites and expected on good ones.
Service area pages, written for actual cities
A page titled “HVAC service in Bangor, Maine” outranks a generic “service area” page that lists fifty cities for the query “HVAC Bangor Maine.”
If you serve more than three cities, build a page per city. Each page has:
- The city name in the H1
- The cities you serve listed as actual nearby neighborhoods
- A short paragraph about service in that city
- The same NAP, license, hours, and AI dispatcher widget as the rest of the site
Yes, it feels repetitive. Google rewards it. Trade businesses that do this rank for “HVAC [city]” queries that they would never rank for from a single homepage.
What to rip out
Contact forms with a 24-hour SLA. They train the homeowner to call your competitor instead. Replace them with a tap-to-call button or the AI dispatcher.
Stock photos of generic technicians. Either show your truck, your tools, your team, or skip the people-photo entirely.
A blog full of generic HVAC tips. “Five reasons to change your filter” written by an SEO content mill ranks against thousands of identical posts. If you blog, blog about the work you actually do (the weirdest emergency you got called to, why one furnace brand fails after eight years, when to repair vs replace).
A long About Us page about the founder’s “passion for the trades.” The homeowner is choosing between you and three competitors. They care that you are licensed and respond fast. Save the founder story for podcast appearances.
Pop-up overlays asking for email signups. Every one of them costs you 5-10% of leads. Worth almost nothing.
What this looks like, built
Iron Branch Trades is a Next.js 16 trade-business site template with the AI dispatcher already built in. Single config file drives services, contact, hours, and the dispatcher’s system prompt. Works for HVAC, plumbing, electrical, roofing, septic, locksmiths, garage door, pest control. $79, single-site commercial license, single-page Next.js source you own.
The dispatcher uses Claude Sonnet 4.5 via OpenRouter, you bring your own API key, and a typical after-hours triage runs a few cents in tokens.
If your current site has a “thanks for visiting, we will respond within 24 hours” form on it, the gap between that and “homeowner calling you within thirty seconds” is closer than you think.