Facebook ads for contractors work when each ad sells one specific job in a named service area, the form filters out people you can’t serve, and someone calls back within minutes. Expect to pay more per lead than most industries: WordStream’s 2026 benchmarks put the median for home improvement lead campaigns at $42.95. Judge results on cost per booked estimate.
Homeowners with water coming through the ceiling search for a roofer. On Facebook and Instagram you reach them earlier, while the new roof or the kitchen is still a someday job. The ad has to turn someday into this month, and your follow-up has to reach them before the next company’s does.
Do Facebook ads work for contractors?
They can, for most residential trades, if your numbers survive the gap between the click and the signed contract. The buyer is a homeowner who wasn’t looking for you a minute ago, often deciding with a partner, and the first thing they want to know is whether you do this exact job, in their area, at a price they can live with.
How well Facebook fits depends on how people buy the job:
| Job type | How people buy | What Facebook ads do well | Watch out for |
|---|---|---|---|
| Emergency repairs (leaks, no heat) | they search and call within the hour | retargeting, seasonal reminders | few people scroll Instagram for a plumber mid-flood |
| Planned replacements (roof, windows, HVAC, siding) | weeks of comparing quotes | creating the trigger: the season, the age of the roof, a visible problem | price shoppers collecting quotes |
| Remodels and additions | months, emotional, visual | before/after creative, project stories | a long lag between lead and contract |
| Commercial and industrial construction | tenders and relationships, few decision makers | staying visible to a small, known audience | form leads rarely look like the deals you win |
General contractors and construction companies selling large projects face the same logic at a bigger ticket. Each lead needs more proof before it fills in a form, and it takes months to turn into revenue. Budget for that lag up front, or the campaign gets switched off just before its first contracts land.
What is a good cost per lead for contractors?
The closest benchmark row is Home and Home Improvement in WordStream’s Facebook Ads Benchmarks 2026, based on 1,892 US campaigns that ran between April 2025 and June 2026. Its averages are medians, in US dollars, and for lead campaigns this is one of the expensive rows:
| Metric (leads objective) | Home and Home Improvement | All industries |
|---|---|---|
| Median cost per lead | $42.95 (third highest of 14 industries) | $27.39 |
| Median cost per click | $2.18 (tied for third highest) | $1.80 |
| Median conversion rate | 5.32% (third lowest) | 8.54% |
| Cost per lead, year over year | up 4.10%, one of only two industries to rise | down 0.98% |
Source: WordStream by LocaliQ, Facebook Ads Benchmarks 2026, leads objective.
Clicks cost more than average and fewer of them convert, so the CPL lands high. What is a good cost per lead on Facebook ads covers what that dataset can and can’t tell you.
The row also lumps a $300 gutter clean together with a $40,000 kitchen. Your ceiling comes from your own books: average job value × gross margin × share of leads that become jobs. Example figures:
| Example trade | Average job | Gross margin | Lead → job | Max CPL |
|---|---|---|---|---|
| Gutter cleaning | $300 | 45% | 20% | $27 |
| Roof replacement | $14,000 | 25% | 8% | $280 |
| Kitchen remodel | $40,000 | 25% | 4% | $400 |
At the median CPL, the gutter cleaner loses money on every customer, while the remodeler could pay nine times the median and still break even. Run your own figures through the break-even CPL calculator before you decide whether $42.95 is cheap or expensive.
Offers that work in Facebook ads for contractors
“Free estimate” is what every contractor offers, so on its own it gives nobody a reason to pick you. These patterns bring different kinds of estimate requests. Whether any of them pays for you shows up only in your booked-estimate numbers.
| Offer pattern | Example | What it attracts | Watch out |
|---|---|---|---|
| One job, one area, one timeframe | “Roof replacement in Plano, installed within three weeks of sign-off” | homeowners ready to move | promise only the capacity you have |
| Fixed-price entry service | “$89 furnace tune-up” | volume and a foot in the door | price shoppers; the upgrade rate decides whether it pays |
| Price-range guide | “What a bathroom remodel costs in Denver: the range from our last 20 jobs” | early researchers | slow to convert, needs a follow-up sequence |
| Design or planning session | “An hour with a designer to lay out your kitchen” | remodel buyers | costly to deliver, so qualify before you book |
| Monthly payments | “New roof from $149 a month” | buyers stopped by the total price | puts the ad in Meta’s financial products and services category (below) |
On a broad audience the creative does most of the targeting. Show the job with real before/after photos from your own projects and name the town. Film the owner walking a finished job: it shows a real company in a way stock photos can’t.
Which Meta rules apply to Facebook ads for contractors?
Contractor ads have no policy of their own, but several of Meta’s rules can reach them:
| If your ads… | What applies | What changes |
|---|---|---|
| promote repair or renovation work | possibly the Housing special ad category | restricted targeting, a wider minimum radius |
| sell new homes or list properties | the Housing special ad category | restricted targeting |
| offer financing or monthly payments | the financial products and services category | restricted targeting, its own campaign |
| recruit installers or crew | the Employment category | restricted targeting, its own campaign |
| tie storm repairs to a named disaster | Meta’s policy on exploiting crises | the ad can be rejected |
Housing: Meta’s definitions disagree
Meta’s guide to choosing a special ad category defines housing ads as ads for “a housing opportunity or related service”, including “listings for the sale or rental of a home or apartment, homeowners insurance, mortgage insurance, mortgage loans, housing repairs and home equity or appraisal services”. Its detailed article on housing ads lists sale and rental listings, homeowners, renters and mortgage insurance, financing such as mortgage loans, home equity and appraisal services, real estate services and aggregators. It doesn’t mention repair or renovation work, and says its examples aren’t a complete list.
So “housing repairs” may or may not cover your roofing or remodeling ads, and Meta’s review makes the call. The category matters if you’re a US advertiser, or your ads reach the US, Canada or the European countries Meta lists, which include the UK, Italy, France, Germany and Spain. Inside it, age, gender, ZIP or postal code targeting, exclusions and lookalike audiences are limited or unavailable, and an audience built around a city or a dropped pin gets an expanded radius: 15 miles (25 km) in the US and Canada, 17 km in the listed European countries.
Build the campaign so it works either way: no age or gender limits, a radius you’d accept under the category, and creative that names your service area. If Meta flags the ads as housing, declare the category instead of appealing ad by ad. For a contractor whose service area is a ten-mile circle, that minimum radius means paying for some clicks you can’t serve, which is one more reason to ask for the ZIP code in the form. The Meta special ad categories guide covers how to declare a category.
Financing, hiring and storm work
- Financing. Meta’s examples of financial products and services include, in the US, 0% APR plans and “in-house installment payments”; in the US, Canada and the listed European countries, credit offers such as long-term financing are covered too. A “from $149 a month” ad belongs in that category, in a campaign of its own.
- Hiring. An ad for installers or crew promotes an employment opportunity, which is the Employment category in the same guide to choosing a category. Keep recruiting out of your lead campaigns.
- Storm and disaster work. Meta doesn’t allow ads that exploit crises or controversial events “as identified by Meta” for commercial purposes, and names natural disasters as an example. Sell the service (“roof inspections and storm repairs in Tampa”), not the event.
Qualifying questions for contractor leads
Two to four questions are enough. Each one costs some volume, so ask only what changes who calls back, and when.
| Question | Why it matters | Format |
|---|---|---|
| ZIP or postal code | drops leads outside your service area before anyone dials | Meta’s prefill field, not a custom question |
| Type of job | routes the lead to the right estimator | multiple choice: repair, replacement, new install |
| Timeline | separates this month from someday | within a month / 1-3 months / just pricing |
| Property ownership | a tenant usually can’t sign off on a new roof | own / rent / manage it for someone |
The ZIP code detail matters. Meta’s form builder collects postal codes through a prefill question, and its lead ads rules don’t allow custom questions that request the same or substantially similar information a prefill question can collect. The same rules require Meta’s prior written permission before a form asks about insurance, including “whether a person is insured” or “a person’s insurance company name or details”, and about financial information such as income or credit scores. If you do insurance-claim roofing or pre-approve financing, take those details on the call.
Instant Form or landing page for contractors?
Match the destination to the size of the decision.
- Instant Forms suit small and standard jobs where the ad has already done the persuading: a tune-up, a gutter clean, a repair quote. If accidental submits are clogging the phone list, switch to the Higher intent form type. Facebook lead ads vs landing page explains the form types and how to test a form against a landing page fairly.
- A landing page suits remodels, additions and replacements in the tens of thousands, where people want proof before they hand over a phone number: photos of your own jobs, price ranges, how the work runs week by week, licence and insurance details, reviews they can check. Meta’s Advertising Standards also require the services in the ad to match those promoted on the landing page, so send a bathroom ad to a bathroom landing page, not your homepage. How to build a landing page for Facebook ads has the checklist.
A contractor’s real cost is the cost per booked estimate, and you only see it when every lead arrives tagged with the ad and landing page that produced it. DropCPL logs each click on your landing page’s own domain, forwards every lead to your CRM by webhook with that attribution attached, and computes CPL per creative × landing page from the spend Meta reports for each ad. Start free →
Speed to lead: call before the next contractor does
Assume the homeowner asked two other companies for a price the same evening. Whoever calls first gets to set the estimate time; the others get voicemail.
- Call within minutes during working hours. If nobody can, send a text straight away with your name, the job they asked about and when you’ll call.
- Book the estimate on that first call, offering two time slots instead of asking when suits them.
- Route by service area and job type, so the person calling can answer the first technical question.
- For leads that arrive at 10pm, make the first call at opening time, and say so in the text.
Then measure it: time to first call and contact rate, per creative. When one creative’s leads rarely pick up, look at what that ad promised before you blame the sales team.
Which conversion should contractors optimise for?
Start with the Leads objective and the leads performance goal. Instant Form leads are counted on Meta’s side. Landing page leads reach Meta only if you send them, so send the Lead event from your server through the Conversions API, with an event_id for deduplication. How to set up the Conversions API walks through it.
Each ad set needs enough budget to get through Meta’s learning phase at your target CPL, and at a CPL near the $42.95 median that gets expensive fast. With a small budget, run one ad set with three to five creatives instead of four starved ones; the Meta ads budget calculator shows the minimum per ad set for your CPL.
Once you have steady volume, look at optimising for a stage from your CRM instead of raw leads. “Estimate booked” is the natural candidate: it happens within days of the lead, and it’s already in your calendar. “Job won” arrives weeks or months later and in small numbers, which is too slow a signal for delivery to learn from. Keep it as the number you report, and let Meta optimise for the estimate.
Measure cost per booked estimate by creative and landing page
Tag every lead with its ad (put ad_id={{ad.id}} in the URL parameters, carry it into a hidden form field and store it on the lead, as in how to track the Facebook ad ID in your CRM). Record the estimate and the job outcome on the same lead record, then divide spend per ad by booked estimates.
Example: a kitchen and bath remodeler spends $6,000 in a month on three creative × landing page pairs.
| Pair | Spend | Leads | CPL | Estimates booked | Cost per booked estimate | Jobs won |
|---|---|---|---|---|---|---|
| Before/after carousel × Instant Form | $2,000 | 80 | $25.00 | 12 | $167 | 2 |
| Owner walk-through video × landing page | $2,000 | 40 | $50.00 | 16 | $125 | 4 |
| Price-range guide × landing page | $2,000 | 55 | $36.36 | 9 | $222 | 1 |
On CPL the carousel wins by a distance. On booked estimates the walk-through video is the cheapest, and the price-range guide is the pair to cut. The jobs column points the same way, but one to four jobs per row is too few to act on. Move budget monthly on booked estimates, and confirm on jobs won over a quarter.