House Painting Meta Ads: 151 Leads at $59 CPL and 28 Booked Estimates

An anonymized Los Angeles and Orange County painting contractor used Facebook and Instagram video ads to generate interior and exterior repainting inquiries.

$8,860 in ad spend
151 leads at $58.68 per lead
28 leads booked into an estimate in the weekly report

Reporting window: December 30, 2025 - April 13, 2026, across two campaign flights with a five-week pause in between.

Alexey Beletsky and team ran the lead-generation campaign, built the offer and the creative angle and tracked performance through to booking status. This case measures acquisition and booked estimates; confirmed sales and revenue are not established by the report.

The Challenge: Create Demand for a Job Nobody Is Searching For

The client was an anonymized residential painting business working across Los Angeles and Orange County, selling both interior and exterior repainting. Every job is priced by an on-site estimate, so the campaign had to be judged on booked estimates rather than on form fills.
No search moment
Nobody types "repaint my house" the week the paint starts fading. Demand for painting has to be created in feed, which means the ad has to do the noticing on the homeowner’s behalf.
A crowded local market
Los Angeles and Orange County have no shortage of painters. Without a specific offer and visible workmanship, an ad competes on price alone.
A quote-based sale
A painting job is priced on site. A form fill is the start of a scheduling problem, not a sale, so the campaign had to be measured on booked estimates and not on lead volume.
A budget that had to prove itself
The account ran in two flights with a deliberate pause between them. That structure only works if the numbers hold up when the campaign restarts from cold.

What We Did: One Offer, One Format, Weekly Read-Outs

The supplied workbook documents the ad copy, the audience notes, the daily delivery data and the lead-management process. The following describes what is supported by those records.
One concrete offer
Built the whole account on a free estimate plus 10% off, capped at five homeowners. The same offer runs through every ad variant in the copy tab - no generic "get a quote" messaging.
Vertical video only
Every ad name in the lead log is a 9x16 video: exterior story ads, before-and-after cuts and interior transformation clips. No static image ad appears anywhere in the report.
Interior and exterior as separate angles
The offer was written for both, and the intake form asked the homeowner which one they needed, so the mix could be read from the data instead of assumed.
Qualifying context on the form
ZIP code, project type and how soon the homeowner wanted to start were captured with every inquiry, so the sales team could sort the urgent leads before the first call.
Follow-up tracked to a booking
The report carries a weekly booking column and a per-lead agent assignment. That is what makes a cost per booked estimate calculable at all.
Weekly reporting, not monthly
Spend, impressions, clicks, leads, cost per lead and bookings were reviewed week by week across both flights. That is how the five-fold spread in weekly CPL became visible.

The Results: 151 Leads and 28 Booked Estimates

Totals below are recalculated from the dated daily rows of the client report, excluding subtotal rows. Booking counts come from the weekly booking columns, which were filled for the first flight only. The campaign ran December 30, 2025 - February 3, 2026 and March 12 - April 13, 2026.
  • $8,860
    Total ad spend across the two campaign flights
  • 151
    Interior and exterior painting leads generated
  • $58.68
    Weighted cost per lead: total spend divided by 151 leads
  • 28
    Leads booked into an estimate in flight one, 23.7% of that flight’s 118 leads
  • $208.89
    Ad spend per booked estimate in flight one; not a cost per acquired customer
  • $33
    Best full-week cost per lead: 36 leads from $1,170, January 19-25
Weekly Meta Ads report for an electrical panel upgrade campaign: spend, leads, cost per lead, impressions and reach by week, July-October 2023
The weekly report this case is built on, December 30, 2025 - April 13, 2026: $8,860 in ad spend, 228,939 impressions, 3,130 clicks and 151 residential painting leads at a $58.68 average cost per lead. Rows are recalculated from the dated daily rows; the campaign was paused between February 4 and March 11. The revenue and ROAS columns were never filled.
Funnel summary for an electrical panel upgrade Meta Ads campaign: $3,389 spend, 70,340 impressions, 56 leads at $60.51, 17 booked
What the two flights bought: $8,860 in spend, 228,939 impressions, 3,130 clicks, 151 painting leads at $58.68 and 28 of them booked into an on-site estimate at $208.89 each. Booking status comes from the client’s weekly report, not from a signed contract - the report records no revenue or ROAS.
Every ad in the lead log is a 9x16 vertical video built on one offer: a free estimate plus 10% off, capped at five homeowners. No static image ad appears anywhere in the report. Exterior ads stopped the scroll; interior jobs were what homeowners actually asked to have quoted, by roughly three to one.

The Key Insight

The campaign answered the question it was funded to answer: $8,860 bought 151 residential painting inquiries at $58.68 each across Los Angeles and Orange County, and 28 of them were booked into an on-site estimate at $208.89 of ad spend apiece. What the same data also shows is that almost none of that was decided by the size of the budget.
Three things drove it.
The cost per lead was made in the creative. The $58.68 average hides a five-fold spread between weeks. Week two ran $80 a lead on $2,147. Two weeks later the same account bought 36 leads at $33 on $1,170 - the best week of the campaign and the highest click volume of the whole period, on a smaller budget. Nothing structural changed except which video was carrying the spend. And because the report has no ad-level breakdown, identifying the video that earned the $33 week is exactly what the next test has to be built to answer.
The cheapest week was not the best week. January 19-25 delivered leads at $33 and booked 11% of them. January 5-11 delivered leads at $80 - the worst cost per lead of the flight - and booked 48%, thirteen estimates at $165 each, the cheapest booked appointments in the entire report. A team optimising on cost per lead alone would have switched off the better half of the account. The booking column is the one that should be steering the budget, and it exists for flight one only.
Stopping costs more than running. Flight one delivered leads at $49.57. After a five-week pause, the same offer and the same vertical videos delivered them at $91.24 - 84% more - and flight two never got back to flight one’s volume. Whatever the account had learned about who to show the ads to had to be re-bought at full price. At this budget level a smaller continuous spend is worth more than a bigger stop-start one.
And the honest limit of this report: it measures acquisition, not revenue. Spend, impressions, clicks, leads, cost per lead and booking status are all recorded, and so is the value of the estimates the sales team wrote - 40 of them, $924,795 quoted, the largest single bid at $237,000. Closed-won revenue is not recorded anywhere. So this case can prove what a painting lead costs in Los Angeles and what share of those leads reach an estimate. It cannot prove what any of them were signed for. The next version of this campaign is not a bigger budget - it is ad-level reporting so the $33 week can be repeated, one continuous flight instead of a stop-start pair, and closed-won revenue in the workbook so the next $9,000 can be judged on signed jobs instead of booked slots.
Free Consultation Request
Watch the welcome video.
I explain the marketing problems companies run into most often, and when I can genuinely help.
Watch the short welcome video before you fill out the form
Please fill out every field carefully so that I or my assistant can get in touch with you.
Which service are you interested in?