Case study · 75-day engagement

From 8 emergency leads/mo to 26 in 10 weeks.

A Seattle drywall company had 14 years of solid commercial work but their residential pipeline was dying. The owner blamed the rainy season. The actual problem: every time a homeowner had a water emergency at 11 PM, the company's Google Ads were paused, the office voicemail picked up, and a 24/7 competitor took the job. They were giving up the highest-margin work in the trade.

The challenge

"My phone goes to voicemail at 5 PM. The water does not stop at 5 PM."

The owner came in through a Yelp review thread where 4 different competitors were positioning as "24/7 water damage drywall repair." He wanted to know if it was real demand or just marketing. The bot scored his website at 58 and flagged "no after-hours conversion path" as the top issue.

We pulled his Google Ads call data + Google Trends:

  • Search volume for "drywall water damage Seattle" peaks 6 PM-1 AM. Almost the inverse of when his ads were running.
  • His ad schedule was 8 AM - 5 PM, Monday-Friday. 60% of the highest-intent demand window was uncovered.
  • Office phone went to a voicemail that said "Our hours are Monday-Friday 8-5." A panicked homeowner with water in the ceiling does not leave a voicemail. They keep calling competitors.
  • Google Local Services Ads slot was wide open. Two of the competitors he was losing to were not even in LSA — they were just running 24-hour Google Ads.

The owner had thought his commercial work would always carry the residential side. He had not run residential ads after 5 PM in 7 years.

The plan

Four priorities for an emergency funnel.

Priority 1: 24/7 Google Ads with dayparted bidding (week 1)

Turned the ads on around the clock with bid adjustments: -30% during business hours (less urgent intent), +70% from 6 PM to 1 AM (peak emergency demand), +40% on weekends. Same daily budget — the algorithm just spent it where intent was highest. Cost-per-emergency-call halved in week 1.

Priority 2: After-hours call routing (week 2)

Set up a CallRail flow: any call after 5 PM or on weekends ringtones the owner's cell first (3 rings), then his foreman's cell, then his nephew (a college student looking for hours). Whoever picks up has a script to qualify, schedule a same-night assessment, and lock the job. Killed the voicemail entirely.

Priority 3: LSA application (week 3-5)

Submitted Local Services Ads application. License + insurance were already in place. Background check cleared in week 4, badge was live by week 5. First LSA call came in at 9:47 PM on a Saturday. Job booked the same night.

Priority 4: Flooded-basement landing page

Built a single landing page at /water-damage-emergency with a phone number above the fold (tap-to-call, 60px tall on mobile), a "we are open right now" indicator pulled from CallRail availability, the 3 most common types of water damage with photos, and a callback form for people who needed help but did not want to talk.

AI tools we used

The internal stack that did the heavy lifting.

We do not pretend the work happens by hand. Three of our internal tools are the reason this engagement moved as fast as it did. Each of them replaces what used to be days of human time.

Tool 01Internal search-term scoring

Custom AI we built that grades every search term on commercial intent, urgency, and local match in under a second. Replaces a half-day human audit.

Tool 02Negative keyword expander

Takes one bad search term and proposes the related variants we should also negate before they show up. Found 87 negatives nobody had thought of.

Tool 03Conversion tracking validator

Crawls the site and fires every conversion event in a sandbox so you can see what is actually being recorded vs what should be. Caught the duplicate form fire in 4 minutes.

The execution

Week-by-week timeline.

WeekWhat we shippedWhat moved
Week 1Ad schedule expanded 24/7 with dayparted bids, callback form deployedFirst after-hours emergency lead day 3
Week 2CallRail after-hours routing live with cascading 3-person ringAfter-hours pickup rate 22% → 87%
Week 3LSA application submitted, all docs gatheredApplication accepted same week
Week 5LSA badge approved, first LSA leads start$28 LSA CPL on emergency calls
Week 6Flooded-basement landing page launched, separate from main siteForm-fill conversion 8.4% on after-hours visits
Week 9Bid algorithms have 60 days of conversion data, Google Ads efficiency stabilizesSearch CPL settles at $54
Week 10Quarterly reviewEmergency lead run rate stable at 26/mo, retainer continues

The numbers

What changed in the data.

+225%
Emergency leads
-52%
Cost per emergency lead
3.4×
After-hours close rate

The mix that produced the new run rate:

Average ticket on an emergency water damage job is $4,800. The +18 monthly emergency leads, even at the trade-standard 50% close rate, represents $43,000/mo in new gross revenue. The 75-day engagement at $799/mo cost less than one emergency repair.

I had been losing the after-hours work for 7 years. Mark looked at my ad schedule for 5 minutes and said: turn it on at night. The competitors I had been envious of were not better. They were just open.

Drywall company owner·Seattle, WA · 12 crew, mostly residential

Keep reading

Three more turnarounds you might find useful.

Want a story like this with your numbers on it?

Thirty minutes. We pull up your account on screen. We tell you what we would do, what we would not do, and whether we are the right fit for your business.

Book my 30 min call Run my free audit