TapCub is live — analytics, insights and live chat, free on one platform
Growth & Marketing

Marketing ROI: How to Calculate It (and Why the Simple Formula Misleads)

Marketing ROI compares what a campaign earned with what it cost. The formula in three versions, a worked example where the same campaign shows 320%, 152% or 76% depending on the method, and how ROI differs from ROAS.

Chloe Morgan Published Nov 4, 2026 4 min read Growth & Marketing
Sample data. The same campaign, three answers; the last one is the basis for budget.Sample data

Try it on your own data

Every report in this article is in the free plan. One snippet for web and apps, up to 10 sites.

Start free

Marketing ROI looks like simple arithmetic, but the same campaign can show 320% or 76% depending on what you count. This guide gives the formula in three versions, works through one campaign with each, and explains how ROI differs from ROAS.

What you will learn

  • ROI = (return − cost) ÷ cost, but "return" should be gross profit, not revenue
  • Subtract conversions that would have happened anyway for the incremental ROI budget decisions need
  • ROAS is revenue per ad dollar; it ignores margin and can hide a losing campaign

What is marketing ROI?

Marketing ROI (return on investment) measures how much a campaign or channel earned compared with what it cost. An ROI of 150% means every dollar spent came back with $1.50 on top.

It is the number finance asks for, and the one most often calculated in a way that flatters the campaign.

The formula, in three versions

Marketing ROI = (return − marketing cost) ÷ marketing cost

What you count as "return" changes everything. The table below compares the three common versions.

VersionReturn countedFormulaUse it for
Revenue ROIAll attributed revenue(revenue − cost) ÷ costQuick comparisons only
Gross-profit ROIRevenue × gross margin(gross profit − cost) ÷ costMost budget decisions
Incremental ROIProfit from sales that would not have happened otherwise(incremental profit − cost) ÷ costScaling or cutting a channel

Say which version you report. The same campaign can differ by a factor of four.

A worked example

A spring campaign costs $10,000 in ads, creative and tools. Orders attributed to it bring $42,000 in revenue. The products have a 60% gross margin (sample numbers).

  1. Revenue ROI: (42,000 − 10,000) ÷ 10,000 = 320%. Easy to compute, but it pretends the products cost nothing to make and ship.
  2. Gross-profit ROI: gross profit is 42,000 × 0.6 = 25,200, so (25,200 − 10,000) ÷ 10,000 = 152%.
  3. Incremental ROI: a holdout group that did not see the ads still bought at 70% of the exposed group's rate, so 30% of the revenue would have come anyway. Incremental revenue is 29,400; gross profit 17,640; ROI = (17,640 − 10,000) ÷ 10,000 = 76.4%.

Still profitable, but a quarter of what the first number claimed. Budget decisions should use the third version where you can measure it, and the second where you cannot. See incrementality.

app.tapcub.com/analytics/business/roi

Attributed revenue

$42,000

ROAS 4.2

Gross margin

60%

gross profit $25,200

Baseline sales

30%

from holdout

Spring campaign · $10,000 spend · three ROI versions

Sample
Revenue ROI320%
Gross-profit ROI152%
Incremental gross-profit ROI76.4%
Sample data
Sample data. The same campaign, three answers; the last one is the basis for budget.

ROI vs ROAS

ROAS (return on ad spend) is revenue ÷ ad spend: $42,000 ÷ $10,000 = 4.2 in the example. It is quick and used inside ad platforms, but it ignores margin and other costs. A ROAS of 2 can lose money on a product with a 40% margin. ROI tells you whether you made money; ROAS tells you how much revenue each ad dollar was credited with. See ROI and ROAS.

What counts as cost

  • Media spend: ads, sponsorships, paid placements.
  • Production: creative, video, landing pages, agency fees.
  • Tools used only for the campaign.
  • People: a share of salaries if you are comparing channels that need very different effort, such as SEO content vs paid search.

Leaving out everything but media spend makes labour-heavy channels look free.

What is a good marketing ROI?

There is no universal benchmark; it depends on margin, payback period and whether customers come back. Two more useful checks:

  • Is gross-profit ROI positive within your target payback period? See CAC payback period.
  • For repeat-purchase businesses, does ROI improve when you include second and third orders from the same customers?

Common mistakes

  • Using revenue instead of profit.
  • Counting conversions that would have happened anyway, especially on branded search and retargeting.
  • Mixing attribution models between campaigns. Compare on the same rule and window.
  • Short windows for long cycles. B2B deals may close months after the campaign.

Getting the numbers from TapCub

Open All-platform analytics › Business › Channel ROI. On the Costs tab, add spend one row at a time or import a CSV with day, channel, source, campaign, cost, currency, clicks and impressions. The ROI tab then shows spend, purchases, revenue, CPC (spend ÷ sessions), CPA (spend ÷ purchases) and ROAS per channel, with revenue taken from your order data. Gross margin and holdout results live outside TapCub, so apply versions 2 and 3 in a spreadsheet. To compare campaigns on a sign-up goal instead, see marketing dashboard.

Was this article helpful?

We use your answers to fix and expand this page.

Chloe Morgan

Growth Strategist

Explores acquisition channels, activation, and conversion experiments, turning data insights into actionable growth hypotheses and evaluation methods.

Spend, revenue and ROAS per channel

Upload ad spend by day and campaign, and see CPC, CPA and ROAS next to purchases and revenue from your own order data.

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics