Skip to content
carpetcleaningSEO

Case Study · Local Services Ads

JS Steam Works got seven times the leads at the same cost per lead.

JS Steam Works, an owner-operated carpet cleaner, was new to Google Local Services Ads. We launched, scaled, and then learned something about adding Search.

Industry
Residential carpet cleaning
Channel
Google Local Services Ads, then Search
Engagement
LSA launched November 2024
Services
Full service: SEO, Business Profile, website, LSA & Google Ads
Status
Active

19 → 138

Local Services Ads leads per quarter

November 2024–January 2025 vs June–August 2025

Source: Google Ads, Local Services campaigns

$30.62 → $31.57

Cost per lead while scaling

Volume up 7x; cost per lead up less than a dollar

Source: Google Ads, Local Services campaigns

+43%

Business Profile website clicks

143 → 205, April–September 2025 vs April–September 2026

Source: Google Business Profile performance

+25%

Business Profile calls

79 → 99, same periods

Source: Google Business Profile performance

262 → 372

Paid leads per year

October 2024–September 2025 vs October 2025–September 2026

Source: Google Ads, all campaigns

The challenge

The goal was more booked cleanings without paying for every click.

The owner wanted a dependable flow of new jobs, and didn't want to pay per click for people shopping for rental machines or DIY tips. Local Services Ads — pay per lead, with the Google Guaranteed badge — was the obvious first channel.

  • Grow lead volume without the cost per lead running away
  • Pay for leads, not clicks
  • Keep the Business Profile pulling its weight alongside the ads

The approach

Here is what we changed.

Launched Local Services Ads

Google Guaranteed setup with services and service area configured, live in November 2024.

Scaled in steps

Budget raised gradually while watching cost per lead, so volume grew without the price running away.

Kept the Business Profile active

Profile calls and website clicks grew alongside the paid channel.

Added tight Google Search campaigns

From October 2025, Search campaigns built narrowly around specific jobs with high booking rates — not broad "carpet cleaning" traffic.

What we learned

The lesson was to judge each channel by the jobs it books.

Adding Search grew total paid leads 42% year over year (262 → 372). On the dashboard, blended cost per tracked lead went from $31.87 to $47.01 — but that overstates it. The Search campaigns target specific high-booking jobs, and their phone calls aren't tracked, so Google only counts part of what they produce. We'll always show you the dashboard number and tell you what it misses.

For you

This is the playbook we'd run for you.

Same audit, same sequencing, same honest reporting. The tactics change with what your audit finds. Your first 30 days start with a strategy call.