Most business owners who search for help with Facebook ads have already spent money and have nothing to show for it. They boosted a post, watched the “reach” number climb, and then waited for the phone to ring. It didn’t. Now they’re wondering if Facebook actually works for a service business or if the whole thing is a scam.
It works. But the way most local service businesses run ads is almost guaranteed to fail, and the reasons are specific and fixable.
The benchmark cost per lead on Facebook for home services runs $10-25 when campaigns are built correctly. If you’re paying more than that, or getting leads who never answer a callback, something in your setup is broken. This guide walks through each piece in order: account structure, campaign objective, audience, creative, budget, and how to read results. Each step builds on the last, so follow them in sequence rather than jumping to the part that sounds most interesting.
This is not a general marketing tutorial. It’s a practical walkthrough of the decisions that determine whether your budget turns into booked jobs or disappears into Facebook’s revenue column.
Step 1: Get Your Business Manager and Pixel Right Before You Spend a Dollar
The most expensive mistake in Facebook advertising isn’t bad creative or the wrong audience. It’s building campaigns inside the wrong account structure and then losing everything when an employee leaves or an agency relationship ends.
Start by setting up Meta Business Suite using your business email, not your personal Facebook profile. This gives you a Business Manager account where you own the ad account, the Pixel, the Page, and all the data. If you’ve been running ads through a personal account or letting a contractor run them through theirs, stop. You don’t own those assets and you can’t take them with you.
Once Business Manager is live, install the Meta Pixel on your website. This is a short snippet of code that goes in the header of every page. If you’re on WordPress, the PixelYourSite plugin handles this without touching code. If you’re on a custom site, your developer can place it in two minutes.
Installing the Pixel is only half the job. The critical part is verifying that it fires a Lead or Contact event specifically on your thank-you page after someone submits a form, or on a confirmed call connection if you’re using call tracking software. Open Meta’s Events Manager, navigate to your Pixel, and use the Test Events tool to confirm the event fires correctly. If Facebook can’t see your conversions, it can’t optimize for them. You’re paying for traffic with no feedback loop, which is exactly why boosted posts produce clicks but no calls.
While you’re in Business Manager, connect your Facebook Page, your Instagram account, and your business phone number to the same account. This consolidates your assets and lets you run ads across both placements from one place.
Common pitfall: Boosting posts directly from your Facebook Page bypasses Business Manager entirely. You get reach data and maybe some comments, but no conversion tracking and no retargeting capability. It’s the most expensive way to run Facebook ads because you’re flying completely blind.
Success indicator: Events Manager shows your Pixel firing a Lead or Contact event within 24 hours of setup. If you see the event in the dashboard, the tracking foundation is solid and you’re ready to build campaigns.
Step 2: Choose the Right Campaign Objective for a Service Business
Facebook gives you a long list of campaign objectives when you start a new campaign. Most of them are wrong for a local service business. Picking the wrong one at this stage is like hiring a salesperson and telling them their only job is to hand out flyers. Technically they’re doing something, but not the thing that gets you paid.
For most local service businesses, use the Leads objective. This was previously labeled “Lead Generation” and the interface may show it differently depending on when you’re reading this, but the function is the same: Facebook optimizes delivery to find people most likely to submit your form or call you.
Within the Leads objective, you’ll choose between Instant Forms and website leads. Here’s the honest tradeoff. Instant Forms open directly inside Facebook without sending the person to your website. They’re fast, they pre-fill contact information, and they produce more volume. They also tend to produce lower intent because the barrier is so low that people sometimes submit without fully reading what they’re signing up for. Website leads require a working landing page and proper Pixel event tracking, but the people who complete a form on your site have taken an extra step and are often more serious.
For trades and home services, where 40-70% of leads come in by phone rather than form fill, consider adding a phone number field to your Instant Form and making it required. You can also run call ads, which show a “Call Now” button as the primary action. These work particularly well for urgent services like emergency plumbing or HVAC repair where someone needs help today, not tomorrow.
What to avoid: The Traffic objective sends people to your website and optimizes for clicks, not conversions. You’ll get cheap clicks from people who bounce immediately. The Engagement objective optimizes for likes and comments. Neither of these pays your crew. Skip Awareness entirely at this stage. You need conversion data first.
If your landing page is solid and your Pixel is firing correctly, the website conversions path inside the Leads objective often produces the best lead quality for established service businesses. But if your site isn’t built for conversion or you haven’t confirmed Pixel tracking, start with Instant Forms and fix the website situation in parallel.
Success indicator: Campaign objective is locked in before you touch audience or budget settings. The order matters because your objective determines how Facebook builds the rest of the campaign structure.
Step 3: Build an Audience That Actually Matches Your Service Area
Geographic targeting is where most local service businesses waste the most money, and it’s one of the easiest things to fix.
Set your location targeting to your actual service radius. If you serve a 20-mile radius around your shop, enter that radius. Don’t target the entire metro, the DMA, or the state because Facebook’s default suggestions will push you toward broader geography. Broader geography means more impressions, more clicks, and more leads from people you can’t actually serve. Most home service businesses cover a 15-30 mile radius. Use that number honestly.
For age targeting, set your range to 28-65+. This aligns with the homeowner demographic for most trades. Younger audiences do use Facebook, but they convert poorly for home services because they’re less likely to own the property, less likely to have the budget authority, and less likely to be the decision-maker for a roofing job or HVAC replacement.
Interest targeting is less important for local service businesses than most guides suggest. You don’t need to layer in “home improvement” or “homeownership” interests on top of a tight geographic and age target. Doing so narrows your audience further without meaningfully improving quality, and it can shrink your pool to a size that makes it hard for Facebook’s algorithm to find enough people to optimize against.
Retargeting is where the real money is. Create a custom audience of people who visited your website in the last 30 days. This group already knows you exist and showed enough interest to click through. They’re your highest-converting segment and they’re often underused by service businesses that only run cold prospecting campaigns.
Lookalike audiences can work well, but only after you have at least 100 confirmed leads in your source list. Before that, the data is too thin and the lookalike will be based on noise rather than signal. Build the source list first, then create the lookalike.
Common pitfall: Targeting three counties when you only serve three counties sounds obvious, but the default settings push you toward broader areas. Check your location settings every time you build a new campaign. It’s easy to miss.
Success indicator: Your estimated audience size falls between 50,000 and 300,000. Below 50,000 and Facebook struggles to find enough people to optimize. Above 300,000 for a local service campaign usually means your geography is too broad.
Step 4: Write Ad Creative That Earns a Call, Not Just a Click
The homeowner scrolling Facebook at 8pm doesn’t know your company name and doesn’t care yet. They care about their leaking roof, their broken AC, or the electrical panel their home inspector flagged. Lead with their problem, not your logo.
Specific language outperforms vague language every time. “Same-day AC repair in Lancaster County” tells someone exactly what they’re getting and where. “Call us for all your HVAC needs” tells them nothing that differentiates you from the other three HVAC companies running ads in the same area.
For images, use photos of your actual truck, your crew on a job, or finished work you’re proud of. Stock imagery of smiling homeowners shaking hands with contractors performs poorly for trades because it doesn’t look real. Your truck with your logo parked in front of a house signals legitimacy in a way that a stock photo can’t. If you have a short video of a job walkthrough or a before-and-after, test it. Video doesn’t always win, but it’s worth knowing for your specific audience.
Include at least one trust signal in your copy. Years in business, your license number, a specific guarantee, or your rating all work. “Licensed, insured, serving Chester County since 2008” is more persuasive than a generic tagline because it answers the unspoken question every homeowner has: can I trust this person in my house?
Match your call to action to your form type. If you’re using an Instant Form, “Get a Free Quote” sets accurate expectations. “Learn More” is vague and produces lower completion rates. “Call Now” works for urgent services. Be direct about what happens when someone clicks.
Launch with two creative variants per ad set. Let each run for at least seven days before you decide which one is working. One week gives Facebook enough data to start optimizing delivery, and it gives you enough impressions to see a meaningful difference in click-through rate.
Common pitfall: Running the same ad for 60 days or longer without refreshing it. When the same people in your audience see your ad more than three times, your frequency metric climbs, your click-through rate drops, and your cost per lead starts rising. Watch your frequency number in Ads Manager. When it crosses 3.0, it’s time for new creative.
Success indicator: Click-through rate above 1% and cost per lead tracking showing up in Ads Manager. A CTR below 0.5% usually means the creative or the audience targeting needs adjustment.
Step 5: Set a Budget That Gives the Algorithm Enough Room to Learn
Under-budgeting is one of the most common reasons Facebook campaigns fail for service businesses. The campaign never gets enough data to optimize, the owner concludes Facebook doesn’t work, and the real problem was that the algorithm never had a fair chance to learn.
Meta’s algorithm needs approximately 50 conversion events per week per ad set to exit the learning phase and start optimizing efficiently. That’s Meta’s own documented guidance, not a theory. If your target CPL is $10-25 and you need 50 conversions per week to exit learning, do the math: you need $500-1,250 per week, or roughly $2,000-5,000 per month, to give the algorithm what it needs to work properly at the top end of that range.
For most local service businesses just starting out, a realistic minimum is $500-700 per month. That won’t exit the learning phase quickly, but it will generate enough data over 60-90 days to tell you whether the campaign structure is sound. If you’re spending less than that, you’re not really testing Facebook ads. You’re testing whether Facebook ads work with not enough data, which isn’t the same thing.
Use Campaign Budget Optimization (CBO) rather than setting separate budgets at the ad set level. CBO lets Facebook allocate your daily budget across audiences in real time based on where it’s finding the best results. For most local service campaigns with two or three audiences running simultaneously, this outperforms manual ad set budgets.
For seasonal businesses like HVAC, roofing, or landscaping, daily budgets give you more control than lifetime budgets. You can pause on slow days and increase on high-demand days. Lifetime budgets work better for fixed-duration promotions with a clear start and end date.
The 8-12% of revenue benchmark applies here as a sanity check. If your business does $30,000 per month in revenue, a $300-400 Facebook budget sits at the low end of that range and may not generate enough volume to optimize. If you want Facebook to be a primary lead source, it needs a budget that reflects that expectation.
Scaling rule: Once your cost per lead is stable for two consecutive weeks, you can increase the budget. Don’t jump it by 50% at once. Increases above 20% at a time can reset the learning phase and send you back to square one. Increase by 15-20%, let it stabilize, then repeat.
Success indicator: Campaign exits “Learning” status within two to three weeks of launch. If it’s still in learning after a month, your weekly conversion volume is too low and you need to either increase budget or widen your audience.
Step 6: Read Your Results Without Getting Distracted by the Wrong Numbers
Facebook Ads Manager will show you dozens of metrics. Most of them don’t matter for a service business. The ones that do are cost per lead, lead-to-call rate, and cost per booked job. Everything else is context, not decision-making data.
Reach, impressions, and post engagement are not business metrics. They don’t tell you whether the campaign is generating revenue. An ad with 50,000 impressions and no booked jobs is a failure. An ad with 8,000 impressions and four booked jobs is a success. Keep your attention on the numbers connected to revenue.
Set up a simple lead tracking sheet outside of Ads Manager. The columns you need are: date, lead source, name, whether you called them back, whether they booked, and the job value. This is the only way to calculate your true cost per booked job, because Ads Manager only tracks the lead event, not what happened after. If your cost per lead is $18 but only one in five leads books a job, your real cost per booked job is $90. That’s a very different number and it changes how you evaluate the campaign.
If your CPL is above $25 after 30 days, check three things in order. First, is your audience too narrow? An audience below 50,000 can cause Facebook to run out of fresh people quickly, driving up costs. Second, is your ad frequency above 3.0? Creative fatigue will push CPL up even if everything else is set correctly. Third, what is your form or landing page completion rate? If people are clicking but not completing the form, the problem is post-click, not the ad itself.
If leads are coming in but not converting to calls, the issue is usually targeting that’s too broad. When you cast a wide net on geography or remove age restrictions, you get more form fills from people who aren’t actually in your service area or aren’t the decision-maker. Tightening the audience typically reduces volume but improves call-back rate.
One timing note: Facebook’s conversion attribution can lag 24-72 hours. Don’t make budget decisions based on same-day data. If you increased your budget yesterday and today looks slow, that’s normal. Give changes 48-72 hours before drawing conclusions.
Success indicator: You can answer three questions for any given week without opening Ads Manager: what did I spend, how many leads did I get, and how many became booked jobs. If you can’t answer all three, your tracking setup isn’t complete.
When DIY Has a Ceiling: Knowing What Needs Outside Help
Running your own Facebook ads is worth doing because it teaches you what good looks like. But there’s a point where the time cost and the learning curve produce diminishing returns, and recognizing that point is part of running a smart business.
The clearest signal that you need outside help: CPL above $40 after 60 days of consistent spend, leads that consistently don’t convert to calls, or you genuinely can’t tell which ad is generating results. Any one of these suggests a structural problem that’s hard to diagnose from inside a single account.
A good agency brings things that are difficult to replicate on your own. Cross-account data from similar verticals means they’ve already seen what works for HVAC businesses in mid-sized markets, or what creative formats drive calls for roofing companies in competitive metros. They’ve run Pixel troubleshooting on dozens of sites and know exactly what breaks and why. They can test creative at scale because they’re managing budgets across multiple clients simultaneously.
Before you hire anyone, ask these three questions. Do you have experience specifically in my trade or a similar vertical? What does your reporting look like, and will I see cost per lead and cost per booked job, or just clicks and impressions? Are there lock-in contracts, and what happens to my account assets if we part ways?
If an agency reports primarily on reach, impressions, and clicks, that’s a red flag. Those numbers don’t pay your crew. You want an agency that talks about cost per lead and booked jobs from the first conversation.
Clicks Geek is a Meta Business Partner with 298 industry-specific playbooks built from managing over $100 million in ad spend across more than 10,000 campaigns. There are no lock-in contracts, and the account assets stay with you. For trades and home service businesses looking for industry-specific expertise rather than a generalist agency, that context matters. You can also look at specific vertical resources like Facebook ads for HVAC, Facebook ads for landscaping, or lead generation for roofers to see how the approach applies to your specific trade.
The real goal of this guide isn’t to help you run ads forever yourself. It’s to help you understand the system well enough that you can evaluate any agency’s proposal and hold them accountable to the right metrics.
Your Pre-Launch Checklist
Before you go live, run through each item below. If any of these aren’t confirmed, fix it before you spend a dollar.
Business Manager set up correctly: You own the ad account, the Pixel, and the Page. No contractor or employee owns these assets.
Pixel firing confirmed: Events Manager shows a Lead or Contact event firing on your thank-you page or call confirmation.
Campaign objective set to Leads or Conversions: Not Traffic, not Engagement, not Awareness.
Geography and age targeting match your actual service area: Service radius of 15-30 miles, age range of 28-65+.
Two creative variants live per ad set: Different headlines, different images, or both. Not the same ad duplicated.
Budget set at a level that can generate meaningful data: At minimum $500-700 per month, with the understanding that the learning phase requires volume to exit.
Lead tracking sheet ready: Date, source, name, called back, booked, job value. Updated every day you’re running ads.
If you want to see how this applies to a specific trade, the resources on Facebook ads for auto repair and lead generation for electricians walk through vertical-specific considerations that generic guides skip.
If you’ve gone through this checklist, set up your campaigns correctly, and you’re still not seeing the CPL you need after 60 days, the problem is probably something deeper in the account that’s worth having a second set of eyes on. If you want to see what this would look like for your specific trade and market, we’ll walk through what’s realistic and where your current setup might be costing you money.