Leadria Start free trial

HomeBlog › Facebook Ads ROI for Small Business: Real Math

Facebook Ads ROI for Small Business: Real Math

Guide13 min readUpdated August 1, 2026

Most small business owners calculate Facebook ads ROI wrong — not because the math is hard, but because they plug in the wrong numbers. The formula itself is simple: (Revenue from ads minus Ad spend) divided by Ad spend, times 100 to get a percentage. The problem is what goes into 'revenue from ads.' If you're counting leads or clicks instead of closed sales, your ROI number is fiction, and fiction is a bad reason to keep spending $800 or $2,000 a month.

This guide walks through the real formula, a full example with actual dollar figures, what counts as revenue versus what doesn't, the tracking setup that makes the number trustworthy, and — because most guides skip this — the specific situations where Facebook ads ROI will never look good no matter how well you run the campaign.

The ROI Formula That Actually Matters

The formula: ROI = (Revenue from ads − Ad spend) ÷ Ad spend × 100. If you spent $1,000 on ads and those ads generated $3,000 in closed sales, your ROI is (3,000 − 1,000) ÷ 1,000 × 100 = 200%. For every dollar spent, you made two dollars back on top of it.

That's the whole formula. The part that trips people up is 'revenue from ads.' A lead is not revenue. A click is not revenue. A phone call is not revenue. Revenue is the dollar amount of a job you actually got paid for, tied back to a lead that came from a Facebook or Instagram ad. Confusing cost per lead with ROI is the single most common mistake small business owners make when judging whether a campaign is working — see the cost-per-lead benchmarks by industry for what a 'good' lead cost actually looks like before you decide a campaign is expensive.

Launch your first Facebook & Instagram ad in 2 minutes

Describe your business: the AI writes the copy, designs the visual, sets the targeting, and publishes your ad. Leads arrive with their phone number.

Try Leadria free

7-day free trial — no credit card — cancel anytime

Why Leads and Clicks Aren't Revenue

Say a landscaper spends $600 and gets 20 leads at a $30 cost per lead. That's a fine CPL — landscaping typically runs $20 to $40 per lead. But if only 3 of those 20 leads turn into paid jobs, and the average job is $350, actual revenue is $1,050. ROI is (1,050 − 600) ÷ 600 × 100 = 75%. Still profitable, but nowhere near as good as it looks if you stopped at '20 leads for $600, that's cheap.'

Now flip it: a chiropractor spends $900 and gets only 12 leads at $75 CPL, which sounds expensive next to the landscaper. But if 6 of those 12 book a first visit worth $120 and then stay on as patients averaging $900 in visits over the year, the real revenue from that single month of ads could be $5,400 over 12 months. Judged on CPL alone, the chiropractor campaign looks 2.5x worse than the landscaper's. Judged on ROI, it's dramatically better. This is why cost per lead is a diagnostic number, not a verdict — it tells you how efficiently you're generating interest, but only revenue tracking tells you if the campaign is making money. If leads are coming in but nothing is closing, the problem usually isn't the ad — it's follow-up speed, pricing, or targeting, all covered in why Facebook ads aren't converting to leads.

A Real Example: Ramirez Plumbing in Tucson, AZ

Here's a full walk-through with real numbers, the way it should actually be calculated.

Ramirez Plumbing runs $1,200/month in Facebook ads targeting homeowners within 12 miles of Tucson, AZ who searched or engaged with home repair content. Average cost per lead: $35. That's 34 leads for the month (1,200 ÷ 35 ≈ 34).

ROI = (4,050 − 1,200) ÷ 1,200 × 100 = 237.5%. For every dollar Ramirez Plumbing spent on ads, they made $2.37 back on top of the original dollar. That's a strong campaign — most profitable service-business campaigns land between 150% and 400% once you're tracking real closed jobs.

Now change one variable: if the close rate drops to 12% instead of 25% (a common problem when leads aren't called back within an hour), jobs booked falls to about 4, revenue drops to $1,800, and ROI becomes (1,800 − 1,200) ÷ 1,200 × 100 = 50%. Same ad spend, same leads, same CPL — half the close rate cuts ROI by nearly 5x. The ad isn't the variable that broke; the sales process is. This is exactly the kind of detail covered in Facebook ads for plumbers.

What Counts as Revenue From Ads

Getting this wrong is the second-biggest reason ROI calculations lie to owners. A few rules:

Use an attribution window that matches your sales cycle

A restaurant's sales cycle is same-day — someone sees an ad, books a reservation that night. A roofer's sales cycle might be 2-3 weeks between the lead and the signed contract. If you only count revenue that closed within 7 days of the ad click, you'll dramatically undercount ROI for longer sales cycles like roofing, solar, or law firms. Match your revenue-counting window to how long your business actually takes to close a deal — for roofing that's often 30 days, for solar it can be 60-90 days.

Count the full job, not the deposit

If a med spa closes a client on a $200 first treatment that turns into a $1,800 package over 3 months, count the $1,800, not just the $200 deposit — assuming the upsell reliably happens and you can track it. If it's inconsistent, count conservatively and treat the upsell revenue as a bonus, not a baseline assumption.

Factor in lifetime value for recurring businesses

Gyms, pest control, HVAC maintenance plans, and cleaning services all have recurring revenue. A pest control company converting a lead into a $95 quarterly plan should value that customer at roughly $380/year, not $95. Ignoring lifetime value makes recurring-revenue businesses look far less profitable on Facebook ads than they actually are — see Facebook ads for pest control for how this plays out with real plan pricing.

The Cost Side: What to Include Besides Ad Spend

The denominator in the ROI formula needs to include everything spent to generate the sale, not just what Meta charged your card. Leaving costs out doesn't make a campaign more profitable — it just hides the truth.

Example: a roofer spends $1,800/month on ads plus $750/month to an agency. Total cost is $2,550, not $1,800. If that campaign generates one $14,000 roof replacement, ROI is (14,000 − 2,550) ÷ 2,550 × 100 = 449% — still excellent, but if you'd only counted the $1,800 ad spend, you'd have overstated ROI at 678%, a difference big enough to change how much you're willing to reinvest.

Setting Up Tracking That Feeds the Formula

None of this works without knowing which sales came from which leads. Three things make that possible:

1. A source field on every lead

Every lead — whether from a form, a phone call, or a walk-in — needs a tagged source the moment it comes in. 'Facebook ad' has to be a dropdown option, not something someone tries to remember three weeks later when they're doing the books.

2. A dedicated tracking number or the Meta Pixel

If leads call in, use a separate tracking phone number for Facebook ads so every call is automatically source-tagged. If leads fill out a form, the Facebook Pixel tracks the conversion event back to the specific ad and audience that generated it, which matters for optimizing spend toward what's actually working. Lead ad forms inside Facebook itself also auto-tag the source — see the Facebook lead ads guide for setup.

3. A weekly close-the-loop habit

Once a week, someone needs to go through the leads tagged 'Facebook ad' and mark which ones became paying customers and for how much. This takes 15-20 minutes for a business getting 30-40 leads a month. Skipping this step is why most owners are stuck guessing at ROI instead of calculating it — for a broader look at getting leads that actually convert, see how to get leads from Facebook ads.

Benchmark CPLs and What Realistic ROI Looks Like by Industry

Cost per lead varies enormously by industry because job value and competition vary. Here's what typical numbers look like, and the ROI they tend to produce when close rates and job values are realistic:

IndustryTypical CPLTypical close rateAvg job/sale valueRealistic ROI range
Plumbers$20-$4520-30%$300-$600150-350%
HVAC$25-$6015-25%$400-$8,000 (install vs repair)100-400%
Roofers$30-$7010-20%$8,000-$18,000300-900%
Dentists$15-$4025-40%$150-$3,000150-500%
Med spas$20-$5020-35%$200-$2,000150-450%
Real estate agents$10-$352-8%$6,000-$15,000 (commission)varies widely
Restaurants$5-$15N/A (footfall)$25-$60 per visitoften measured in visits, not ROI %
Gyms$10-$2510-20%$50-$150/month, 6-12 month retention200-600% on LTV basis

These ranges shift based on ZIP code competition, season, and offer strength. For a full breakdown by trade, the cost-per-lead by industry guide covers 15+ trades in more depth. For general budget-setting guidance before you even calculate ROI, see how much small businesses should budget for Facebook ads.

Common Mistakes That Skew Your ROI Numbers

Even owners who understand the formula make errors that inflate or deflate the result:

When Facebook Ads ROI Will Never Look Good (Be Honest With Yourself)

This is the section most guides skip, and it's the one that actually saves owners money. Facebook ads ROI will not look good, no matter how well the campaign is built, in these situations:

A Simple Monthly Routine to Track ROI Without a Data Team

You don't need analytics software to do this right — you need a habit. A basic monthly routine:

  1. Week 1: Confirm every new lead has a source tag ('Facebook ad'). Spot-check 5 leads to make sure it's happening consistently.
  2. Weekly: Mark closed sales against the leads that generated them, with dollar value attached.
  3. End of month: Add up total revenue from Facebook-tagged leads. Add up total cost (ad spend + management fees + tools).
  4. Calculate: (Revenue − Cost) ÷ Cost × 100.
  5. Compare to last month. A single month's ROI can swing with 2-3 big jobs closing or not closing — look at a 60-90 day trend before making budget decisions.

If ROI is trending above 150% consistently, that's a strong signal to increase budget. If it's stuck under 75% after 60 days with tracking in place, the fix usually isn't more ad spend — it's the landing page, the follow-up speed, or the offer, all covered in why your Facebook ads aren't working. Either way, the number only means something once it's built on actual closed sales — not leads, not clicks, and not hope.

Frequently asked questions

What's a good ROI for Facebook ads?

Most profitable small business campaigns land between 150% and 400% ROI once you're tracking closed sales, not just leads. A plumber spending $1,200 and closing $4,000 in booked jobs is sitting at 233% ROI. Below 100% you're roughly breaking even after covering ad spend, and under 50% you need to fix targeting, offer, or follow-up before spending more.

How long before I can trust my ROI number?

Give it at least 30 days and 50 leads before you judge a campaign, because small sample sizes swing wildly — 3 leads and 1 sale looks like a 33% close rate that means nothing statistically. Facebook's learning phase alone takes 7-10 days and roughly 50 conversions per ad set to stabilize. Pulling the plug at day 5 with $150 spent tells you almost nothing about real ROI.

Do I count repeat customers in Facebook ads ROI?

Yes, if the business model depends on repeat visits — a gym member worth $600/year or a pest control customer on a $95 quarterly plan should be valued at lifetime value, not the first invoice. A single $79 first-treatment sale looks unprofitable against a $40 cost per lead, but the same customer worth $400 over 2 years makes the campaign clearly profitable. Track both the immediate sale and the 12-month value if your service has recurring revenue.

What if I can't track which sales came from Facebook ads?

Then you can't calculate real ROI — you're guessing, and guessing usually means overspending on ads that aren't working. Add a required 'How did you hear about us?' field, use a dedicated tracking phone number, or tag leads by source in your CRM the day they call. Even a basic spreadsheet with a source column fixes 90% of the attribution problem for under $0 in extra spend.

Is cost per lead the same as ROI?

No — cost per lead only tells you what a lead costs, not what it's worth. A $60 CPL for a roofer sounds expensive until one $18,000 roof replacement closes, which makes that lead worth 300 times its cost. Compare CPL to your close rate and average job value before deciding a number is too high; the cost-per-lead ranges by industry guide (linked below) shows typical benchmarks.

Should I include agency or software fees in the ROI formula?

Yes — a true ROI number includes every dollar spent to generate the sale, not just Meta's ad spend line. If you pay a $750/month management fee on top of $1,000 in ad spend, your real cost is $1,750, and leaving that out can make a break-even campaign look profitable by 75 percentage points. Add up ad spend, management fees, and any lead-tracking tools before you divide.