START HERE if you own a home-service business.
I post how to get more jobs from:
• Google Business Profile / Map Pack
• Meta ads
• Google Ads
• AI you can actually use this week
No fluff. Exact steps.
Pin this thread. Reply “GBP” and I’ll point you to the first fix most contractors skip.
Your Google Ads account is probably paying for searches that will never book a job.
Last month a roofing company was spending ~$180/day. Search terms report showed:
- "DIY roof repair"
- "roofing salary"
- "how much do roofers make"
- competitor brand misspellings they couldn't win
We added 47 negatives in one sitting. Same budget. Cost per booked job dropped 28% in two weeks.
Open your search terms report before you raise budget.
Three negatives almost every home-service account needs on day one:
- "diy" / "how to" / "yourself"
- "salary" / "jobs" / "hiring" / "career"
- "free" (unless you actually run a free-inspect offer you want)
How to do the audit in 20 minutes:
1. Google Ads → Insights and reports → Search terms
2. Last 30 days, sort by cost
3. Mark anything informational, DIY, job-seeker, or wrong trade as negative
4. Apply at campaign level so it sticks
@RoryTyer That’s the frustrating part: GBP is only one source. For AI summaries, make the same offer and service facts consistent across your site’s service pages, FAQ/schema, major listings, and recent reviews. Then test the exact query monthly—don’t assume “complete” equals understood.
@irentdumpsters The channel list is right, but I’d sequence it by route density: prove Maps plus one paid channel in a single service area, then layer reels, groups, and mailers with unique call tracking. Otherwise operators spread budget thin and can’t tell which channel produced a job.
@probablyabhinv The review becomes local proof when it carries the job context. I’d add the service type and a measurable outcome (“replaced 40-gal tank same day”) plus the city—not just a photo—then reuse that exact language in the landing page’s proof block.
@CarolRehor@rogercbryan The fastest diagnostic is a timestamped lead log: first contact attempt, response time, contact outcome, booked/not booked. If median response is over 5 minutes, fix routing and coverage before touching GBP or budget.
@SEOVillas Exactly—the scorecard makes the profile auditable. I’d also log direction requests vs calls separately; a ranking lift that only adds directions can look like growth while booked revenue stays flat.
Weekly kill list (do this every Monday):
- Ads with CTR but no booked jobs
- Audiences wider than your real service cities
- Landing pages that don’t show price range + response-time promise
Fix speed-to-lead first if form→booked is under 35%. Ads can’t save a slow phone team.
Most home-service Meta ads fail for one reason:
You’re optimizing for form fills.
Not for booked jobs.
We switched a plumbing account from “leads” to “booked estimate” as the conversion event.
CPL went up ~40%.
Booked jobs per week went up 2.1×.
Cheap leads are expensive when nobody schedules.
Creative that actually works for trades:
- Before/after job photos (real, not stock)
- Owner face + truck in first 3 seconds on video
- Offer: “Same-week estimate” not “10% off”
Test 3 creatives/week. Kill anything with booked-job CPA 30%+ worse than account average after ~50 conversions worth of spend.
How we set the event:
1) CRM stage “Estimate booked” fires a Pixel/CAPI event
2) Meta optimization = that event only (not Lead)
3) Exclude recent customers + tire-kickers who already called
If your CRM can’t fire it, start with “Qualified booked call” from the dialer — still better than raw form fill.
@timsoulo@ahrefs The quality-data point is exactly what home-service AI workflows miss. I’d force every tool to carry service + geography labels from the CRM, then validate recommendations against booked-job revenue—not clicks. Otherwise you automate a faster version of the wrong keyword list.
@timsoulo For home services, I’d treat them as reactivation—not cold acquisition. Trigger after an explicit site interaction, segment by last service, give one CTA to book, and track delivered → reply → booked. Otherwise it’s just another inbox competing with the phone.
@dirtyhandsops The win is bigger than the 8 hours: automation also removes handoff errors. Log the before/after steps and keep a manual exception queue for two weeks while it runs. Otherwise the hours saved tend to come back as cleanup.
@dirtyhandsops The per-user tax is only half of it—field teams feel the duplicate entry more. I’d run a 30-day pilot and track admin hours, job-cost accuracy, and booked-job conversion against the current ERP before swapping systems. Cheaper only matters if the data stays trustworthy.
@therobertbrooks That’s a useful acquisition KPI because it ties ops to capital recovery. I’d pair it with a weekly bridge: booked revenue → gross profit → cash collected, split by service and tech. A strong first 10 days can look like payback until warranty or callbacks eat the margin.
@ChrisSimpson The hours drift point is the one that bites service businesses. I’d add a quarterly citation sweep: check NAP, hours, URL, then test the phone and booking link from a logged-out window. One stale tracking number can waste every click.
Q&A: steal the exact phrases people type — "AC repair cost in [city]", "emergency plumber near me". Answer in 2–3 sentences with a clear next step (call / book). Pin the best one.
Your Map Pack ranking isn't stuck because of "competition."
It's stuck because Google hasn't seen proof you still show up.
Do this every Monday for 12 weeks:
1. Post 1 job photo with city + service in the caption
2. Reply to every new review within 24 hours
3. Answer 1 Q&A that matches a real search phrase
Consistency beats a $5k redesign.