Back to Blog
ads-automationprofitpoasunit-economicsecommerce

Profit on Ad Spend vs ROAS: The Metric That Actually Pays (Simply Explained)

A plain-language guide to profit on ad spend vs roas. No jargon, no tech speak, just what it means for your business.

By Mike Hodgen

Want the full technical deep dive? Read the detailed version

My Ads Looked Like Winners. My Bank Account Disagreed.

Here's a problem that cost me real money before I caught it.

My ad dashboard was glowing green. Every ad looked like a winner. And I was still losing money on every sale.

If you've ever looked at a "winning" ad and wondered why your bank balance didn't agree, this is the trap. And it's quietly draining most online brands.

Let me show you how it bit me.

The Green Light That Was Really a Stop Sign

For my DTC fashion brand here in San Diego, my ads were reporting something called ROAS, which stands for "return on ad spend." Mine was 1.5x.

In plain English, that means for every dollar I spent on ads, I got $1.50 back in sales. The platform called that green. A winner. Scale it up.

Here's the problem. Sales are not profit.

Out of that $1.50 in sales, a chunk gets eaten up by the cost of making the product, payment fees, shipping, and returns. What's actually left over (the real money, called your margin) was only about 59 cents on the dollar for me.

So picture an ad that brings in $100 in sales. To get that, I spent about $67. But out of that $100, only $58 was real money after all my costs.

I collected $58 and paid $67 to get it. I was eight bucks underwater on every $100, before paying for staff, rent, or software.

The dashboard said "winner." My actual books said "you're paying customers to shop with you."

Why That Number Lies

The ROAS number is simple. It's sales divided by ad spend. That's it.

Notice what's missing? It has no idea what it costs you to make your product. It's blind to your costs.

Think of it like a restaurant judging success by how many plates go out the door, while ignoring what the ingredients cost. Two dishes can sell for the same price. One makes money. One loses it. The "plates out the door" number looks identical.

So how do you know your real break-even point? Simple math: divide 1 by your margin.

My margin was 59%. So 1 divided by 0.59 is about 1.71. That means I have to clear 1.71x just to break even. Anything below that, I'm losing money.

Every "winning" ad sitting at 1.5x was below my break-even line. The platform was cheering me toward going broke.

And here's the sneaky part. When you look at all your ads averaged together, the number can look healthy. Your good products quietly carry your bad ones. The average looks fine while a third of your products bleed money underneath.

The dashboard looks great. The bank account doesn't.

The Switch That Made the Brand Actually Profitable

So I rebuilt my ad system to chase profit instead of sales.

Instead of asking "how much in sales did this ad bring in," it asks "how much actual money did I keep after all my costs." Same automation I'd already built to run my ads on autopilot, but now every decision is anchored to real profit.

This one change moved my brand from "looks profitable" to "is profitable."

Here's the part nobody wants to do, and it's exactly why it works.

To do this, you have to know your true cost for every single product. Not a guess. The real number after the product cost, payment fees, shipping, and returns. Most brands skip this because it's hard. ROAS is easy (the platform just hands it to you). Real profit takes work.

So I built a system that stores the true margin for each of my 564 products. When an ad runs, the system looks up exactly which products it's selling and calculates the real break-even line for that ad.

Then I set a rule the autopilot physically cannot break: never scale an ad below break-even. It's locked out. The system won't allow it.

And I put that same rule in both places decisions get made: the fully automatic path, and the spots where I approve things by hand. A guardrail that only protects one door isn't a guardrail. You've just moved the leak.

Not Losing Money Isn't the Goal

Here's the nuance that separates this from generic "watch your margins" advice.

Breaking even is the floor, not the target. It's where you stop digging, not where you start growing.

So I set three simple rules for every ad:

  • Doing great: pour in more money. This is where each new dollar earns the most.
  • Profitable but average: leave it alone. Don't kill it, don't feed it. Your money works harder somewhere else.
  • Below break-even: never grow it. Cut it or fix it.

That middle tier matters. Say an ad is profitable but only just. The tempting move is to throw money at it because it's "working." But that money would earn far more in a stronger ad. A barely-profitable ad is a fine place to leave money. It's a bad place to add money.

Teaching the Ad Platform to Want Profit Too

There's one more layer. The ad platform itself makes thousands of tiny decisions I never see, deciding who sees my ads. By default, it chases sales, not profit.

Normally you tell the platform how much each order was worth in sales. So it goes and finds you more big-sales orders, even if those orders barely make you money.

Instead, I tell it how much actual profit each order made. Now it chases the orders that actually keep money in my pocket.

A $200 order that's mostly cost gets reported as low value. A $120 order that's mostly profit gets reported as high value. The platform learns to go find more of the second kind.

I'll be honest about the hard parts, because this isn't magic. Returns can erase profit after the fact, and you have to feed that correction back in. And the whole thing falls apart if your cost numbers are wrong. Garbage in, garbage out.

The result, told honestly: the system stopped chasing things that looked good on sales and started defending real profit. That's the win. Not a magic multiplier. A system that finally spends money the way I would if I had time to check every ad by hand.

The One Wire That's Missing

If your ads show a good return and you're still not making money, the answer is almost always the same: nothing in your setup knows your real costs.

Not your dashboard. Not your automation. Not the platform. They're all optimizing a number that literally can't tell profit from loss.

The fix isn't a fancier ad tool or a new agency. It's connecting your real per-product profit to the one decision that actually spends your money. That's the missing wire.

This is the work I do. I don't advise from a slide deck. I build the real cost tables, the guardrails, and the profit-chasing logic into systems that run a real brand. Mine.

If your ad spend is growing and your profit isn't, that gap is usually one missing number.

Ready to bring AI leadership into your company?

I work with a small number of companies at a time. If you're serious about AI, apply to work together and I'll review your application personally.

Apply to Work Together

Get AI insights for business leaders

Practical AI strategy from someone who built the systems — not just studied them. No spam, no fluff.

Ready to automate your growth?

Book a free 30-minute strategy call with Hodgen.AI.

Book a Strategy Call