When this Atlanta roofing contractor came to us in November, they were burning $9,800/month on Google Ads through a generalist agency and getting roughly 47 form fills per quarter · most of which never turned into a booked inspection because the team couldn’t get to leads fast enough.
The starting point: form fills, not appointments
What the audit revealed
The previous setup had three problems we see in 8 out of 10 contractor accounts regardless of trade: broad-match keywords with no negative list, a single all-in-one campaign mixing residential and commercial intent, and a landing page that was just the homepage with a contact form scrolled below the fold.
The new campaign structure
We split the account into 4 campaigns by buyer intent: Storm Damage, Asphalt Re-Roof, Metal Roof, and Repair. Each got its own ad groups by city, with Single-Keyword Ad Groups (SKAGs) for the top 8 commercial-intent terms.
- [roof replacement atlanta]
- [storm damage roof inspection]
- [metal roofing contractor]
- [roof leak repair near me]
The negative keyword list that saved us
We added 80+ negatives on day one. The biggest savings came from blocking “DIY”, “kit”, “shingles for sale”, “Lowes”, “Home Depot”, “supply”, “commercial flat roof” and 23 city names outside the service area.
Landing page changes
We built a dedicated landing page per campaign with a hero inspection-booking form, drone-photo gallery, and trust signals above the fold. Conversion rate jumped from 1.8% to 7.4% inside 3 weeks.
30 / 60 / 90 day results
The same $9,800/month budget is now generating roughly 2.5x more booked inspections, with the contractor’s crew calendar booked 7 weeks out.