Metrics and analysis
Marketing ROI: how to calculate it without fooling yourself
The ROI formula, how it differs from ROAS, which costs really belong in it, and the three mistakes that make the number look better than it is.
Also available in: Português · Español
ROI measures how much you earned for every dollar invested, counting everything it cost. It is the number the business owner wants, and the one most often calculated wrong, because something almost always gets left out of the denominator.
Formula
ROI = ((revenue − total costs) ÷ total costs) × 100.
The result is a percentage. Spend US$ 100,000 across media, product and team, generate US$ 250,000 in revenue, and your profit was US$ 150,000 for an ROI of 150%.
The dangerous words are "total costs". That is where most calculations fall apart.
ROI and ROAS measure different things
| Indicator | Numerator | Denominator | Who uses it |
|---|---|---|---|
| ROAS | Attributed revenue | Ad spend only | Whoever runs campaigns |
| ROI | Profit | All costs | Whoever sets budget |
Here is a case that comes up constantly: a ROAS of 3 in a store with 25% margin. Every US$ 1,000 of media brings in US$ 3,000 of revenue, of which US$ 750 is gross margin. If that margin does not cover the US$ 1,000 of media, the impressive ROAS is hiding a negative ROI.
Neither replaces the other. ROAS compares campaigns against each other; ROI decides whether the channel deserves more budget at all.
What actually belongs in total costs
- Ad spend across every channel, not just the one you are evaluating.
- Cost of the product or service delivered to those customers.
- Salaries and contractor fees for the people producing, running and selling.
- Software: ad tools, automation, CRM, reporting.
- Commissions, both sales and payment processing.
Leaving out cost of goods is the most frequent error, and the one that inflates results most. A "400% ROI" calculated against media alone is ROAS wearing a different name.
The three mistakes that flatter the number
1. Mixing periods. September spend against revenue that came from July campaigns. In businesses with long sales cycles this produces fantastic months followed by terrible ones, with nothing real having changed. The fix is cohorts: measure what one period's investment generated, even if the money lands later.
2. Giving all credit to the last click. The channel that closes takes the whole prize and the ones that built demand show zero. Make budget decisions on that basis and you will cut exactly what was feeding the channel that looks good.
3. Counting revenue instead of profit. It is already in the formula, but it bears repeating: two businesses with identical revenue and different margins have opposite ROI.
Measuring it when the sale is not online
Most service businesses close on the phone, on WhatsApp or in person, and the ad platform sees none of it. What works is a process, not a piece of technology:
- Record the source of every enquiry in the CRM, even manually.
- Mark the outcome: qualified, quoted, closed.
- Close the month by matching spend per channel against sales per source.
It is not perfect and it does not need to be. An approximate ROI with a stable method beats an exact number that only measures the online slice of the business.
Who should own the number
ROI is the one indicator that cannot live with the person running campaigns alone, because half its inputs are not theirs. Cost of goods, salaries and closed revenue belong to finance and sales. In practice the calculation works when one person owns the media numerator, another owns the cost side, and they meet once a month with the same definition in front of them. Without that, ROI becomes whatever the last person to build a spreadsheet decided it was.
A worked example
A service operation, one month:
| Item | Amount |
|---|---|
| Media spend | US$ 12,000 |
| Dedicated team | US$ 7,000 |
| Tools | US$ 1,000 |
| Cost of delivering the work sold | US$ 18,000 |
| Total costs | US$ 38,000 |
| Revenue generated | US$ 56,000 |
ROI = ((56,000 − 38,000) ÷ 38,000) × 100 = 47%.
Measure ROAS alone on media and you get 56,000 ÷ 12,000 = 4.7. A ROAS of 4.7 sounds like an extraordinary month; a 47% ROI sounds like a good but ordinary one. Both are correct and describe the same month, which is why it pays to report both and explain the difference once, early, rather than relitigating it every quarter.
What to do when ROI comes out negative
It does not always mean cut. Separate three scenarios first:
- Negative because of acquisition cost. The channel brings expensive customers. Attack it with creative, targeting and landing page, in that order.
- Negative because of margin. The channel works, the product does not leave enough. No campaign tweak fixes that; it is a pricing or cost problem.
- Negative because of timing. Customers do pay back, but over six months. That is a cash flow problem, not a profitability one, and the decision is financial.
Confusing the second for the first is the expensive mistake: entire teams spend months optimising campaigns to make up for a margin that was never going to be enough.
Fix the method before the first calculation
Decide three things in writing, before you see any result: which costs go in, which attribution window you use, and what counts as revenue. Changing the method halfway through the year produces a series nobody can compare, and a series nobody can compare cannot support a decision. When the number improves, you want to know whether the business improved or the accounting did.
This matters most in agency relationships, where the client and the agency often calculate ROI differently and only discover it during a tense quarterly review. Agreeing on the definition in month one costs ten minutes; arguing about it in month nine costs the account.
How often to calculate it
ROI is a monthly or quarterly number. Running it weekly on thin data produces noise that invites bad decisions. The week belongs to cost per result and volume; ROI arrives later, once the period's sales have actually closed.
What is worth keeping current every week is the media side of the denominator: real spend per channel, no estimates. When that gets assembled in a rush at month end, ROI arrives late and nobody uses it to decide anything.
To complete the picture, continue with CAC, which is the half of ROI most teams do not have at hand, and with how to measure digital marketing results for the wider framework. The metric that tracks how heavily the whole operation leans on ads is in ROAS or TACoS. When the question stops being which ad someone touched and becomes whether they would have bought anyway, the method is in incrementality testing. If you want spend from all three channels without exporting anything, see the pricing.
Frequently asked questions
Are ROI and ROAS the same thing?
No. ROAS compares revenue against ad spend. ROI compares profit against total cost, including cost of goods, team and tools. A ROAS of 3 can still be a negative ROI.
Which costs belong in marketing ROI?
Media spend, the cost of delivering what you sold, salaries of the people involved, software and commissions. Leave something out and the number stops being comparable month to month.
How do I calculate ROI when sales close months later?
Use cohorts: measure one period's spend against the revenue that spend produced, whenever it lands. Mixing this month's spend with revenue from older campaigns produces a meaningless number.
Is 100% ROI good?
It means you doubled your money. Whether that is good depends on your alternative and your timeframe: 100% in three months and 100% in two years are very different businesses.