Marketing ROI is the percentage return on money spent: revenue minus costs, divided by costs, multiplied by 100%. ROMI works similarly, but focuses specifically on the marketing budget rather than the business overall—which is why it shows the actual return of a single channel or campaign. Below, we'll break down both formulas, walk through a real calculation, separate ROI from ACoS, CAC, and LTV, share channel benchmarks, and show how AdMetric calculates payback without spreadsheets.
What is Marketing ROI and Why It Matters Most
ROI (Return on Investment) is the percentage gain relative to what you spent. The concept comes from finance, but marketing teams adopted it quickly because it answers one simple question: Did the money pay for itself? More importantly, did it pay for itself enough to invest more?
The key strength of ROI is that it measures efficiency, not scale. A campaign spending $5,000 and a campaign spending $500,000 can have identical ROI—and that's fine. ROI doesn't compare who spent more; it compares the return per dollar invested. If ROI is below 100% (or negative when calculated as net profit to costs), your investment didn't pay for itself in that period, and scaling without changes would be risky.
The real problem emerges elsewhere. Without a single place where ad platforms and your CRM meet, teams calculate ROI by hand: ad spend is exact—it comes straight from Google Ads and Meta Ads reports—but revenue usually sits in a separate CRM system, matched manually, and often loses track of which customer came from which channel. The numerator becomes fuzzy while the denominator stays precise, and the whole calculation distorts.
There's one more distinction that catches newcomers: ROI measures your entire business investment, while ROMI focuses only on your marketing spend. Mixing them in one report is inaccurate, even though the formulas look similar at first glance.
ROI vs. ROMI Formulas: What's the Difference?
The formulas look almost identical at first, which is where confusion starts. The difference lies in what goes into the numerator and denominator.
ROI Formula
ROI = (Revenue − Expenses) / Expenses × 100%
Here, revenue usually means profit from the whole business or a specific project, and expenses include all investments—not just the ad budget. ROI is the broader measure: an investor evaluating a company uses ROI too, and marketing is just one cost line inside it.
ROMI Formula
ROMI = (Revenue from Marketing − Marketing Expenses) / Marketing Expenses × 100%
ROMI narrows the lens to marketing spend alone. This is more useful for a marketer: it answers not "is the whole business profitable" but "did our ad campaign pay for itself."
The major fork in both formulas is what you put in the numerator. There are three options: total revenue, gross profit, and LTV (Lifetime Value—what a customer spends over their entire relationship with you). Revenue looks impressive in presentations because it's large. Gross profit is more honest because it subtracts the cost of goods or services. LTV goes deeper and accounts for repeat purchases months ahead, but it requires historical data you may not have yet. For monthly reporting, gross profit is the sensible choice—show revenue as a reference number.
The denominator hides a trap too. Marketing expenses often mean just the ad spend—money you handed to Google or Meta. But you also need to add creative production, team salaries or agency fees, analytics software subscriptions, and overhead. A rough rule: these add 30–45% to your ad spend, and most teams forget them entirely—which is why ROMI on paper looks better than it actually is.
The distinction between ROI, ROMI, and ROAS (Return on Ad Spend—revenue divided by ad spend) comes down to what each measures and when to use it.
| Metric | What It Measures | Formula | When to Use |
|---|---|---|---|
| ROI | Return on business investment overall | (Revenue − Expenses) / Expenses × 100% | Evaluating a product line, channel, or the whole company |
| ROMI | Return on marketing budget | (Revenue from Marketing − Marketing Expenses) / Marketing Expenses × 100% | Assessing a campaign, channel, or promotion strategy |
| ROAS | Revenue per dollar of ad spend | Revenue from Ads / Ad Spend × 100% | Quick check of an ad or campaign inside a platform |
Step-by-Step ROI Calculation: A Real Example
- 1
Gather marketing expenses
Take the ad spend from Google Ads and Meta Ads, then add overhead—agency fees, team salaries, software subscriptions. Leave these out and your denominator becomes too small.
- 2
Gather revenue by channel
Export leads and deals from your CRM, tagged by traffic source, and calculate revenue for each one at actual deal value or average contract value.
- 3
Match revenue to the spending month
Group sales by the month you spent the ad budget, not by when payment arrived—otherwise your payback timing gets skewed and distorts the picture.
- 4
Plug into the formula
Subtract expenses from revenue, divide the result by expenses, and multiply by 100% to get ROMI as a percentage.
- 5
Interpret the results
Calculate ROMI on both gross profit and revenue—they tell two different stories about the same campaign, and base scaling decisions on profit, not revenue.
Let's work through an example. An online furniture retailer ran ads on Google and Facebook for a month, spending $5,000 on media. Adding agency fees, team time, and tools adds another 45%—$2,250. Total marketing expenses for the month: $7,250.
The campaigns generated 240 leads, 60 of which became sales. Average order value was $333, so revenue came to $20,000. Furniture retail margins typically top out around 40%, so gross profit was $8,000.
Expenses: $5,000 (ad spend) + $2,250 (overhead, +45%) = $7,250
Revenue: 60 sales × $333 = $20,000
Gross Profit (40% margin): $20,000 × 0.4 = $8,000
ROMI by revenue = ($20,000 − $7,250) / $7,250 × 100% = 176%
ROMI by gross profit = ($8,000 − $7,250) / $7,250 × 100% = 10.3%
The gap is striking: the same campaign looks like "176% return" or "barely above costs" depending on whether you use revenue or profit. Reported by revenue alone, it seems like a star performer. Reported by profit, it's break-even with almost no safety margin if ad costs rise.
Here's where attribution models come in: when a lead arrives through several touchpoints instead of a single ad click, revenue gets distributed differently. Platform defaults are described in the Google Ads documentation, but for a company-wide view you usually set your own rules at the analytics level rather than per platform — and that starts with a consistent UTM naming scheme.
We Calculate ROI for You
ROMI and CAC from every source, fully automated. No formulas, no spreadsheets.
Start for free →ROI vs. ROMI vs. ACoS vs. CAC vs. LTV: Don't Mix These Up
These five metrics crowd into performance reports, and mixing them leads to wrong calls. Each answers a different question.
ROI is return on the whole business investment. The formula includes production, rent, salaries, shipping—not just ads. It's a company-level metric, not a marketing team number.
ROMI (Return on Marketing Investment) is return on your marketing budget alone. It's tighter than ROI and more useful for channel evaluation: Google Ads, Meta Ads, and LinkedIn Ads get separate ROMI scores.
ACoS (Advertising Cost of Sale) = Ad Spend / Revenue × 100%. It measures the fraction of revenue that ad spend consumes—not profit, and that's the trap. An ACoS of 25% tells you nothing about health without knowing your margin: at 40% margin it's healthy; at 15% margin it's a problem.
CAC (Customer Acquisition Cost) is the bill for one customer: spend divided by customers acquired. In the example above, $7,250 / 60 = about $121 per customer. It's an operational metric: it doesn't track profit, just the cost per deal.
LTV is what a customer brings you over their whole lifetime with you, not just their first purchase. The LTV-to-CAC ratio is the health check for your model: around 3:1 is stable; below 1:1 means you lose money on each new customer before overhead. If the furniture store's average customer buys 2.5 times, LTV by margin is still roughly $333, and LTV:CAC is about 2.8:1—near the threshold, but no cushion.
| Metric | Formula | Answers This Question | Show This To |
|---|---|---|---|
| ROI | (Profit − Investment) / Investment × 100% | Did the whole business earn its keep, including production and overhead? | Owner and investors |
| ROMI | (Marketing Profit − Marketing Spend) / Marketing Spend × 100% | Did the marketing budget pay for itself? | Marketing leader and owner |
| ACoS | Ad Spend / Revenue × 100% | What fraction of sales go toward ads? | Performance team |
| CAC | Acquisition Spend / Customers Acquired | What does one new customer cost? | Performance team and sales |
| LTV | Average Order Value × Purchase Frequency × Margin | What does one customer bring over their lifetime? | Owner, for business strategy |
Different people need different numbers. The owner cares about ROMI on gross profit and LTV:CAC—they show whether the business makes or burns money on customer acquisition. The performance team needs ACoS and CAC by campaign: operational numbers to shift budget between Google Ads, Meta Ads, and other platforms. Mixing both sets into one report is a sure way to drown in numbers and make no decisions at all.
What's a Good Marketing ROI: Channel Benchmarks
There's no universal "good ROI"—it depends on your margin, sales cycle, and industry. A premium furniture brand and a consumer goods company with the same ROMI of 50% are in totally different shapes because of margin differences. The only hard rule: ROMI above 0% on gross profit means the channel doesn't drain more than it brings.
Beyond that, evaluate each channel separately because their payback horizons differ.
Google Search Ads tap hot demand: the user already searched for the product, payback is fast, but clicks are pricey. Google Display Network delivers cheaper traffic, lower conversion, longer path to sale—judging it by one week alone is pointless. Meta Ads often work on cold demand: you warm up with content, and payback appears on the second or third purchase, not the first inquiry. LinkedIn Ads are broad reach; their value spreads over weeks or months, not days. SEO and organic content have delayed returns—six months or more—but their ROI climbs over time instead of disappearing when you stop spending.
| Channel | Timeline for ROI | What to Watch First |
|---|---|---|
| Google Search | 2–4 weeks | ROMI on gross profit, CAC |
| Google Display | 4–8 weeks | Leads from reach, attributed conversions |
| Meta Ads | 1–3 months | Repeat purchases, LTV by cohort |
| LinkedIn Ads | 2–3 months | Reach and attributed conversions, not last-click |
| SEO & Content | 6+ months | ROI trend by quarter, not a single snapshot |
Benchmarks from someone else's market mean nothing without tuning to your own data: your only reference is your own history over three to six months, not an average from a case study.
Accurate channel comparison demands good attribution in your own system: without linking expenses to outcomes by source, comparing channels becomes guesswork. The baseline: set up conversion tracking in Google Analytics 4 and verify against Google Analytics help documentation if you have questions on visits and conversions. Second baseline: a single UTM parameter standard across all channels—otherwise sources get tangled in reports.
Common ROI Calculation Mistakes
Right formulas break down at the data collection stage. Five errors dominate.
- Last-click attribution. All credit goes to the final ad before purchase; upper-funnel channels—LinkedIn Ads, display, content—get zeroed out, even though they put the user into the funnel.
- Forgotten overhead. Team salaries, agency fees, analytics subscriptions—the 30–45% uplift from the example. Leave them out and ROMI looks better than reality.
- Revenue vs. profit confusion in the numerator. The gap is huge: ROMI by revenue gave 176%; by gross profit, 10.3%. Not a typo—two different metrics with different meanings.
- Calculating by click date instead of payment date. With a three-week sales cycle, ROI for a calendar month becomes fiction: costs are spent but revenue hasn't landed yet.
- Comparing channels with different sales cycles without adjusting for time. Google Search and SEO can't sit side-by-side in one month's report—their payback windows differ by orders of magnitude.
The most expensive mistake: confusing revenue and profit. It doesn't just skew the number; it flips the decision upside down. A founder seeing "176% ROMI" scales a channel barely breaking even on profit at 10.3%. If margin is lower than the example, scaling sends the business into the red—all while the report promised growth.
ROI in AdMetric: No Excel, No Manual Math
The traditional way: export from your ad platform, export from your CRM, hand-match by UTM in a spreadsheet, repeat every month. While you build the sheet, money is still flowing into campaigns that may be dead. A typo in a formula, a forgotten expense, or a duplicate row in the export—and your budget decision is based on wrong numbers. Worse, you find the error a month later, when the money is already spent.
AdMetric eliminates manual work by connecting your data sources:
- Ad platform connections — Google Ads, Meta Ads and TikTok Ads feed spend automatically, no daily exports.
- Revenue link from your CRM — HubSpot or Salesforce — so deals and payments tie back to traffic source via UTM tags and goals.
- ROI, ROMI, CAC per channel and campaign — not just account-level totals.
- Cohort accounting by payment date — month's spend compares to revenue from customers acquired that month, even if payment arrived later.
- Dashboard instead of monthly spreadsheet — numbers update live, not once a month before the board meeting.
In practice, this shifts speed: spot that a campaign is hemorrhaging money on profit in week three, not week five after the month closes and the cash is gone. The formulas and benchmarks above are essential for understanding the math, but hand-calculating them every month isn't how a growing business operates. AdMetric is free to try for seven days, no card required, and pricing after that is on our plans page.
One automation caveat: no system fixes bad data upstream. Messy UTM tags and misconfigured goals in Google Analytics 4 feed garbage in and out just as neatly as hand-matching did before. Set aside time to standardize your UTM tags across channels before you wire up all your data sources. Automation pays off on top of clean data, not instead of it.
See Which Ads Actually Pay
We calculate ROI by channel and show you where money goes and where it leaks.
Start for free →