TL;DR
ROAS is simple to calculate and easy to misread. Here's the exact Meta Ads ROAS formula, what a 'good' number actually is for a service business, and the trap that inflates it.
→ See how this applies to your business (free 30-min call)ROAS is the most quoted number in paid advertising and one of the most misunderstood. The formula itself takes ten seconds to learn. The trap is that the number Meta shows you and the number that actually determines whether you're making money are often two different things — and for service businesses, they can be wildly different.
Here's the exact formula, how to read it honestly, and why the ROAS on your Meta dashboard can look great while your bank account says otherwise.
The Formula
ROAS — return on ad spend — is simply:
ROAS = Revenue generated from ads ÷ Amount spent on ads
If you spend 2,000 dollars on Meta ads and those ads produce 8,000 dollars in revenue, your ROAS is 4 — often written as 4x or 4:1. For every dollar in, four dollars out.
That's the whole calculation. A 3x ROAS means three dollars back per dollar spent. A 1x ROAS means you broke even on revenue (and almost certainly lost money once costs are included). The simplicity is exactly why people trust the number too much.
Why the Number on Your Dashboard Lies
Here's the problem. Meta's reported ROAS is based on revenue Meta can see and attribute — usually purchases or conversions that happen on your website with the Meta pixel firing. For an e-commerce store selling a product online, that's often close to reality. For a service business, it's frequently fiction, in both directions.
It over-reports when Meta claims credit for conversions it merely touched — someone who would have bought anyway, or who saw the ad and also searched your name on Google.
It under-reports when the real conversion happens off-platform — a phone call, a form fill that becomes a booked job days later, a lead your team closes over the phone. Meta never sees that revenue, so it doesn't count it, and your true ROAS is higher than the dashboard shows.
For a service business, the ROAS on your Meta dashboard isn't your ROAS. It's Meta's guess at the slice of your revenue it can see.
Revenue vs. Profit: The Second Trap
Even a correct revenue-based ROAS hides the number that actually matters: profit. ROAS uses revenue, not margin. A 4x ROAS on a product with a 20% margin can lose money, while a 2x ROAS on a high-margin service can be extremely profitable.
This is why "what's a good ROAS?" has no universal answer. You have to know your break-even ROAS — the point where ad-driven revenue covers the cost of delivering it plus the ad spend. Above that line you profit; below it you don't, no matter how impressive the multiple looks.
To find break-even ROAS, invert your profit margin. If your margin is 50%, you need roughly a 2x ROAS to break even. If it's 25%, you need about 4x. Anything below your break-even is a losing campaign wearing a respectable-looking number.
What "Good" Looks Like for a Service Business
For local service businesses, the honest benchmarks are different from e-commerce, mostly because of that off-platform conversion problem. A few realities:
How to Measure ROAS That Actually Reflects Reality
If you want a ROAS number you can trust, you have to close the loop between the ad and the real, off-platform revenue. That means:
Track leads to booked jobs, not just clicks. Connect your ad platform to a CRM so a form fill or call can be followed all the way to a closed sale.
Feed offline conversions back to Meta. When a lead becomes a paying customer, send that back so Meta optimizes toward real buyers, not just cheap leads.
Measure cost per booked customer. Divide spend by actual booked, closed customers. This cuts through the reporting fog.
Compare against break-even, not against a vanity target. A 3x that clears your break-even beats a 5x that came from starving the campaign.
The Attribution Fix That Changes the Number
Here's where most service businesses transform their ROAS reporting from fiction to fact. When every lead flows into a pipeline — often GoHighLevel — and gets contacted, qualified, and tracked to a booked job, you can finally attribute real revenue back to the specific ad that produced it. Suddenly ROAS stops being Meta's guess and becomes your measured reality.
That closed loop does two things. It reveals your true ROAS (usually higher than the dashboard suggested, because now the phone closes count). And it lets you feed real outcomes back into Meta's optimization, so the algorithm chases customers who actually book instead of leads who merely click. The number gets both more accurate and better.
The Bottom Line
The Meta ads ROAS formula is just revenue divided by spend — but the reported number lies for service businesses, uses revenue instead of profit, and ignores the off-platform closes that make up most of your real return. To trust it, you have to close the loop to booked revenue and measure against your break-even, not a vanity target.
Thinxster builds that closed loop for service businesses — AI response and qualification feeding a GoHighLevel pipeline that ties every ad dollar to a booked job, the model behind $102M+ in tracked revenue and 9.2× peak ROAS. If your ROAS number feels disconnected from your bank balance, [book a free strategy call](/book) and we'll show you your real return.
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.