What 850 Meta Leads Taught Us About Ads for Local Shops
If you have run Facebook or Instagram ads for a local shop, you know the feeling. Leads come in, the cost per lead looks fine, and three weeks later you cannot point to a single job that came from them. Your ad account says you are winning. Your calendar disagrees. We had that exact gap with Morales Autoworks, a paint protection film and ceramic coating shop in Dallas-Fort Worth, until we matched every Meta lead by name against the jobs in the shop’s CRM. What came out changed how we run ads for every local business we work with. Here is the whole thing, numbers included, so you can skip the expensive part.
- 850+
- Meta leads since August 2023Morales Autoworks ad account
- $14.70
- Cost per lead on the best ad108 leads, $1,588 spent
- 7 of 108
- Leads from that ad traced to real jobs$25,599 in pipeline value
- 0 of 59
- Jobs from leads who drive cars under $30k90 day lead export, matched by name
What We Were Looking At
Morales ran three Meta lead campaigns over three years. The first, from 2023 to 2025, spent about $6,600 and produced 594 leads at $11.12 each. The second spent about $3,900 for 204 leads at $19.03 each. A third launched in September 2026 and was too young to judge. All three used Meta’s instant forms, where the lead fills in a short form inside Facebook or Instagram without visiting the site.
On paper the first campaign was the winner. Cheapest leads by far. Then we did the thing most shops never do: we exported 90 days of leads, matched them by name against every job card in the shop’s CRM, and asked which leads actually paid. The second campaign, with leads nearly twice as expensive, traced to 8 jobs worth $27,299. The cheap campaign ran before the CRM existed, so nobody can say what it produced, and that is its own lesson.
| Campaign | Spend | Leads | Cost per lead | Link click rate | Jobs traced |
|---|---|---|---|---|---|
| 2023 to 2025 campaign | $6,603 | 594 | $11.12 | 0.51% | Unknown, before the CRM |
| 2025 to 2026 campaign | $3,883 | 204 | $19.03 | 1.73% | 8 jobs, $27,299 |
| September 2026 campaign (first 5 days) | $151 | 6 | $25.14 | 1.50% | Too early |
Source: Morales Autoworks Meta Ads Manager, lifetime data through September 24, 2026, and HighLevel job records matched to lead exports by name. Job values are pipeline values at the time of matching.
The Four Beliefs That Waste Local Ad Budgets
“A lower cost per lead means the ads are working.” The reality is that the cheapest leads Morales ever bought clicked through to the site a third as often as the expensive ones, and nobody can trace a single job to them. The industry average cost per lead for Facebook lead campaigns is $27.39 across all industries in the LocaliQ 2026 Facebook ads benchmarks, so $11 looks like a steal. It only is if those people buy.
“A professional voiceover will outperform the owner.” The reality is that the ad with Judah, the owner, talking in his own voice cost $14.70 per lead and produced 7 jobs. The same script with an AI voice cost $37.28 per lead and produced none. People in Dallas buy from people, not from narration.
“Everyone who fills out the form is a prospect.” The reality is that 59 of 160 leads in the 90 day window drove cars worth under $30,000, and zero of them booked. A $1,500 protection package on a $22,000 car is a hard sell. The form was collecting the wrong people because the ad invited them.
“Urgency on the form tells you who is serious.” The reality is that “ASAP” and “within a month” both closed at 8 percent, and “just shopping around” closed at 3 percent. The car value field was three times more predictive than the timeline field.
Lesson 1: Judge Ads by Cost per Job, Not Cost per Lead
This is the one that pays for the whole article. When you line the ads up by cost per lead, the ranking looks one way. When you line them up by jobs, the ranking flips.
| Ad | Spend | Leads | Cost per lead | Jobs traced | Job value | Cost per job |
|---|---|---|---|---|---|---|
| Owner on camera, 10 year warranty for $1,500 | $1,588 | 108 | $14.70 | 7 | $25,599 | $227 |
| Owner on camera, different script and font | $1,885 | 85 | $22.17 | 1 | $1,700 | $1,885 |
| AI voiceover, different script and font | $410 | 11 | $37.28 | 0 | $0 | No jobs |
Source: Morales Autoworks Meta Ads Manager and HighLevel, September 2026. Cost per job is spend divided by traced jobs.
The winning ad returned roughly 16 times its spend in pipeline value. The runner up, with a nearly identical click rate, returned less than its spend. You cannot see that difference inside Ads Manager. You can only see it when leads are matched to jobs.
Action step: Pick one place where every lead gets marked won or lost, whether that is a CRM, a spreadsheet or a notebook. Once a month, match ad leads to jobs by name and write the cost per job next to each ad. Turn off the ads that produce leads but no jobs, no matter how cheap the leads look.
Lesson 2: One Concrete Offer From the Owner Beats Everything
The winning ad was not clever. It was Judah standing in his shop saying what he does, what it costs and how long the warranty lasts. Ten year protection, $1,500, his face, his voice. Meta rated it above average on conversion rate against similar ads.
The same offer read by an AI voice with a nicer font lost on every measure, and the ads that led with “premium protection packages” without a price drew lookers instead of buyers. A specific number in the ad does two jobs at once. It tells the right person this is for them, and it tells the wrong person to keep scrolling before they cost you a lead.
Action step: Shoot the owner on a phone, in the shop, saying the offer in one breath, or book a content day and get a month of versions at once. Put the starting price in the ad text. Make three versions aimed at three customer types and let them run seven days without touching them.
Lesson 3: Qualify in the Form, Before the Lead Exists
The most expensive leads are the ones you pay for and then spend time calling who were never going to buy. Here is who actually booked, by the car they drive.
| Car value (from the form) | Leads | Jobs | Close rate |
|---|---|---|---|
| Under $30,000 | 59 | 0 | 0% |
| $30,000 to $60,000 | 56 | 3 | 5% |
| $60,000 to $100,000 | 27 | 4 | 15% |
| Over $100,000 | 15 | 1 | 7% |
Source: 160 unique Morales Autoworks Meta leads, 90 days to September 24, 2026, matched to HighLevel jobs by name.
SUVs and crossovers produced 6 of the 8 traced jobs. Sedans and coupes produced none. If you only ever saw lead counts, you would have aimed the next ad at the biggest group of leads, which was the group that never bought.
The fix is in the form, not in the follow-up. Put the starting price in the ad so cheaper cars self-select out. Use Meta’s higher intent form option, which adds a review step before submitting, and require phone verification where the form allows it. Ask a question that sorts buyers, like the car’s value or the service they want, and tag low value answers so the owner calls the best leads first. Meta’s lead ads documentation covers how the forms are built and what fields they can collect.
What to do: Add one sorting question to your form this week. For a shop it is car value. For a restaurant it is party size or event date. For a service business it is the job size or the zip code. Then look at close rate by answer after 60 days and point the next ad at the answer that books.
Lesson 4: The Lead Is Only Worth What Happens in the First Hour
Here is the uncomfortable part. When we looked at the Morales pipeline, 72 of 84 opportunities were sitting in the first stage, untouched. The close rates in this article only exist because we matched names by hand. Leads were coming in faster than anyone was moving them.
That is not a Morales problem, it is a small business problem. A Harvard Business Review study of online sales leads found that most companies respond far too slowly, and that the odds of qualifying a lead drop sharply after the first hour. Meta leads are worse than most, because the person filled out a form in ten seconds while scrolling and has forgotten you by dinner.
The answer is not more discipline. It is a system that texts the lead within two minutes, alerts the owner to call, and follows up for seven days until the person books or says stop. We build that into HighLevel for clients now as part of ads management, and we run the same thing for our own leads at Evora Social. A missed call gets a text back automatically, and the site’s booking form feeds the same system. Every form submission gets a reply before a human has seen it.
Action step: Time yourself. Fill out your own lead form and see how long until a text or call reaches you. If it is more than five minutes, fix that before you spend another dollar on ads.
Lesson 5: Tell Meta Who Actually Bought
Meta optimizes for whatever you tell it is a conversion. If the only event it sees is “form submitted,” it will find more people who submit forms, including the 59 who never buy. Once your CRM marks a lead as booked, send that event back to Meta through its conversions API and let the algorithm learn from buyers instead of browsers. This is the step most local campaigns never reach, and it is where the cost per job starts dropping instead of the cost per lead.
What to do: Ask whoever runs your ads whether booked jobs are being sent back to Meta. If the answer is a blank look, that is your next project.
What This Means for Your Shop or Restaurant
You do not need a big budget to learn what Morales learned, and the same logic runs through our auto shop marketing and restaurant marketing work. The winning ad spent $1,588 over months. What you need is the matching step, the one almost nobody does, where leads meet jobs by name. Do that once and you will never judge an ad by its cost per lead again.
It will not be tidy. Names will be misspelled, a few jobs will not match, and the first month of numbers will look worse than Ads Manager told you. That is the point. The real number is the one you can take to the bank, and it is usually smaller and far more useful than the one on the dashboard. Our pricing for ads management starts at $750 a month plus spend, and the matching step is included because nothing else works without it. Start with one ad, one price, your own voice, and a stopwatch on your follow-up. The rest follows from there.
Ads are one channel. If you want someone to look at the whole picture first, from the ads and your Google listing to how fast leads get answered, that is what our marketing consulting covers. And if you want leads that keep coming after the ad budget stops, that is the job of local SEO.
Questions Shop Owners Ask About Meta Ads
What is a good cost per lead for Facebook ads for a local business?
The 2026 LocaliQ benchmark puts the average Facebook lead campaign at $27.39 per lead across all industries. For a local shop, anything from $10 to $40 can be fine. The number to watch is cost per booked job, which for Morales ran about $227 on its best ad and never materialized on its worst.
Should I use an instant form or send people to my website?
Instant forms get more leads at lower cost because they are pre-filled and never leave the app. They also bring more unqualified people. Use the instant form with the higher intent option and a sorting question, and make sure every lead is texted within minutes.
Do Meta ads work for auto shops in Dallas?
Yes, when the ad is the owner on camera with a specific price and the shop follows up fast. Morales Autoworks has taken more than 850 Meta leads since 2023 and traced real jobs to them, with the best ad returning roughly 16 times its spend in pipeline value.
How much should a small business spend to test Meta ads?
Enough to get 30 to 50 leads from one ad, which at local costs is usually $500 to $1,500 over three to four weeks. Judge it on booked jobs at day 45, not on leads at day 7.
Should I use an AI voiceover in my ads?
Not for a local business. In the Morales account the AI voice version of the winning script cost two and a half times more per lead and produced zero jobs. The owner’s own voice, recorded on a phone, won.
What is speed to lead and why does it matter for Meta ads?
Speed to lead is how fast you respond after someone submits a form. Meta leads are people who filled a form while scrolling, so interest fades within the hour. An automatic text within two minutes plus a call from the owner is the single biggest fix for a campaign that gets leads but no jobs.