Tools · Free, instant, no signup

Marketing ROI calculator

Return on investment computed from profit — with the ROAS beside it for contrast.

Runs entirely in your browser — nothing is uploaded, nothing is stored. Updated 2026-09-26.

Marketing ROI is (gross profit from marketing − marketing cost) ÷ marketing cost. $120,000 of attributed revenue at a 38% margin, against $22,000 of marketing cost, is an ROI of 107%.

The distinction that matters is the one most calculators skip: ROI works on profit, ROAS works on revenue, and they can point in opposite directions. A campaign at 3× ROAS on a 30% margin has a marketing ROI of −10% — the revenue looks healthy while the campaign loses money on every sale. Both numbers are below, side by side, so the gap is visible rather than argued about.

Marketing ROI = (revenue × gross margin − marketing cost) ÷ marketing cost × 100

ROAS vs ROI

ROAS and ROI are built from the same two numbers and answer different questions. ROAS = revenue ÷ ad spend: how much revenue each dollar of spend came back with. ROI = (gross profit − cost) ÷ cost: how much profit is left once the cost is paid back. On this page's example, $120,000 of revenue against $22,000 of cost is a ROAS of 5.45×. The same campaign at a 38% margin makes $45,600 of gross profit, so its ROI is ($45,600 − $22,000) ÷ $22,000 = 107%.

ROASMarketing ROI
Formularevenue ÷ ad spend(gross profit − cost) ÷ cost
This page's example$120,000 ÷ $22,000 = 5.45×($45,600 − $22,000) ÷ $22,000 = 107%
Break-even1 ÷ margin: 2.63× at a 38% margin0%
Needs your marginNoYes
Used forsteering bids inside an ad platformdeciding whether the budget earns its keep

Each one misleads in its own way. ROAS misleads when margins are thin or uneven, because it never sees them: the same 5.45× is an ROI of −18% at a 15% margin. It also misleads when costs outside the media line are left out — if $6,000 of the $22,000 were agency fees and tooling, a ROAS on the $16,000 of media alone would read 7.50× for exactly the same campaign.

ROI misleads when the margin or the revenue is wrong. The margin is an estimate, and a gross margin that ignores shipping, fees and returns flatters every campaign. The revenue is usually all attributed revenue, including buyers who would have come anyway, and a first-order ROI ignores repeat purchases that can make a negative number profitable over a customer's lifetime.

When both are computed on the same cost, one converts into the other: ROI = ROAS × margin − 1. 5.45 × 0.38 − 1 = 1.07, the 107% above. Run it backwards to turn an ROI goal into a bid target: a 50% ROI at a 38% margin needs a ROAS of 1.5 ÷ 0.38 = 3.95×, which is the number a target ROAS bid strategy can actually aim at.

The break-even point is 0%, not 100%

An ROI of 0% means marketing exactly paid for itself. 100% means it returned twice its cost. This trips people who are used to ROAS, where break-even is 1× and 100% means you got your money back and nothing else.

Because of that, negative ROI is a normal reading rather than a catastrophe — it means the campaign is under water on gross profit, which is worth knowing precisely because ROAS will not tell you.

Total ROI answers a question you probably did not ask

Dividing all marketing-attributed revenue by marketing cost includes customers who would have bought anyway. The number that supports a budget decision is incremental: how much revenue would not have happened without the spend.

Getting there needs a holdout — a matched region or audience with the campaign switched off — or a geo experiment. Neither is free, but a total ROI presented as if it were incremental is the standard way marketing budgets get defended on numbers that do not mean what they claim.

Which costs belong in the denominator

Media alone gives a flattering ROI that no CFO will accept twice. A defensible figure includes agency fees, tooling, production costs and the salaries of the people running the programme.

The boundary matters less than its stability. An ROI that improved because a salary line quietly moved out of the denominator has not improved, and that is the single most common way this metric drifts over a few quarters.

Computing this from your own accounts

Every calculator on this page takes numbers you typed. The version that keeps working is the one that reads them from the accounts themselves — which is what TableBI is: connect Google Ads, Meta Ads, GA4 or Search Console once, and roas() becomes a macro you can query from your terminal.

terminal
# connect once, then the metric is a standing query
tablebi connect google_ads
tablebi connect meta_ads   # beta: your own or test ad accounts

tablebi ask "WITH w AS (SELECT MAX(date) AS anchor FROM metrics)
   SELECT platform, roas(SUM(revenue), SUM(cost)) AS roas
   FROM metrics, w WHERE date > w.anchor - 30
   GROUP BY platform ORDER BY roas DESC"

# pin the answer to a URL that refreshes itself
tablebi pin --title "marketing ROI calculator by channel"
→ https://you.tablebi.com/d/dsh_…

The pinned answer is a live URL that refreshes on its own — here is one running now. No hosted model does the reasoning; your own Claude Code or Codex drives the CLI, which is why there is no inference bill attached to it.

Questions people ask about marketing roi calculators

How do I calculate marketing ROI?

Multiply attributed revenue by gross margin to get gross profit, subtract the marketing cost, divide by the marketing cost and multiply by 100. $120,000 at 38% margin against $22,000 of cost gives ($45,600 − $22,000) ÷ $22,000 = 107%.

What is the difference between ROI and ROAS?

ROAS divides revenue by ad spend and breaks even at 1×. Marketing ROI works on gross profit, subtracts the cost, and breaks even at 0%. A 3× ROAS on a 30% margin is a marketing ROI of −10%, so the two can point in opposite directions on the same campaign.

ROAS vs ROI: which one should I report?

Both, to different people. ROAS is the number ad platforms bid on, so use it to steer campaigns; ROI is the only one of the two that subtracts cost from profit, so use it to decide whether the budget pays. On this page's example the same campaign is a 5.45× ROAS and a 107% ROI; at a 15% margin that same 5.45× would be an ROI of −18%.

What is a good marketing ROI?

Anything above 0% returned more gross profit than it cost. Many teams target 100% or more — two dollars of gross profit per dollar spent — but the honest threshold depends on your margin and what else that money could have done.

Should marketing ROI use incremental revenue?

For a budget decision, yes. Total attributed revenue includes customers who would have bought anyway, which overstates the return. Measuring incrementality needs a holdout group or a geo experiment; without one, label the figure as total rather than incremental.

All of them are listed on the free marketing calculators page.