4x return on paid ads for a home service company

The problem in one line

They spent about $8,000 a month on ads and couldn't tell which ones booked jobs.

In short

In 8 months, $65,309 in ad spend turned into $270,277 in closed jobs for a Southern California painting company. That's about $4.14 back for every $1, tracked all the way to signed work, not just leads.

  • $270,277 in closed revenue from paid ads (Jan to Aug 2026)
  • 4.1x return on ad spend across Google Local Services Ads, Yelp and Facebook
  • 11x return on Google Local Services Ads alone
  • 22 jobs closed from paid ads, averaging about $12,500 each

The client

A family-owned residential painting company in Southern California. Interior, exterior and cabinet work, with the average job landing around $13,000. They were spending money on three ad platforms at once. The question was simple: which ones actually turn into signed jobs, and where should the next dollar go?

That's harder to answer than it sounds. Leads came in from a dozen places, and the CRM didn't always know which ad a customer really came from.

What we did

We ran three paid channels and judged each one by closed jobs, not by lead count.

1. Got the tracking right. The Local Services Ads export was matched against the CRM, lead by lead. 39 customers had been logged as plain "Google" when they actually came from Local Services Ads. Fixing that gave LSA credit for the jobs it really produced.

2. Google Local Services Ads. The pay-per-lead listing at the top of Google with the "Google Guaranteed" badge. These are people actively searching for a painter, so lead quality is high. 63% of leads booked an estimate, and 28% of estimates closed.

3. Yelp Ads. Steady volume all year at about $4,600 a month. Yelp leads booked estimates at the highest rate of any channel (71%), but fewer of those estimates closed, and the cost per job ran higher.

4. Facebook and Instagram Ads. The cheapest leads by far at $104 each, 170 in total. But only 29% booked an estimate and 10% of those closed. Monthly spend came down from about $3,400 in Q1 to around $1,200 by summer, so cheap leads weren't eating budget that could work harder elsewhere.

The results

Google Local Services Ads was the clear winner: $11 back for every $1, at about $1,300 per closed job.

Paid ad results by channel, Jan 1 to Aug 24 2026
ChannelAd spendLeadsCost / leadJobsCost / jobClosed revenueReturn
Google Local Services Ads$10,54846$2298$1,319$116,25711.0x
Facebook / Instagram$17,707170$1045$3,541$50,2552.8x
Yelp Ads (estimated)$37,053~70~$529~9~$4,260~$103,765~2.8x
All three$65,309~286~$228~22~$3,010~$270,2774.1x

Jan 1 to Aug 24, 2026. Return = closed revenue divided by ad spend.

What this means for your business

  1. Cheap leads aren't cheap jobs. Facebook leads cost $104 and LSA leads cost $229. But a Facebook job cost $3,541 and an LSA job cost $1,319. If you only watch cost per lead, you'll put money in the wrong place.
  2. People searching beat people scrolling. Someone typing "painter near me" is ready to hire. 28% of LSA estimates closed, compared to 10% from Facebook.
  3. Fix the tracking before you move money. 39 customers were credited to the wrong source. Decisions made on that data could have cut the best channel.
  4. Judge a channel over a quarter, not a month. LSA had two months with zero closed jobs, then closed $37,000 in July. One slow month isn't a reason to pull the plug.

How the numbers were measured

  • Revenue is closed job revenue from the CRM, not profit.
  • Yelp doesn't separate paid from organic customers, so Yelp Ads results are estimated from Yelp's own paid vs. free interaction mix (51% paid). That's why those numbers carry a ~.
  • Ad spend comes straight from Google, Yelp and Meta billing. August runs through Aug 24.
  • Customers from organic Google search, referrals, repeat clients and yard signs aren't counted here, even though they made up most of the company's revenue.

Questions about ad tracking

What's a good return on ads for a local business?

It depends on your job size, but always judge it by signed work, not leads. In our painting case, the company made about $4 for every $1 overall, and $11 for every $1 on Google Local Services Ads.

Why does my CRM say most leads come from Google?

Many CRMs lump Local Services Ads, Google Ads and regular Google search together as "Google." We match each ad account to your CRM, lead by lead. In one account, that fixed 39 customers.

How long before I know if an ad works?

Give it about three months, not one. In our painting case, Google Local Services Ads had two months with no signed jobs, then brought in $37,000 in July.

Find out what your leaks are costing you

Book 30 minutes with Rob. You'll leave knowing your biggest leak and what fixing it is worth, even if we never work together.

Book a 30-minute call Get a free website audit

rob@robpene.com · 562-444-5620

Book a callFree audit