::: callout-key-takeaways
Key Takeaways
-
ROMI is the honest version of ROAS. ROAS measures revenue ÷ ad spend — a top-line ratio that ignores product cost. ROMI subtracts COGS, removes baseline sales, and divides by all marketing costs to tell you whether the marketing actually made the business money. (Wikipedia, 2026; GetMonetizely, 2026)
-
Most published ROMI numbers are wrong. They skip COGS, baseline sales, and full marketing cost. A correct formula applied to incorrect inputs still produces the wrong number — and wrong ROMI drives wrong budget decisions. (Improvado, 2026)
-
The calculation has multiple inputs, not just two. The practical ROMI calculation walks through defining your full marketing investment, determining revenue attribution, calculating the raw ROMI, and optionally factoring in customer lifetime value. (GetMonetizely, 2026)
-
A good ROMI depends on your channel. Email marketing median 3,600% ROMI; paid search median 200%; paid social median 175%; display median 200%. Judge against your own cost of capital, not a headline "5:1 is good" rule. (Improvado, 2026; Sender.net, 2026)
-
Calculate ROMI monthly per channel, quarterly per campaign. Daily is noise — B2B with 90-day cycles should not measure ROMI weekly. Annual is too late to act on. (Improvado, 2026; GetMonetizely, 2026)
:::
The question every marketer eventually faces
You spent $10,000 on a Google Ads campaign. Revenue jumped from $30,000 a month to $50,000 a month. Your dashboard says 5× ROAS. The marketing looked successful on paper.
But your cost of goods is 40% of revenue. You had $18,000 in sales the month before without spending a dollar on ads. And your true marketing cost — including agency fees, attribution software, creative production, and a share of your in-house team's time — was $15,000, not $10,000.
Was the campaign actually profitable? The ROAS number says yes. The honest number says: maybe not.
That honest number is ROMI — Return on Marketing Investment. And it's the single metric that answers the question your CFO is eventually going to ask: did this marketing actually make us money?
What ROMI actually measures — and why it's different from ROAS
ROAS (Return on Ad Spend) = Revenue ÷ Ad Spend. It's a top-line ratio. A 4× ROAS means you generated $4 in revenue for every $1 spent on ads. That's useful for in-platform optimization — should I bid higher on this keyword? should I scale this ad set? — but it tells you nothing about profit. ROAS treats every dollar of revenue as equal, ignores the cost of the product you sold to generate that revenue, and divides by media spend alone.
ROMI (Return on Marketing Investment) measures the contribution to profit attributable to marketing, net of marketing spending, divided by the marketing invested. It's a profit metric — it subtracts the cost of goods to get to gross profit, removes the sales that would have happened anyway to isolate the incremental lift, and divides by everything it cost to run the marketing — not just the media bill. (Wikipedia, 2026)
The practical consequence: a campaign at 4× ROAS can be ROI-negative. $100,000 of media returning $400,000 of revenue looks excellent until you add $80,000 of salaries and tooling and apply a 40% gross margin — at which point $160,000 of gross profit against $180,000 of total cost is a loss. (Wikipedia, 2026; GetMonetizely, 2026)
This is why ROMI and ROAS answer fundamentally different questions, and why you need both:
| Metric | Formula | Answers | Who uses it |
|---|---|---|---|
| ROAS | Revenue ÷ Ad Spend | Is this ad account working? | Media buyer, week-to-week |
| MER (Marketing Efficiency Ratio) | Total Revenue ÷ Total Marketing Spend | Is my channel mix working? | Marketing director, monthly |
| ROMI | ((Revenue − COGS) − Baseline) ÷ Total Marketing Cost × 100 | Did this marketing make us money? | CFO, quarterly |
Never treat ROAS and ROMI as interchangeable. They measure different things at different levels of rigor. A 5× ROAS campaign can have a negative ROMI. A 2× ROAS campaign with high-margin products and low baseline can have an excellent ROMI. The headline "5:1 is good" benchmark is a revenue-to-spend ratio — closer to ROAS than ROMI. (Improvado, 2026; Sender.net, 2026)
The ROMI formula — the inputs that matter
The "ROMI" you see quoted in most blog posts and vendor case studies is usually just Revenue ÷ Ad Spend — which is ROAS in disguise. True ROMI walks through a structured calculation process. (GetMonetizely, 2026; Improvado, 2026)
1. Define your full marketing investment
Begin by clearly identifying all costs associated with the marketing initiative — not just the media bill. (GetMonetizely, 2026)
- Direct costs — ad spend, agency fees, event sponsorships. Pull directly from each platform's billing or cost report. (Improvado, 2026)
- Employee time and salaries dedicated to the campaign, or agency/freelance fees.
- Technology and tools — GTM, GA4, Looker Studio, attribution platforms, server-side tracking.
- Content development costs — photography, video, landing-page builds, copywriting. Amortize costs that continue to deliver value over time.
- Any other costs directly attributable to the marketing effort.
On audited mid-market accounts, total marketing cost typically runs above ad spend alone once you include tooling, team, and agency fees. A ROMI that divides by $10,000 instead of $15,000 inflates the result — and that's before you even get to COGS and baseline. (GetMonetizely, 2026)
Exclude sales team salaries (that's CAC territory) and general overhead not tied to marketing. (GetMonetizely, 2026)
If you're not sure where to start, use the free ROMI Calculator at /romi-calculator/ — it forces you to enter all five inputs and shows you the result for both Scenario A and Scenario B side by side.
2. Determine revenue attribution
This is often the most challenging step. You need to identify what portion of your revenue can be directly attributed to your marketing efforts. (GetMonetizely, 2026)
- Multi-touch attribution — assigns value to each marketing touchpoint in the customer journey.
- First/last touch attribution — gives full credit to either the first or last marketing interaction.
- Time decay model — gives more credit to touchpoints closer to conversion.
- Incremental lift measurement — uses control groups to measure the incremental impact of marketing.
Pick one attribution model and apply it consistently across all channels — mixing models makes ROMI incomparable. (Improvado, 2026)
For lead-gen campaigns, count closed-deal revenue, not pipeline. In Google Ads, pull the Conversion Value column. In Meta, use Purchase Conversion Value. (GetMonetizely, 2026)
3. Calculate the raw ROMI
Once you have your investment and attributed revenue figures, apply the formula: (GetMonetizely, 2026)
ROMI = [(Revenue attributable to marketing − Marketing investment) ÷ Marketing investment] × 100%
A positive ROMI indicates a profitable campaign, while a negative ROMI means you're spending more than you're generating. (GetMonetizely, 2026)
The full formula, incorporating COGS and baseline: (Wikipedia, 2026)
ROMI (%) = ((Campaign Revenue − Campaign COGS) − (Baseline Revenue − Baseline COGS)) ÷ Marketing Cost × 100
4. Factor in Customer Lifetime Value (CLV)
For SaaS businesses and growth-stage brands, initial conversion is just the beginning. A more sophisticated ROMI calculation should include the expected lifetime value of acquired customers: (GetMonetizely, 2026)
ROMI with CLV = [(CLV × Number of new customers − Marketing investment) ÷ Marketing investment] × 100%
You'll need a defensible CLV number — 12-month gross profit per customer, or 24-month if your retention is strong. Don't use "lifetime lifetime" — most brands overestimate it. Use a known historical window you can actually back up. (GetMonetizely, 2026)
A concrete example — the same campaign, two different stories
Let's walk through a real e-commerce example. Your store does $30,000 a month in organic revenue. You spend $10,000 on a Google Ads campaign and monthly revenue jumps to $50,000. Your COGS is 40% of revenue.
The naive calculation — the one most people use when they say "ROMI" — divides campaign revenue by ad spend:
$50,000 ÷ $10,000 = 5× ROAS
If you're feeling generous and subtract COGS but not baseline:
($50,000 − $20,000 COGS − $10,000 spend) ÷ $10,000 = 200% ROMI
The honest calculation — the one that factors in COGS, baseline sales, and full marketing cost:
Campaign Gross Profit: $50,000 − $20,000 = $30,000
Baseline Gross Profit: $30,000 − $12,000 = $18,000
Incremental Gross Profit: $30,000 − $18,000 = $12,000
ROMI: $12,000 ÷ $10,000 = 120%
Same campaign, two very different stories. The 200% number tells you to scale. The 120% number tells you to optimize before you increase budget — because you're generating $1.20 of incremental gross profit per dollar of marketing, not $2.00.
Now add full marketing cost. If your true marketing cost is $15,000 (media + agency + tools + team share):
ROMI: $12,000 ÷ $15,000 = 80%
Below 100%. The campaign is generating less than a dollar of incremental gross profit per dollar of total marketing cost. That's a yellow flag, not necessarily a red one — but it's a flag you would never see if you only looked at ROAS.
What counts as marketing cost — the categories most people skip
The single most common ROMI error is treating ad spend as the entire marketing cost. In reality, total marketing cost includes far more than media spend. (GetMonetizely, 2026; Improvado, 2026)
The categories to include:
- Pure ad spend — clicks, impressions, platform management fees. Pull directly from each platform's billing or cost report. (Improvado, 2026)
- Tracking and analytics tools — GTM, GA4, Looker Studio, attribution platforms, server-side tracking.
- Internal or external team cost — % of salaries allocated to the campaign, or agency/freelance fees.
- Creative production — photography, video, landing-page builds, copywriting. Not always a monthly cost, but if a campaign used it, allocate it.
- Attribution software and a share of opportunity cost — the cost of the tools you use to measure the campaign, and a small share of the cash tied up between ad spend and customer cash-in.
Exclude sales team salaries (that's CAC territory) and general overhead not tied to marketing. (GetMonetizely, 2026)
If you're not sure where to start, use the free ROMI Calculator at /romi-calculator/ — it forces you to enter all the inputs and shows you the result for both Scenario A and Scenario B side by side.
Channel ROMI benchmarks — what "good" actually looks like
ROMI benchmarks vary widely by channel, margin, and business model. Use these as orientation, not targets. (Improvado, 2026; Sender.net, 2026)
| Channel | Median ROMI | Top Quartile | Why the spread is wide |
|---|---|---|---|
| Email marketing | 3,600% | 4,200% | Mature lists with strong segmentation hit 50:1+; cold imported lists land at 4:1 or worse. Near-zero marginal cost. (Improvado, 2026; Sender.net, 2026) |
| SEO / Organic search | 825% | 1,200% | Compounds over years. Months 1–12 typically show negative ROI; the 825% median assumes a 3–5 year horizon. (Improvado, 2026) |
| Paid search (Google Ads) | 200% | 400% | Branded keywords can hit 10:1+; non-brand typically 2.5:1 to 6:1 after a 90-day learning period. (Improvado, 2026; Sender.net, 2026) |
| Paid social (Meta) | 175% | 300% | Cold prospecting 50%–250%; retargeting 300%–1,000% but watch incrementality, not just ROAS. (Improvado, 2026) |
| Display / Programmatic | 200% | 350% | Mostly assists; don't judge in isolation. (Improvado, 2026) |
| Affiliate marketing | 1,400% | 2,000% | Pure pay-for-performance; floor is high, ceiling capped by partner availability. (Improvado, 2026; Sender.net, 2026) |
| Content marketing | 300% | 600% | Depends entirely on distribution. Content with paid amplification often outperforms organic content by 3–5×. (Improvado, 2026) |
The often-quoted "5:1 is good" benchmark (500% ROMI) is a revenue-to-spend ratio. Improvado's 2026 benchmarks set the "good" ROMI threshold at 5:1 ($5 per $1 spent), with exceptional at 10:1+. Judge your ROMI against your own cost of capital and your channel mix, not against a published figure that uses a different formula. (Improvado, 2026)
For email marketing specifically, Sender.net's 2025–2026 statistics show $36–$42 return per $1 spent (3,600%–4,200% ROMI), with the causal chain being clear — you send an email, someone clicks, someone buys. Only 36% of marketers say they can accurately measure ROI, and 47% struggle to measure ROI across multiple channels, which means most published ROI benchmarks are based on partial data. (Sender.net, 2026)
ROMI by business model — the healthy range depends on what you sell
A positive ROMI means the marketing contributed profit after all costs. The healthy range depends on your business model. (GetMonetizely, 2026)
- DTC e-commerce: 100%–200% ROMI after COGS and full marketing costs. Above 200% usually means underinvestment relative to opportunity — the right move is to scale spend until ROI compresses to a sustainable level.
- B2B SaaS: 150%–380% ROMI on first-year customer revenue; full-lifetime ROMI is far higher but the payback period is 8–18 months. OpenView Partners reports that SaaS companies should target a minimum ROMI of 200% for sustainable growth, with top performers achieving 500% or higher — so CFO conversations in SaaS must present 24-month ROI and payback period together. A 300% ROI over 24 months with 14-month payback can be less attractive than 200% ROI over 24 months with 6-month payback, depending on runway. (GetMonetizely, 2026)
- CPG retail: 50%–150% ROMI because margins are compressed.
- Subscription businesses: 200%+ ROMI once customers renew past the first period. Brand campaigns often show negative ROMI in a 30-day window but strong ROMI over 6–24 months — use a longer measurement window and MMM or incrementality testing for brand ROI, not last-touch attribution. (Measured, 2026)
How often should you calculate ROMI?
Monthly at the channel level, quarterly at the campaign level. (GetMonetizely, 2026; Improvado, 2026)
Daily ROMI is noise — there isn't enough data volume to make a real decision, and short-term fluctuations will send you scrambling for optimizations that don't matter. Improvado's 2026 guidance is explicit: B2B with 90-day cycles should not measure ROMI weekly. Short-cycle retail can use 7 or 14 days. Longer windows = less noise. (Improvado, 2026)
Annual ROMI is too late to act on — by the time you see a bad annual ROMI, you've already spent the year.
Monthly gives you enough data volume to make real decisions and catches drift early. If your ROMI drops from 180% to 110% over two months, you have a signal worth investigating before it becomes a crisis.
For B2B with 90-day or longer sales cycles, calculate pipeline ROMI weekly (pipeline value × close rate × average deal value, divided by marketing cost) and reconcile against closed-won revenue quarterly. (GetMonetizely, 2026)
What to do when you can't establish a baseline
Establishing a clean baseline is the hardest part of an honest ROMI calculation. If you have no historical data, big seasonal swings, or you're running a brand-new campaign with no prior period to compare against, you have two workarounds. (GetMonetizely, 2026)
Option 1: Geo holdout. Pause ads in one region for a full sales cycle and use that region as your baseline. Compare the revenue in the paused region to the revenue in the running region, adjusted for population and historical trends. StellaHeyStella's 2025 DTC incrementality benchmarks used geo holdout tests (N=62) where ads are active in treatment regions and paused in control regions — measuring positive incremental lift by comparing observed revenue in treatment regions against what would have occurred without advertising. This is the cleanest non-platform approach. (StellaHeyStella, 2025)
Option 2: Platform-native incrementality tools. Meta has Conversion Lift. Google has Geo Experiments. These tests run a randomized holdout against your campaign and report the incremental lift directly — which is exactly what you need for the baseline inputs. (Improvado, 2026)
Option 3: Set baseline to zero (less rigorous). If neither a geo holdout nor a platform test is available, set Baseline Revenue and Baseline COGS to zero and calculate gross-profit ROMI: (Campaign Revenue − Campaign COGS − Marketing Cost) ÷ Marketing Cost × 100. This is not a real ROMI — it's a gross-profit ROI — but it's better than using ROAS as a proxy and it gives you a directional number to improve over time. (GetMonetizely, 2026)
The key is to be explicit about which version you're using. A ROMI calculated without a baseline is a different metric than a ROMI calculated with one, and comparing the two across campaigns is misleading.
For a deeper dive on incrementality and causal measurement, see our attribution modeling guide and the marketing mix modeling context.
The CLV-adjusted ROMI — when first-order math isn't enough
For growth-stage brands that acquire customers at thin short-term margins but strong lifetime returns, first-order ROMI can look terrible even when the business is healthy. A customer acquired for $100 who generates $40 in first-order gross profit gives you a negative first-order ROMI — but if that customer's lifetime value is $400, the long-term ROMI is excellent.
CLV-adjusted ROMI: (GetMonetizely, 2026)
ROMI (CLV) = ((New Customers × Average CLV) − Marketing Cost) ÷ Marketing Cost × 100
For example: if your CLV is $400 and a campaign brought in 50 new customers at $8,000 cost, your CLV-ROMI is ($20,000 − $8,000) ÷ $8,000 = 150%.
You'll need a defensible CLV number — 12-month gross profit per customer, or 24-month if your retention is strong. Don't use "lifetime lifetime" — most brands overestimate it. Use a known historical window you can actually back up. (GetMonetizely, 2026)
The CLV-adjusted ROMI is the right frame for justifying acquisition investment that looks thin on first-order math alone. But verify LTV with real cohort data before scaling spend — projected LTVs without cohort validation are where a lot of growth-stage brands get into trouble.
For a deeper dive on LTV and the LTV:CPA ratio, see our guide to mastering the LTV to CPA ratio and the ROI & LTV Calculator.
ROMI vs. ROAS — the mistake that costs marketers their budget
The most expensive mistake in marketing measurement is treating ROAS as ROMI. Here's why it matters:
ROAS only sees clicks and impressions billed by platforms. ROMI sees the entirety of marketing investment — tracking tools, team salaries, agency fees, creative production, affiliate commissions, and a share of opportunity cost. (Wikipedia, 2026; GetMonetizely, 2026)
The structural distinction:
- ROAS = revenue ÷ ad spend. A multiple. Media costs only, revenue not profit. Answers "is this ad account working?" Calculate ROAS for weekly operational steering. (Wikipedia, 2026)
- Marketing ROI = (return − cost) ÷ cost. A percentage. All marketing costs, ideally measured in profit. Answers "is marketing worth what we put into it?" Calculate for quarterly executive review. (GetMonetizely, 2026)
- ROMI = the same formula applied to the whole marketing program rather than a single campaign. Answers the same question at budget level. (Wikipedia, 2026; GetMonetizely, 2026)
The three aren't substitutable — each answers a different steering question, at a different time horizon, for a different stakeholder.
Conclusion — the honest number, in two minutes
ROMI is not harder to calculate than ROAS. It has more inputs than two, and the inputs that most people skip — full marketing cost, baseline sales, COGS — are the ones that separate a real ROMI from a ROAS in disguise. But the difference between a 400% "ROMI" that's actually just ROAS and a 150% true ROMI is the difference between scaling into trouble and optimizing before you increase budget.
Enter your numbers into the free ROMI Calculator and get your incremental gross profit and ROMI percentage in under two minutes. If you want to compare two scenarios — a test campaign vs. your baseline, or two different channel mixes — turn on Compare mode and see the delta side by side.
And if you're building your full marketing measurement stack, pair ROMI with ROAS for weekly campaign steering and MER for monthly channel mix reviews. They're not interchangeable — they're complementary. For the full measurement picture, see how marketing mix modeling and incrementality testing fit together.
FAQ
What is the difference between ROMI and ROAS? (Wikipedia, 2026; GetMonetizely, 2026)
ROAS (Return on Ad Spend) measures revenue against ad spend only — a top-line ratio that ignores product cost and treats every sale as new. ROMI (Return on Marketing Investment) measures the contribution to profit attributable to marketing, net of marketing spending, divided by the marketing invested — it subtracts COGS to get gross profit, removes baseline sales to isolate incremental lift, and divides by all marketing costs (not just media). A 4× ROAS at 20% gross margin can be a negative ROMI.
What is a good ROMI? (Improvado, 2026; Sender.net, 2026)
A positive ROMI above 0% means the campaign contributed profit after all costs. Above 100% means every dollar of marketing generated more than a dollar of incremental gross profit. Improvado's 2026 benchmarks set the "good" ROMI threshold at 5:1 ($5 per $1 spent), with exceptional at 10:1+. Benchmarks vary by channel: email marketing typically 3,600%+ (Sender.net reports $36–$42 per $1 spent), paid search 200% median, paid social 175% median, display 200% median. OpenView Partners recommends SaaS companies target a minimum ROMI of 200% for sustainable growth, with top performers achieving 500% or higher.
What costs should I include in Marketing Cost? (GetMonetizely, 2026)
Include ad spend, agency fees, creative production, attribution software, landing-page builds, and a proportional share of your in-house marketing team's time. Exclude sales team salaries (that's CAC territory) and general overhead not tied to marketing. The full calculation walks through five categories: pure ad spend, tracking and analytics tools, internal or external team cost, creative production, and attribution software with a share of opportunity cost.
How do I establish a baseline when I have no historical data? (StellaHeyStella, 2025; Improvado, 2026; GetMonetizely, 2026)
Run a geo holdout — pause ads in one region for a full sales cycle and use that as your baseline, comparing treatment vs. control regions adjusted for population and historical trends. Or use platform-native incrementality tools like Meta Conversion Lift and Google Geo Experiments, which run randomized holdouts and report incremental lift directly. If neither is available, set Baseline Revenue and Baseline COGS to 0 to calculate gross-profit ROMI without a control group — but note that this is a less rigorous measure. Be explicit about which version you're using.
Can ROMI be negative? (GetMonetizely, 2026)
Yes. A negative ROMI means the campaign generated less incremental gross profit than it cost to run — the marketing is costing more than it's bringing in. This is common when marketers optimize to ROAS without accounting for COGS, baseline sales, or full marketing costs. A positive ROMI indicates a profitable campaign, while a negative ROMI means you're spending more than you're generating.
How often should I calculate ROMI? (GetMonetizely, 2026; Improvado, 2026)
Monthly at the channel level, quarterly at the campaign level. Daily ROMI is noise — there isn't enough data volume to make a real decision, and short-term fluctuations will send you scrambling for optimizations that don't matter. Improvado's 2026 guidance: B2B with 90-day cycles should not measure ROMI weekly; short-cycle retail can use 7 or 14 days. Annual ROMI is too late to act on. Monthly gives you enough data volume to make real decisions and catches drift early.
Sources: Improvado 2026 ROMI Benchmark Report; Sender.net Marketing ROI Statistics (2025–2026); Litmus State of Email Reports 2026; StellaHeyStella 2025 DTC Incrementality Benchmarks; Measured Marketing Mix Modeling Guide (2026); Wikipedia Return on Marketing Investment; GetMonetizely ROMI Guide for SaaS Executives. Full source list in frontmatter.
