Home / Blog / Analytics
Analytics

How to calculate marketing ROI when revenue is not profit

A campaign can show 300 percent revenue ROI and still lose money once margin, fees and baseline sales are counted.

Sima Damar Beygu
Sima Damar Beygu
Founder, ConversionNest · · 8 min read
A tall white card full of grey bars linked to a small card with one short blue bar, showing how revenue shrinks once it is converted to profit.

Marketing ROI is the profit your marketing created, minus what the marketing cost, divided by what it cost. For a small business the honest version uses gross profit or contribution, not revenue, and counts every cost: ad spend, agency or freelancer fees, creative, software and your own team's time. Most ROI numbers that look healthy fail one of those two tests.

The second limitation is harder. Even a profit-based ROI only tells you what happened alongside your marketing, not what your marketing caused. Some of those customers would have bought anyway. The commercial question for a founder is simple to state: if you spent one more pound, euro or dollar on this channel next month, would you get more than one back in profit?

Key takeaways
  • Calculate marketing ROI on gross profit or contribution margin, because revenue-based ROI can look positive while the business loses money on every campaign.
  • Include every marketing cost, including management fees, creative production and staff time, not only the ad spend shown in the platform.
  • Treat platform-reported conversions as a starting point, then discount sales that would probably have happened without the campaign.
  • For lead generation, calculate ROI from closed revenue and gross profit per customer, and wait long enough for your normal sales cycle to finish.
  • A single company-wide ROI figure hides the decision you need; calculate it per channel or campaign where the next budget choice is actually made.

The marketing ROI formula that reflects profit

The formula most guides give is (revenue from marketing minus marketing cost) divided by marketing cost. HubSpot's marketing ROI guide expresses the same idea through leads, lead-to-customer rate and average sale price, and rightly tells you to include ad spend, employee time and production costs in "cost".

ConversionNest's view: for any business that sells physical products or delivers paid work, replace revenue with the profit that revenue produces. The version we recommend is:

Marketing ROI = (contribution from marketing-driven sales minus total marketing cost) ÷ total marketing cost

Contribution here means revenue after discounts and refunds, minus the variable costs of fulfilling the order: cost of goods, shipping you pay for, payment fees and any per-order fulfilment cost. If you cannot calculate contribution yet, gross profit (revenue minus cost of goods) is a reasonable first step. Revenue alone is the weakest choice, because it treats a 20 percent margin product the same as a 70 percent margin product.

Which costs belong in the calculation?

Platform dashboards report only what the platform charged you. Google's own advertiser guide to working with third parties reminds advertisers that agency fees are charged on top of ad spend and should be factored in to calculate true cost and ROI. A complete cost line usually includes:

  • Media spend: what Google, Meta, Microsoft or any other platform actually charged.
  • Management fees: agency, consultant or freelancer fees, including monthly minimums and setup fees.
  • Creative and content: design, video, copywriting and photography produced for the campaigns.
  • Tools: software that exists mainly to run or report on marketing, such as feed tools or call tracking.
  • Internal time: the hours you or your staff spend on marketing, valued at a realistic hourly cost.
  • Offer costs: discounts and free shipping funded to win the sale, if you have not already removed them from revenue.

Leaving out internal time is the most common omission in founder-led businesses. Ten hours a week of your time has a cost even when no invoice arrives.

A worked example: when good ROAS hides a loss

Consider a hypothetical online homeware store. These figures are hypothetical, not a client result. In one month the store records:

  • Total marketing cost: £7,000, made up of £5,000 ad spend, £1,500 management fees and £500 creative.
  • Revenue attributed by the ad platforms: £28,000, so platform ROAS is 5.6 and revenue ROI is (28,000 minus 7,000) ÷ 7,000 = 300 percent.
  • Refunds: 10 percent of revenue, leaving £25,200 net revenue.
  • Contribution margin after goods, shipping and payment fees: 30 percent, so contribution is £7,560.

The profit-based ROI is (7,560 minus 7,000) ÷ 7,000 = 8 percent. The campaign is barely paying for itself, although the platform view suggested a strong result.

Now add one more realistic adjustment. Suppose the owner believes, from a holdout test or from how much revenue comes from branded searches and returning customers, that about half of those sales would have happened without the ads. Incremental contribution falls to £3,780, and ROI becomes (3,780 minus 7,000) ÷ 7,000 = minus 46 percent. The same month moved from 300 percent to a loss through two honest corrections.

The store cannot decide whether to scale, cut or restructure the spend until it knows which of those three numbers is closest to the truth. That is the real job of an ROI calculation.

Three white cards with single bars of decreasing height, showing the same month's result as revenue, profit and incremental profit.
The same month can look strong, flat or loss-making depending on what you count.
Think we should work together?
Tell us where growth is stuck. If we are the right fit and a slot is open, we start.
Request a consultation

How to calculate ROI for lead generation and service businesses

Service businesses rarely see revenue on the same day as the click. Calculate ROI from what sales actually closes, and use gross profit per customer rather than the invoice value. A simple chain looks like this:

  • Leads: qualified enquiries from the channel in a fixed period, not every form submission.
  • Close rate: the share of those leads that became paying customers.
  • Gross profit per customer: the average job or contract value minus the direct cost of delivering it.
  • Marketing cost: every cost listed above for the same period.

Consider a hypothetical accounting firm that spends £3,000 in a month, receives 40 qualified leads, closes 5 of them and earns £1,200 gross profit on each first-year engagement. First-year gross profit is £6,000 and ROI is (6,000 minus 3,000) ÷ 3,000 = 100 percent. These figures are hypothetical.

Two cautions apply. First, wait for your normal sales cycle to finish before judging a month; a firm with a 60-day cycle cannot judge September's leads in early October. Second, if leads arrive cheaply but close poorly, the problem may sit in qualification or follow-up rather than in the ads, which our guide to paid ads that generate leads but not qualified opportunities covers in detail.

Should you include customer lifetime value?

Use lifetime value only when you have evidence for it. If customers in your records reliably make a second purchase, calculating ROI on 12-month contribution per customer is fairer to acquisition channels than first-order contribution. If you are assuming repeat purchases you have not yet seen, the ROI figure becomes a forecast, and you should label it as one.

A practical approach is to show both: first-order ROI tells you about cash flow risk, and 12-month ROI tells you whether acquisition pays back over time. Our post on returning customer revenue and retention explains why an aggregate repeat-revenue number can overstate how well recent customers are returning.

Why attributed results are not the same as incremental results

Ad platforms and analytics tools assign conversions to the channels a customer touched. That assignment is useful for operating campaigns, but it does not prove the campaign caused the sale. Boston Consulting Group's analysis of marketing measurement practice argues that no single measurement method is enough and recommends combining modelling with controlled experiments.

For a small business, the practical options are modest but real:

  • Platform lift studies: Google and Meta both offer lift testing for eligible accounts; our guide to Google Ads Conversion Lift explains how to read the results.
  • Geographic or time holdouts: pause a channel in one comparable region or period and compare sales against the areas that kept running.
  • Branded and returning-customer checks: measure how much attributed revenue comes from people searching your name or customers who already bought.

None of these gives a perfect answer. Each one gives you a defensible discount to apply to platform-reported results, which is better than assuming every attributed sale was caused by the ad.

What platform tools can and cannot help with

Some ad platforms can report closer to profit if you feed them the data. Google's documentation on conversions with cart data describes how Google Ads can report gross profit by combining the products in each order with the cost of goods sold from your Merchant Center feed. That requires correct item IDs in the conversion tag and a cost of goods value for each product.

Profit reporting inside the platform still uses the platform's attribution, so it inherits the incrementality problem described above. It also cannot see your management fees, creative costs or internal time. Treat it as a better operating signal, and keep the full ROI calculation in your own spreadsheet or finance system.

Common mistakes when calculating marketing ROI

Using one blended ROI figure for the whole business

A blended figure hides the channel that is losing money behind the one that is carrying it. Calculate ROI at the level where you make budget decisions, usually per channel or per campaign group.

Treating ROAS as ROI

ROAS divides revenue by ad spend. It ignores margin and every cost outside the platform, so a ROAS that looks healthy can still produce negative ROI, as the worked example shows.

Judging too early

A month of data can mislead, especially for considered purchases, seasonal products or long sales cycles. Agree the evaluation window before the campaign starts and keep it consistent between channels.

Counting every lead as a result

Spam, existing customers and unqualified enquiries inflate lead counts. Connect leads to closed revenue in your CRM before calculating ROI on lead generation.

What to do this week

Start with one channel and one recent month. List every cost for that channel, pull the attributed sales, convert them to contribution using your real margins and calculate the profit-based ROI. Then estimate, conservatively, what share of those sales would have happened anyway, and record the assumption next to the number.

If the result changes your view of a channel, change one budget decision and measure what follows. Repeat the calculation monthly with the same rules, so each channel is judged on the same basis.

Frequently asked questions

What is a good marketing ROI for a small business?

There is no universal benchmark, because margins, sales cycles and costs differ by business. A profit-based ROI above zero means marketing paid for itself in the period measured; whether that is good enough depends on your cash position and growth goals.

What is the difference between ROI and ROAS?

ROAS divides revenue by ad spend. Marketing ROI compares the profit marketing produced with the full cost of the marketing, including fees, creative and staff time.

How long should I wait before calculating ROI on a campaign?

Wait at least as long as your typical sales cycle, plus time for refunds or cancellations to show. For businesses with repeat purchases, review a 12-month view alongside the first-order view.

Should I include my own time in marketing ROI?

Yes. Value the hours you spend on marketing at a realistic hourly cost, because that time could otherwise go to selling or delivery work.

Can I calculate ROI without perfect attribution?

Yes. Start with platform-reported results, then apply a clearly stated discount for sales that would have happened anyway, and refine that estimate with holdout or lift tests over time.

Need a hand with this?Data AnalysisTracking you can trust and reporting that leads somewhere. Clean events, honest attribution, dashboards that end in a decision.
Free audit, powered by Nestor
See what your page is costing you.
Nestor is the AI review engine we built, and the one we use on client work. Enter your URL and email, and in a few minutes read the report: scores, the findings that matter, and what to fix first.
Free. No account, no card, no sales call.
Sima Damar Beygu

Sima Damar Beygu

Founder of ConversionNest. 10+ years in growth marketing, managing 300K euro monthly media budgets and scaling acquisition across 15+ markets. MSc in Digital Marketing from University College Dublin. Google and Meta certified.

Sima on LinkedIn
Keep reading
How to Calculate Marketing ROI for a Small Business