Two years ago I ran a paid ad campaign for a client's online store. After 2 weeks, I proudly reported "350% ROI" to the client. They were thrilled.

A week later, their accountant called and asked why the campaign had lost money.

I had calculated ROI as Revenue / Ad Spend. That's ROAS, not ROI. And it doesn't account for the cost of goods, shipping, returns, or platform fees.

The real ROI was -12%. The client had been losing money on every order.

I was humiliated. But I learned something important: tracking the wrong metric is worse than tracking nothing.

The Difference That Cost Me a Client

Metric Formula What It Tells You
ROASRevenue ÷ Ad SpendHow much revenue each ad dollar generated
ROINet Profit ÷ Total CostWhether you actually made money

My campaign had a ROAS of 3.5. Sounds great. But the ROAS number doesn't tell you whether the business made money — it just tells you how much revenue came in relative to ad spend.

If the product cost is 60% of the sale price, and platform fees take another 15%, and shipping takes 10%, you can have ROAS 3.5 and still lose money.

How to Compute Real ROI

This is the formula I use now:

Net Profit = Revenue
           − Ad Spend
           − Product Cost
           − Shipping
           − Platform Fees
           − Payment Processing
           − Returns

ROI = Net Profit ÷ (Ad Spend + Product Cost + Other Costs)

Simple version:

  • Total Revenue from ads
  • Minus every cost associated with fulfilling those orders
  • Divide by total costs
  • Multiply by 100

The result is your actual ROI. If it's positive, you made money. If it's negative, you didn't — no matter what ROAS says.

The Numbers from My Failed Campaign

Here's the actual breakdown:

Item Amount
Revenue from ads$14,000
Ad spend$4,000
Product cost (60%)$8,400
Shipping$1,400
Platform fees (Amazon 15%)$2,100
Payment processing$400
Returns (5%)$150
Net Profit-$2,450
ROI-12%

I reported 350% ROI. The real number was -12%.

How to Avoid This Mistake

Three rules I follow now:

1. Always use net profit, not revenue

Revenue is not profit. Revenue minus all costs equals profit. Track profit.

2. Calculate break-even ROI before you launch

Before spending a dollar on ads, compute: what's the minimum ROI I need to not lose money? Then set that as your floor.

For my failed campaign, the break-even ROI was about 1.4. We were targeting 3.0. But I should have said "we need net ROI, not ROAS."

3. Include everything, even small costs

Payment processing seems small (2.9% + $0.30). But at scale it adds up. Same with packaging. Same with returns. Include every cost.

The Tools I Use Now

Before every campaign I use two calculators:

  1. Profit calculator — to understand per-order economics
  2. ROI calculator — to evaluate campaign performance

The profit calculator tells me: how much profit do I make per order at various price points?

The ROI calculator tells me: after a campaign runs, did I actually make money?

Together they prevent the mistake I made.

The Profit Calculator in Detail

What I like about the profit calculator:

  • Accounts for platform fees (Amazon, Etsy, Shopify rates)
  • Accounts for tax (VAT, GST)
  • Accounts for return rates
  • Shows break-even price
  • Shows suggested price for target margin

The break-even number is the one I use most. Before any promotion, I check: will this discounted price still be above break-even? If not, don't run it.

What Happened to the Client

I lost that client. I offered to work the next month for free to make it right, but they'd lost trust.

Fair. If my accountant had told me I made money and then I found out I hadn't, I'd fire them too.

The lesson was expensive. But it changed how I run every campaign since.

What You Should Do Before Your Next Ad Campaign

  1. Compute per-order profit using the profit calculator
  2. Identify break-even ROI
  3. Set a target ROI that's above break-even
  4. Run the campaign
  5. Evaluate with the ROI calculator — using net profit, not revenue

This is the checklist I follow now. It's simple. But most advertisers skip steps 1 and 2, then panic when campaigns don't perform.

Do the math before you spend the money. It's a lot cheaper than learning it after.