THINXSTER
Blog/Meta Ads
Meta Ads9 min readJuly 8, 2026

Build Your Own Meta Ads ROAS Calculator: A Worked HVAC & Roofing Example

The exact inputs, formula, and step-by-step math to calculate true ROAS and break-even ROAS for your local business — with a full HVAC/roofing walkthrough.

RK
Ryan Korsz
Founder & CEO, Thinxster

TL;DR

The exact inputs, formula, and step-by-step math to calculate true ROAS and break-even ROAS for your local business — with a full HVAC/roofing walkthrough.

→ See how this applies to your business (free 30-min call)

A ROAS calculator isn't a fancy tool — it's six numbers and a couple of multiplications. But the discipline of walking those numbers, in order, is what separates owners who scale ad budgets with confidence from owners who guess, panic, and turn campaigns off at the worst possible moment. Let me build the whole thing with you, then run a full HVAC and roofing example so you can drop your own numbers in.

There are two numbers we're driving toward. True ROAS tells you what your ads actually returned on closed jobs. Break-even ROAS tells you the minimum return you need to not lose money — and it's the more important of the two, because it's the number that should govern every budget decision you make.

The six inputs you need

Gather these before you touch any math. Five come from your ad platform and CRM; one comes from knowing your own business.

1.

Ad spend — what you paid Meta over the period

2.

Leads generated — form fills and calls the spend produced

3.

Lead-to-appointment rate — what percent of leads book an appointment

4.

Appointment-to-close rate — what percent of appointments become paid jobs

5.

Average job value — average revenue per closed job

6.

Gross margin — the percent of a job that's profit after the cost of delivering it (materials, labor, crew)

If you don't know these, get them. Everything downstream is fiction without real inputs, and "I think we close about half" is not a real input — pull it from your CRM.

The formulas

Here's the whole engine. Four lines.

  • Cost per lead = Ad spend divided by Leads
  • Closed jobs = Leads times Lead-to-appointment rate times Appointment-to-close rate
  • Cost per booked job = Ad spend divided by Closed jobs
  • True ROAS = (Closed jobs times Average job value) divided by Ad spend
  • And the one that governs everything:

  • Break-even ROAS = 1 divided by Gross margin
  • That last formula surprises people, so sit with it. If your gross margin is 40%, your break-even ROAS is 1 divided by 0.40 = 2.5x. Meaning: for every $1 of ad spend, you need $2.50 in revenue just to cover the ad plus the cost of delivering the work. Anything above 2.5x is profit. Anything below it, you're paying customers to hire you.

    Break-even ROAS is one divided by your margin. It's the line between buying customers and paying them to hire you.

    Worked example: an HVAC / roofing campaign

    Let's use realistic numbers for a home-services operator running Meta ads. I'll use a blended trade example — call it a roofing and HVAC shop with a healthy average ticket.

    The inputs:

    1.

    Ad spend: $4,000 for the month

    2.

    Leads generated: 80

    3.

    Lead-to-appointment rate: 50%

    4.

    Appointment-to-close rate: 30%

    5.

    Average job value: $11,000

    6.

    Gross margin: 45%

    Now walk the steps.

    Step 1 — Cost per lead. $4,000 divided by 80 leads = $50 per lead. Fine on its own, but meaningless in isolation. A $50 lead is cheap for roofing and expensive for a $200 tune-up. Cost per lead only means something next to job value. That single comparison — lead cost against job value — is the one most owners never make, which is why they either overspend chasing cheap traffic or starve a channel that was quietly profitable.

    Step 2 — Closed jobs. 80 leads times 50% book times 30% close = 80 times 0.50 times 0.30 = 12 closed jobs. This is the step most owners skip. They see 80 leads and either celebrate or despair, when the only leads that matter are the 12 that turn into money.

    Step 3 — Cost per booked job. $4,000 divided by 12 jobs = $333 per booked job. Here's your gut-check number. You're paying $333 in ads to win an $11,000 job. Say that sentence out loud to anyone and the campaign sells itself.

    Step 4 — True ROAS. 12 jobs times $11,000 = $132,000 in revenue. $132,000 divided by $4,000 spend = 33x true ROAS. That is the real return on closed work — not a pixel event, not a guessed lead value, actual revenue.

    Step 5 — Break-even ROAS. 1 divided by 0.45 margin = 2.22x. That's your floor. You need at least $2.22 back per $1 spent to break even after delivering the job.

    Step 6 — Compare. True ROAS of 33x against a break-even of 2.22x. You're clearing the bar by roughly 15 times over. This campaign should not be optimized. It should be fed. Every additional dollar you can profitably push into it is a dollar you'd be crazy to hold back.

    Finding your profit-per-lead number

    There's one more number worth computing, because it's the one that tells you the absolute most you can afford to pay for a lead. Work it backward from a single lead:

  • Revenue per lead = Average job value times Lead-to-appointment rate times Appointment-to-close rate
  • In our example: $11,000 times 0.50 times 0.30 = $1,650 in revenue per lead
  • Profit per lead = Revenue per lead times Gross margin = $1,650 times 0.45 = $742.50 per lead
  • Read that again. Every single lead — including the tire-kickers and no-shows — is worth $742.50 in gross profit on average. You're currently buying them for $50. You could pay 10x more per lead and still be printing money. That's the insight that gives you permission to outbid every competitor in your market who's still nervously staring at their cost per lead.

    Why break-even ROAS should govern your budget

    Here's the mental model to walk away with. As long as your true ROAS sits comfortably above your break-even ROAS, spending more makes you more. The budget isn't a fixed cost to minimize — it's an input you turn up until either the returns compress to your break-even line or you literally can't handle the job volume.

    Most owners run it backward. They set a budget by fear ("I'll do $2,000, that feels safe") instead of by math. If your break-even is 2.22x and you're running 33x, a $2,000 budget isn't caution — it's leaving jobs on the table for competitors to grab. The calculator tells you the ceiling is far higher than your comfort zone.

    Two things quietly wreck this math, and both are fixable:

  • A leaky funnel. If your close rate drops from 30% to 15% because leads don't get called back fast enough, your closed jobs halve, your cost per booked job doubles, and a 33x campaign becomes a 16x campaign overnight. Speed-to-lead is a ROAS lever, not just a service nicety.
  • Junk leads. If half your 80 leads are unqualified, you paid for 80 and can really only work 40. Qualification is the cheapest ROAS improvement there is, because it costs nothing in ad spend.
  • Both of those are exactly what we engineer against. Thinxster builds GoHighLevel pipelines with AI callers that respond to every inbound lead within 90 seconds, so your appointment rate doesn't leak while you're on a job — and our systems qualify leads at a 62% average rate, so more of what you paid for is actually workable.

    62%
    average lead qualification rate that tightens cost per booked job

    Tune those two levers and the calculator's outputs improve without a single extra dollar of spend. On the accounts we run this way, closed-loop tracking has driven peak returns of 9.2x ROAS measured on real jobs.

    9.2x
    peak ROAS Thinxster has delivered on tracked closed revenue

    Run the Calculator Monthly, Not Once

    The single biggest mistake with this math is treating it as a one-time exercise. Your inputs drift. Ad costs creep up in your busy season, your close rate wobbles when a key salesperson is out, average job value shifts as you change your service mix. A ROAS calculation from six months ago is describing a business that no longer exists.

    Make it a monthly ritual. On the first of the month, pull last month's actual numbers — real spend, real leads, real closed jobs, real average ticket — and rerun the six steps. It takes ten minutes and it catches problems while they are still small. A close rate quietly sliding from 30 percent to 22 percent is invisible day to day, but it jumps off the page when your cost per booked job climbs two months in a row.

    The owners who scale confidently are not smarter than everyone else. They just know their numbers cold because they check them on a schedule, so when they decide to double a budget, it is a calculation, not a leap of faith.

    Run your own numbers through the six steps this week. Find your break-even ROAS, find your profit per lead, and you'll never again set an ad budget by feel. If you want the funnel behind those numbers built and dialed so your true ROAS is as high as the math allows, that's our whole job.

    [Book a free strategy call](/book)

    Free Weekly Briefing

    One AI Marketing Tactic.
    Every Tuesday. Free.

    What's actually working across our client accounts right now — ROAS moves, follow-up sequences, creative angles. The stuff that isn't in any blog post yet.

    No spam. Unsubscribe anytime. 1,200+ business owners already in.

    Ready to Deploy

    SEE THIS IN
    YOUR BUSINESS.

    30 minutes. We scope the exact systems that apply to your situation and give you a plan.

    ★★★★★ Trusted by 47+ local service businesses

    BOOK A STRATEGY CALL →