Campaign Revenue
Total revenue attributed to the campaign during the measurement window. Pull from your ad platform's conversion value column or your CRM's attributed revenue report.
Calculate your Return on Marketing Investment (ROMI). Input campaign revenue, COGS, baseline sales, and full marketing costs to measure true marketing profitability.
Include ad spend, agency fees, creative production, tools, and allocated team time — not just media spend.
This calculator finds your true Return on Marketing Investment (ROMI) — the percentage of profit your marketing actually generates, after stripping out cost of goods, baseline sales that would have happened anyway, and the full cost of running your marketing operation.
Pull the total revenue attributed to the campaign during your measurement window. In Google Ads, use the Conversion Value column. In Meta, use Purchase Conversion Value. For lead-gen campaigns, count closed-deal revenue, not pipeline.
This is the direct cost of producing or sourcing the products or delivering the services sold through the campaign. For physical goods, include manufacturing, fulfillment, and platform fees. For services, include contractor time and any cost that scales with sales.
Campaign Gross Profit = Campaign Revenue − Campaign COGS
The baseline is what you would have earned in the same period without running the campaign — organic sales, repeat purchases, and any other revenue that would have happened anyway. Use a matched prior period (same days of the week, similar season, no major promotions) or a platform-native incrementality test (Meta Conversion Lift, Google Geo Experiments).
Baseline Gross Profit = Baseline Revenue − Baseline COGS
This is the key step most ROMI calculators skip. Don't just enter ad spend — include agency fees, creative production, landing-page builds, attribution software, and a share of your in-house team's time if they worked on the campaign. A ROMI that ignores these costs looks better than reality.
ROMI = ((Campaign Gross Profit − Baseline Gross Profit) ÷ Marketing Cost) × 100.
ROMI (%) = ((Campaign Revenue − Campaign COGS) − (Baseline Revenue − Baseline COGS)) ÷ Marketing Cost × 100
A ROMI of 150% means every dollar of marketing spend generated $1.50 in incremental gross profit. A ROMI below 0% means the campaign is losing money once you factor in production cost and baseline sales.
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) 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.
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. Benchmarks vary by channel: email marketing typically 3,600%+, paid search 200% median, paid social 175% median, display 200% median (Improvado 2026 ROMI Benchmarks).
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.
Run a geo holdout — pause ads in one region for a full sales cycle and use that as your baseline. Or use platform-native incrementality tools like Meta Conversion Lift and Google Geo Experiments. 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.
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.
Monthly at the channel level, quarterly at the campaign level. Daily ROMI is noise. Annual ROMI is too late to act on. Monthly gives you enough data volume to make real decisions and catches drift early.
Return on Marketing Investment (ROMI) is the single number that answers the question every marketer eventually faces: is this marketing actually making the business more money than it's costing? It sounds simple, but the vast majority of ROMI calculations published online are wrong — they ignore cost of goods, they skip baseline sales, and they treat ad spend as the entire marketing cost.
When someone says "our campaign has a 400% ROMI," they are usually describing a formula that divides attributed revenue by ad spend — which is ROAS, not ROMI. True ROMI requires three corrections: subtract COGS to get to gross profit, subtract baseline sales to isolate the incremental lift, and divide by all marketing costs, not just media. Without these corrections, the number is directionally useful but not honest — and the difference between a 400% ROAS-based "ROMI" and a 150% true ROMI can be the difference between scaling into trouble and optimizing before you increase budget.
This calculator is designed to force you to be honest about all five inputs. Enter campaign revenue and COGS to get campaign gross profit. Enter baseline revenue and COGS to get baseline gross profit. Enter your full marketing cost — not just the media bill. The calculator then computes incremental gross profit and divides by marketing cost to give you a ROMI that actually means something to your CFO.
ROAS (Return on Ad Spend) = Revenue ÷ Ad Spend. It's a top-line ratio, 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. A 4× ROAS campaign at 20% gross margin generates $4 in revenue per dollar spent, but after COGS that's $0.80 in gross profit per dollar — and after full marketing costs it could be negative. Most marketers confuse the two because the platforms report ROAS prominently and ROMI is harder to calculate, but they answer fundamentally different questions. ROAS answers "is this ad account working?" ROMI answers "is this marketing making us money?"
Start with your campaign revenue for the measurement window. Subtract campaign COGS to get campaign gross profit. Then establish your baseline — what you would have earned without the campaign — by looking at a matched prior period or running an incrementality test. Subtract baseline COGS to get baseline gross profit. Subtract baseline gross profit from campaign gross profit to get incremental gross profit. Finally, divide by your full marketing cost (media + agency + creative + tools + team time) and multiply by 100 to get ROMI as a percentage.
For a concrete example: your e-commerce 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 says ($50,000 − $20,000 COGS − $10,000 spend) ÷ $10,000 = 200% ROMI. The honest calculation says ($20,000 incremental gross profit − $18,000 baseline gross profit) ÷ $10,000 = 20% ROMI. Same campaign, two very different stories — and only the second one tells you whether you should scale or optimize.
The single most common ROMI error is treating ad spend as the entire marketing cost. In reality, total marketing cost is typically 1.3× to 1.8× ad spend once you include tooling, team, and agency fees. On a mid-market e-commerce account with $10,000 in monthly ad spend, the true marketing cost is often $13,000–$18,000. A ROMI that divides by $10,000 instead of $15,000 inflates the result by 50% — and that's before you even get to COGS and baseline. Include all five cost categories: pure ad spend, tracking and analytics tools, internal or external team cost, affiliate commissions if applicable, and a share of opportunity cost on tied-up cash.
ROMI benchmarks vary widely by channel, margin, and business model. Use these as orientation, not targets. They come from the Improvado 2026 ROMI Benchmarks Report, which analyzed data across thousands of programs.
The headline "5:1 is good" benchmark is a revenue-to-spend ratio — closer to ROAS than ROMI. Judge your ROMI against your own cost of capital and your channel mix, not against a published figure that uses a different formula.
A positive ROMI means the marketing contributed profit. The healthy range depends on your business model. DTC e-commerce typically targets 100%–200% ROMI after COGS and full marketing costs. B2B SaaS measures ROMI on first-year customer revenue; full-lifetime ROMI is far higher but the payback period is 8–18 months. CPG retail runs 50%–150% ROMI because margins are compressed. Subscription businesses can see 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.
Total revenue attributed to the campaign during the measurement window. Pull from your ad platform's conversion value column or your CRM's attributed revenue report.
The direct cost of producing or sourcing the products or delivering the services sold through the campaign — manufacturing, fulfillment, platform fees, contractor time. Anything that scales with sales.
What you would have earned in the same period without running the campaign — organic sales, repeat purchases, and any other revenue that would have happened anyway. Use a matched prior period or an incrementality test.
The cost of goods sold for your baseline revenue. Apply your average gross margin to arrive at the right number, or use actual COGS from the matched prior period.
The full cost of running your marketing operation for this campaign — ad spend, agency fees, creative production, tools, and a share of your in-house team's time. Not just media spend.
The profit your campaign actually generated above baseline — Campaign Gross Profit minus Baseline Gross Profit. This is the numerator in the ROMI formula.
The percentage of profit your marketing generates relative to what you spent. ROMI = (Incremental Gross Profit ÷ Total Marketing Cost) × 100. A ROMI above 0% means the campaign contributed profit; below 0% means it lost money.
A top-line ratio: Revenue ÷ Ad Spend. Useful for in-platform optimization but ignores COGS, baseline sales, and full marketing costs. A 4× ROAS can be a negative ROMI once you factor in product cost and total marketing investment.