How We Built a Lead Generation System for a Service Business in 6 Weeks
Note: Client name and identifying details have been changed.
When a Chicago-area HVAC company came to us in late 2025, they had a website, a Google Business Profile, and a problem. They were generating 8 to 12 inbound leads per month despite serving a densely populated area with strong seasonal demand. Their two main competitors, both smaller operations, were visibly busier. Something was wrong with the top of their funnel.
Six weeks later, they were generating 40 to 55 inbound leads per month from the same service area with zero increase in ad spend. Here is exactly what we did.
Week 1: Audit and diagnosis
Before touching anything, we needed to understand why the current setup was underperforming.
Google Business Profile audit: The GBP was 60% complete. No service descriptions, no secondary categories, no Q&A content, thin photo set (4 exterior photos from 2021), 22 reviews with no responses, zero posts in the last 6 months. The primary category was "Air Conditioning Contractor" when it should have been "HVAC Contractor" with secondary categories for heating, air conditioning, furnace, and duct work. Website audit: The Squarespace site loaded in 6.2 seconds on mobile (PageSpeed Insights score: 34/100). The homepage had no phone number in the header. The contact form had 8 required fields. There was no social proof visible above the fold. The site had one page covering the entire service area ("We serve Chicagoland") with no neighborhood specificity. Keyword analysis: They were ranking on page 2 or 3 for most of their target keywords. Their GBP was appearing in position 6 to 8 in Maps results, outside the 3-pack. Local competitors with fewer reviews were outranking them because of more complete GBP optimization and more recent review activity. Diagnosis: Three primary problems. GBP neglect, slow website losing mobile visitors, and no neighborhood-level content to capture mid-funnel local searches.Week 2: Google Business Profile overhaul
GBP improvements have the fastest feedback loop of anything in local digital marketing. We tackled this first.
Changes made:
- Updated primary category to "HVAC Contractor"
- Added 6 secondary categories (air conditioning, heating, furnace repair, duct cleaning, air quality, and heat pump)
- Rewrote the business description to 740 characters covering key services, service area, years in business, and certifications
- Added every applicable attribute (licensed, insured, background-checked technicians, emergency service, free estimates)
- Loaded 40 new photos: equipment, team, completed installs, service trucks, before/after shots
- Seeded the Q&A section with 12 common customer questions and detailed answers
- Added booking link connected to their scheduling system
- Created the first 4 GBP posts (seasonal maintenance offer, emergency service availability, certifications highlight, and a completed project spotlight)
Week 3: Website surgery
We did not rebuild the Squarespace site. We fixed the highest-impact problems within the existing platform.
Speed improvements:- Compressed and converted all images to WebP format. Average image size went from 1.2MB to 180KB.
- Removed 3 third-party JavaScript embeds that were loading on every page (a live chat widget they had not used in 18 months, a social feed embed, and an analytics script that duplicated their Google Analytics)
- Enabled Squarespace's built-in image lazy loading settings
- Mobile PageSpeed score improved from 34 to 61. Not perfect, but the load time dropped from 6.2 seconds to 3.1 seconds.
- Added phone number to header with click-to-call link on mobile
- Reduced contact form from 8 required fields to 4 (name, phone, service needed, preferred contact time)
- Added a review summary badge to the homepage hero section: "4.8 stars from 22 verified Google reviews" with a link to their GBP
- Added two customer testimonials (with permission and full names) above the fold on the homepage
- Moved the primary CTA button from below the fold to the hero section
Week 4: Neighborhood content buildout
This was the largest content production push.
We identified their 8 highest-revenue neighborhoods based on the last 18 months of job history: Lakeview, Lincoln Park, Wicker Park, Bucktown, Logan Square, Ravenswood, North Center, and Andersonville.
For each neighborhood, we created a dedicated service page (approximately 700 words each) covering:
- Services available in that neighborhood
- Types of buildings and HVAC systems common in that area (important: older Chicago neighborhoods have a lot of steam heat systems and central air retrofits that require specific expertise)
- Common HVAC problems in that area and season (drafty vintage apartments, basement systems in greystones, rooftop units in multi-unit buildings)
- Local references establishing familiarity with the neighborhood
- Reviews from customers in that area (pulled from existing Google reviews, with customer permission)
Internal linking strategy: each neighborhood page linked to 2 to 3 related service pages. Each service page linked to relevant neighborhood pages. The hub page linked to all neighborhood pages.
New content total: 8 neighborhood pages, 1 hub page, 4 updated service pages. Approximately 8,000 words of new, geographically specific content.Week 5: Review velocity campaign
The review request system was running, but we needed to accelerate velocity to move GBP rankings. We ran a one-time email campaign to past customers (with their permission).
The email was short:
- Subject: "We'd love your feedback, [Name]"
- Body: 3 sentences thanking them for their business, explaining that reviews help other homeowners find trustworthy HVAC service in the neighborhood, and providing the direct GBP review link
- No incentive offered (Google prohibits incentivized reviews)
All reviews received responses: positive reviews got personal, specific acknowledgment. The 3 negative reviews received apologetic, non-defensive responses with an offer to make it right and direct contact information.
Week 6: Measurement and baseline
By the end of week 6, we had enough data to establish a new baseline.
GBP metrics (from the GBP Insights dashboard):
- Search impressions: up 340%
- Direction requests: up 180%
- Phone call clicks: up 210%
- Website visits from GBP: up 90%
Contact form submissions: up from 8 to 12 per month to 31 per month in week 6. Phone calls tracked through a call tracking number: up from roughly 15 per month to 38 per month.
Combined: 69 inbound leads in week 6 (measuring against a 4-week average). After 30 days, the monthly average stabilized at 40 to 55 leads per month.
What did not happen
No paid advertising increase. Zero additional ad spend.
No social media campaign. They continued to use social media at the same frequency as before.
No email newsletter. They did not have one.
No SEO link building campaign. No outreach, no backlinks.
All of the improvement came from: GBP optimization, website conversion fixes, neighborhood content, and review velocity.
The actual cost
The 6-week project cost $6,800. It included the audit, GBP overhaul, website conversion work, content creation for all 9 new pages, review campaign setup, and 30 days of post-launch monitoring.
At their average job value of $650 and a 30% close rate on inbound leads, going from 20 monthly leads to 45 generates approximately $9,750 in additional monthly revenue. The project paid for itself in the first month after completion.
What this project does not include
What we built is not a complete digital marketing program. It is a foundation.
The neighborhood pages will take 3 to 6 months to rank well organically. The GBP will continue to improve as review volume grows. There is no content marketing system producing ongoing organic traffic. There is no email marketing or retargeting setup. There is no paid advertising strategy.
For a business at this stage, those investments come next, after the foundation is proven. We start with what creates immediate, measurable results, then build on top of that with more sophisticated programs.
If your service business is in a similar position (website that is not converting, GBP that is not ranking, no neighborhood-level presence), the fix is not complicated. It is specific work applied consistently. That is what we do.
