ROI shows whether marketing spend paid off: how much profit each unit invested returned. The problem is that it's often calculated wrong — using turnover instead of profit, forgetting the specialists' work, or confusing ROI with ROAS. This guide covers the formulas, what counts as costs, and worked examples for ads and SEO.
01 ROI, ROMI, ROAS — the difference
Three similar acronyms measure return on spend but count different things. Confusing them causes most of the wrong conclusions about payback.
Briefly:
- ROI — return on all investment in a project: marketing, salaries, rent, stock. A whole-business view;
- ROMI — the same but for marketing only: marketing costs and marketing profit. This is what channel payback is measured with;
- ROAS — revenue against ad budget, no cost of goods or work. A quick read on ads, not a profitability measure.
Google's help on return on investment gives the base formula and an example; below we apply it to marketing channels.
02 The ROI formula and what counts as costs
The formula is simple: subtract costs from revenue, divide by costs, express as a percentage. The mistakes aren't in the arithmetic but in what goes into the numerator and denominator.
What to put in correctly:
- Costs — the ad budget, pay for specialists or an agency, tools, and producing creative and content;
- Revenue — not turnover but revenue minus cost of goods sold (gross profit);
- for a channel, calculate ROMI = (gross profit from the channel − channel costs) / channel costs × 100%.
Count only the platform budget and forget the work and cost of goods, and ROI comes out several times too high — and decisions based on it will be wrong.
03 A worked example for ads
Take one month of paid social. All numbers are illustrative; the logic is the point.
Inputs: ad budget 1,000, specialist work 300, total costs 1,300. The ads brought 20 orders totalling 6,000. The niche margin is 25%, so gross profit on those orders is 1,500.
The calculation: ROMI = (1,500 − 1,300) / 1,300 × 100% ≈ 15%. The channel is slightly in the black. ROAS here is 6,000 / 1,000 = 6, which looks great but is misleading without cost of goods and work. What ROAS, ACoS, CPL, and CPA mean and how not to confuse them is covered in the article on key metrics.
04 A worked example for SEO
SEO is harder: the investment runs over months while traffic and leads build up gradually and keep working after active work ends. So ROI is calculated over a period, not a month.
How to approach it:
- take a 6–12 month period and sum all SEO costs — work, links, tools, content;
- estimate the gross profit from organic-traffic leads over that period;
- account for organic traffic continuing to bring leads in later months with no new spend — the payback "tail";
- compare the resulting ROMI with what the same budget would have done in ads over the same time.
In the first months SEO ROI is often negative — that's normal, because costs are already there and traffic isn't yet. How long to wait for the return is covered in how long SEO takes, and how to split the budget between SEO and ads is in the article on marketing budget allocation.
05 Attribution: why the numbers "don't add up"
One customer almost never arrives via a single touch: saw a paid-social ad, then found the site in search, then came back from an email. Credit the order only to the last channel, and the top of the funnel is undervalued while the last channel is overvalued.
What to do about it:
- look not only at last-click conversions but at assisted ones — where the channel was in the path;
- account for the attribution window: a lead can arrive weeks after the first touch;
- for honest per-channel ROMI you need end-to-end analytics and a deliberately chosen attribution model.
How to set up the foundation for these calculations is covered in the articles on Google Analytics 4 and UTM parameters — without correct traffic tagging, per-channel ROMI can't be calculated.
06 The payback horizon and LTV
If a customer buys once, payback is measured on that deal. If they come back, you can't measure on the first deal, or almost any channel looks unprofitable.
For a business with repeat sales, calculate LTV — the total profit a customer brings over the whole relationship. The logic is simple: the customer acquisition cost (CAC) should be below lifetime gross profit, not first-order profit. For subscriptions, renewing services, and regularly-bought goods this is critical: an "expensive" first order pays off on the second or third purchase.
07 What to do about a negative or low ROI
A negative ROI isn't always a verdict on the channel. First check the calculation, then separate a channel problem from a business-model problem.
The order of review:
- check the formula: turnover used instead of profit, work and cost of goods left out;
- look at unit economics: at a 10–15% margin with expensive acquisition, almost any paid channel goes negative;
- if the economics allow — look for the cause in the offer, site conversion, cost per lead, assortment;
- if the channel is structurally unsuitable (narrow audience, too expensive a click) — reallocate the budget.
Common causes of unprofitable paid social are covered separately in why paid social ads fail. Calculating payback across all channels and deciding what to reinforce can be done with our help — it's part of full-service marketing.
For a SaaS product, channel payback is measured through CAC, LTV, and trial-to-paid conversion — these metrics are covered in the dedicated marketing for SaaS and IT startups guide.
ROI comes out more accurate when the real cost per lead for each channel is known, rather than one blended figure across the whole budget.
For a B2B company, calculating ROI matters especially when choosing between channels — a comparison of Google Ads and SEO payback timelines is covered in Google Ads or SEO for B2B.
An accurate ROI calculation needs real deal data — how to connect ads to a CRM for that is covered in how to choose a CRM and connect it to your ads.
ROI can go up not only from a bigger budget or a lower cost per click, but also from converting existing traffic better — a systematic approach to that is covered in CRO: website conversion optimization checklist.
08 Frequently asked questions
How is ROI different from ROMI?
ROI (Return on Investment) is the return on everything invested in a project: marketing, salaries, rent, buying stock. ROMI (Return on Marketing Investment) is the same but for marketing only: marketing costs and the profit marketing brought. The formula is the same; the scope of costs differs. In practice, channel payback is measured with ROMI.
What counts as costs when calculating ROI?
Everything you spent on the channel: the ad budget, the pay for specialists or an agency, tools and services, and producing creative and content. A common mistake is counting only the platform budget and forgetting the work. And on the revenue side you use revenue minus cost of goods sold, not turnover.
What's a good marketing ROI?
Below 0% is a loss, 0% breaks even, above 0% means the spend paid off. There's no universal "good" figure: in high-margin services ROMI of 300–500% can be normal, while for goods with a 15–20% margin even 50% is acceptable. Benchmark against your own unit economics and against other ways to spend the same money.
How do I calculate ROI for SEO?
Harder than for ads: the investment is spread over months and the effect is delayed and cumulative. Take a period (say 6–12 months), sum all SEO costs for it, estimate the gross profit from organic leads over the same period, and add that traffic will keep bringing leads with no new spend. Compare the resulting ROMI with what the same budget would have done in ads.
Why is ROAS high but the business is losing money?
ROAS only counts revenue against ad budget and ignores cost of goods, logistics, work, and commissions. At a 20% margin, a ROAS of 4 means every 100 spent returned 400 in revenue, but the gross profit on that is 80 — and after work and other costs the channel can go negative. That's why decisions are made on ROMI, not ROAS.
How do I account for repeat sales?
Through LTV — the total profit a customer brings over the whole relationship. If a customer buys several times, measure payback by LTV, not the first order: then even an expensive first sale is justified if the acquisition cost is below lifetime gross profit. For subscriptions and renewing services this is the key metric.
