When Facebook ads bring in leads but no customers, the ads are usually doing their narrow job: getting forms filled. The problem sits in one of six places between the form and the invoice, and you can find which one in an afternoon with a spreadsheet and your last 30 leads.
The short version: Facebook shows your ad to people who were not looking for you. A lead there is a raised hand, not a request for a quote. Meta's default form, called "more volume", is built to make that hand as easy to raise as possible, and Meta's own help page says the alternative "higher intent" form exists to "prevent receiving submissions from those people who are only marginally interested." Everything that turns the raised hand into a booked job has to be built on your side, and most of it is process, not ad settings.
Where are your Facebook leads dropping out?
The answer is in four numbers you can pull from your last 30 leads: how many you reached, how many were real prospects, how many booked a visit or estimate, and how many bought. Each drop-off has a different cause, so measuring first stops you from rewriting ads that were never the problem.
Put the last 30 leads in a sheet with four yes/no columns, then read across:
| Where most leads fall out | What it usually means | Section to fix first |
|---|---|---|
| You never reach them (no answer, wrong number, "I never filled that out") | Form too easy, prefilled old details, or slow first contact | Form friction, response speed |
| You reach them but they are not a fit (wrong area, wrong service, renters, job seekers) | Targeting or ad copy is attracting the wrong people | Targeting, qualifying |
| They are a fit but will not book | Offer is vague, or the first conversation does not earn a visit | Offer, qualifying |
| They book but do not buy | Price, trust or quote follow-up, not Facebook | Quote follow-up |
| Some ad sets produce jobs and others never do | Meta is optimising for form fills; you are not telling it which leads bought | Feeding outcomes back |
This is the same logic as working out how many leads your business is losing overall: count at each stage, then fix the largest leak. One r/Contractor owner put the common misdiagnosis plainly: "I used to think my leads were bad, but most of them were just going cold because there was no real system behind it." That is an anecdote, but it matches what the stage count usually shows.
If nobody recorded outcomes, that is finding number one.
1. Targeting: is Meta showing the ad outside your area?
Often, yes. When you pick a city or region in Ads Manager, Meta's location targeting help says you may see "Reach more people likely to respond to your ads" checked by default, and that Meta will then "find more people interested in traveling to these locations or making purchases there." Uncheck it if you only serve that area.
Three settings do most of the damage for a local service business:
- The location expansion box above. It is the most direct cause of leads from towns you do not serve, which we cover in detail in why leads come from outside your service area.
- A radius drawn around your office instead of your jobs. Draw it around the neighbourhoods where your best jobs have come from, and exclude the areas you never drive to.
- An ad that speaks to everyone. Broad targeting works on Meta now because the creative does the targeting. An ad that opens with "Homeowners in Northside with a 15-year-old furnace" filters in a way no interest setting can.
Watch for a second pattern too. An r/FacebookAds advertiser with 276 upvotes on the post described leads that were "total garbage, bot traffic from random third-world countries that have nothing to do with your target market." If you see foreign numbers or gibberish names, that is a verification problem as much as a targeting one, and the form section below and our guide on how to tell if a lead is fake both help.
2. Form friction: is the form too easy to submit?
If a large share of leads do not answer or deny submitting, the form is almost certainly too easy. Meta's default instant form prefills name, phone and email from the person's profile, so submitting takes a couple of taps, and some profiles hold an old number or an email nobody checks.
LYFE Marketing, in a video with about 77,000 views, reports business owners hearing "how did you get my information" from people who did submit, and recommends replacing prefilled contact fields with typed custom questions. That is a practitioner observation, not a study, but it matches what owners describe: on r/sweatystartup a painter who buys and runs leads lists the kickback he hears as "We were just looking" and "Oh, that wasn't us."
The fixes Meta itself offers:
| Setting | What it does | Source |
|---|---|---|
| Higher intent form type | Adds a review screen so people confirm their details, and a note that your business may follow up. Mobile Facebook and Instagram feeds only. | Meta: instant form types |
| SMS verification | Sends a one-time passcode; only people with a working mobile can submit, and landlines cannot. Your leads file gets a phone_number_verified column. | Meta: SMS verification |
| Multiple-choice questions | Meta: "Fewer multiple choice questions results in more form submissions, whereas more multiple choice questions typically results in more quality leads." | Meta: lead ad best practices |
| Conditional answers | Changes later answer options based on earlier ones, useful when you offer several services. | Meta: conditional answers |
Two or three multiple-choice questions are usually enough: the service needed, the timeline ("this week", "this month", "just researching"), and whether they own the property.
The bigger version of this decision is whether to use an instant form at all or send people to your own page. We cover that choice in lead form vs landing page; for this diagnosis, the point is that friction is a dial. If your team can call every lead within minutes, you can afford a looser form. If you cannot, tighten it. The same logic applies to junk on your website form, covered in how to stop spam form submissions.
3. Response speed: are you calling within the hour?
If leads answer when you call quickly and ghost when you call the next morning, speed is the leak. Facebook leads are the fastest-decaying kind because the person was mid-scroll, not mid-search.
The most cited numbers come from Harvard Business Review's "The Short Life of Online Sales Leads". Firms that tried to contact a lead within an hour were nearly seven times as likely to qualify it as firms that tried even an hour later, and more than 60 times as likely as firms that waited 24 hours or longer. The same research audited 2,241 US companies with a test web lead: 37% responded within an hour, 23% never responded at all, and the average response time among those that did reply was 42 hours.
On r/FacebookAds, a med spa owner getting about 20 leads on $150 every two weeks described exactly this: follow-up "was weak, there were hours… sometimes until the next [day]" before anyone reached out. The founder of Pest Budger, a 17-location pest control company, is blunter about forms on his YouTube channel: "If you call within the first five minutes, you'll win. But as you wait an hour or the next day, the lead is already dead."
Meta's guidance on responding to leads points the same way from the platform side:
- Get leads delivered, do not download them. Meta says manually downloading from Leads Center "can take more time to follow up." Connect a CRM or at minimum an instant text and email notification.
- Run lead ads when you can answer. Meta recommends scheduling lead ads during business hours if your business needs immediate follow-up.
- Do not leave leads sitting in Meta. Leads can only be downloaded for 90 days after submission; older ones disappear from the download even though they still show in your results.
If you cannot call within minutes, an instant text that names the service they asked about and offers two call times buys you the hour. We lay out the timing rules in how fast you should respond to a lead, and the same principle behind a missed-call text back applies here.
If your Facebook leads go cold before anyone calls, the fix is the system after the form. We build a qualifying form that arrives with the answers attached and an instant first response, so every lead hears from you while they still remember asking.
4. Qualifying: do you know who is worth a visit?
If you reach people but spend your week quoting jobs you never win, you are not qualifying. The first call should decide in three minutes whether a lead gets a visit, a phone quote, or a polite no.
A 26-year GC on r/Contractor summed up the channel: Facebook can get traction for "cheap, high volume" work, but "Be prepared for a ton of terrible leads though." Another put it as "The more you advertise, the more time you will spend with window shoppers." Both are anecdotes, and both point to the same process gap: nobody sorting the leads before the truck rolls.
A short qualifying script for the first call:
- Confirm the ask. "You asked about [service] for [address] on Facebook this morning, is that still something you are looking at?" This is where the "I never filled that out" leads resolve themselves.
- Area and ownership. Are they in your service area, and do they own the property or have authority to hire?
- Timeline. This week, this month, or researching? Researchers go on a nurture list, not the estimate calendar.
- Budget anchor. Give a typical range for the job and listen. A lead who flinches at your normal range was never a customer.
- Book or release. Either set a specific visit time now, or tell them what happens next and when.
If you asked the right multiple-choice questions on the form, half of this is done before you dial. The leads that pass become far easier to close, and the ones that do not stop costing you drive time. When qualified leads still go quiet after the estimate, the problem has moved downstream to why customers ghost after a quote.
5. Offer: is there a reason to answer the phone?
If leads qualify but will not book, the offer is usually doing too little. "Get a free quote" asks a stranger to invite a salesperson over; a specific, low-risk first step gives them a reason to pick up.
On Facebook you are interrupting someone, so the offer has to carry the weight that search intent carries on Google. A knife-sharpening owner on r/sweatystartup described it well: Facebook leads were "far lower" quality "since these people aren't actively looking for a sharpening service and require more persuasion." The persuasion has to be in the ad and the form, not only on the call.
What tends to work for service businesses:
- A specific first job, not a vague consultation: a fixed-price tune-up, an inspection with photos, a first treatment.
- A reason to act this week: a seasonal window or limited slots in their area, only when it is true.
- Proof from their neighbourhood: a review or before-and-after from a nearby street does more than a generic five-star badge.
- One call to action: book, call or submit. Not all three.
Skip the "50% off" headline: it attracts people who wanted the discount, not the service.
6. Feeding Meta outcomes: does the algorithm know which leads bought?
Probably not, and that is why campaigns drift toward cheap, bad leads over time. By default Meta optimises for the event you give it, a form submission, so it finds more people who submit forms. It has no idea which of them became customers.
A reply on r/FacebookAds described the mechanism well: Meta "has no signal on who actually becomes a paying customer," so "the algorithm drifts toward easy clickers." Meta's answer is the "Maximize number of qualified leads" performance goal with a CRM connection. In Meta's own reporting, lead ads using the Conversions API for CRM with that goal saw 21% lower cost per quality lead on instant forms than ads using "Maximize number of leads", and 9.5% lower on website forms.
Here is the part nobody on page one mentions. Meta's developer requirements for conversion leads optimization ask you to generate at least 200 leads per month, to optimise for a stage that happens within 28 days of the lead, and for that stage to convert between 1% and 40%. A one-truck business getting 40 leads a month cannot feed that model properly.
So do the manual version, which works at any size:
- Tag every lead with its ad set and ad. Meta's leads file includes them; your CRM or sheet should keep them.
- Mark the outcome within a week: reached, qualified, booked, sold, and the job value.
- Every two weeks, compare ad sets by cost per booked job, not cost per lead. Turn off the ones that never produce a booking, even if their leads are cheap.
- Ask every customer how they found you. An r/Contractor owner: "ALWAYS, ALWAYS, ALWAYS ask your clients how they got your contact info."
This is the same discipline as tracking where your leads come from across every channel, applied inside one ad account. When you do cross 200 leads a month, the data is already in the shape Meta's CRM integration needs.
What it looks like when Facebook ads are working
Working means your cost per booked job fits inside your margin, and that number comes from your own sheet, not an industry average. Benchmarks help only as a sanity check on the first step.
For that sanity check, WordStream's 2025 Facebook benchmarks put the average leads-campaign cost per lead at $27.66 across industries, up 20.94% year over year, and $41.26 for home and home improvement. If you are paying several times that, targeting or creative is the problem. If you are near it and still getting no customers, the problem is after the form.
Then do the arithmetic that actually decides whether to keep spending. These are worked examples using the $41.26 benchmark, not data:
| Leads that become jobs | Ad cost per booked job | Works for |
|---|---|---|
| 1 in 5 | about $206 | Most repair, install and replacement work |
| 1 in 10 | about $413 | Higher-ticket jobs: roofs, HVAC systems, remodels |
| 1 in 20 | about $825 | Only very high-value jobs, and a sign a stage above is broken |
If the numbers work, scale slowly. If not, the table at the top tells you which stage to fix first. For a wider benchmark across channels, see what a good cost per lead is for contractors, and for how Facebook stacks up against other channels in one trade, the best lead sources for plumbing companies comparison is a useful model.
Can someone just do this for me?
Some of it, yes, and some of it only you can do. You can change the form type, uncheck the location box, turn on SMS verification and add three questions in about an hour. That alone often cuts the "never filled it out" leads sharply.
What is harder to do alone is the part that runs every day: answering within minutes while you are on a job, working a qualifying script consistently, and logging outcomes by ad set so the next decision is based on booked jobs. That is where most owners stall, not because it is complicated, but because it competes with the actual work. A contractor follow-up system that texts, reminds and records for you is the minimum; having someone run the campaign and the follow-up together is the step after that.
The 15-minute Facebook lead audit
Run this before you pause the campaign or fire the agency:
- Last 30 leads in a sheet with reached, qualified, booked, sold columns
- "Reach more people likely to respond to your ads" unchecked if you only serve your area
- Form type set to higher intent, or a documented reason why not
- SMS verification on, and
phone_number_verifiedchecked in the leads file - Two or three multiple-choice questions: service, timeline, ownership
- Leads delivered by instant notification or CRM, not manual download
- Lead ads scheduled for hours when someone can respond
- First contact within an hour, with a text if a call is not possible
- A five-step qualifying script used on every call
- Every lead tagged with its ad set, with the outcome marked within a week
- Cost per booked job calculated per ad set every two weeks
If the site you send people to is its own leak, work through why a site gets traffic but no calls as well.
Checked the list and still cannot see which ads produce jobs? We build a conversion page and qualifying form for your service area, run the Meta campaigns, and track every lead through to a booked job so spend follows what actually sells.
