How to Calculate Marketing ROI: A Practical Guide for 2026

April 13, 2026 · 10 min read

Marketing ROI is one of those metrics that sounds straightforward until you actually try to calculate it. The basic formula fits on a napkin. The reality of applying it across a modern multi-channel marketing program is where most teams get stuck.

This guide covers the standard formulas, the common mistakes that make them misleading, and the practical methods that actually work when you have more than one channel and more than a handful of customers. (If you just want to jump ahead to the sophisticated approach, see our complete guide to marketing mix modeling.)

The basic formula

At its simplest, marketing ROI is:

Marketing ROI = (Revenue from Marketing − Cost of Marketing) / Cost of Marketing

If you spent $10,000 on marketing and it generated $40,000 in revenue, your ROI is ($40,000 − $10,000) / $10,000 = 3.0, usually expressed as 300% or 3x. A related metric, ROAS (return on ad spend), uses the same logic but uses total revenue rather than net profit:

ROAS = Revenue from Marketing / Cost of Marketing

Same example: $40,000 / $10,000 = 4.0 or 4x. ROI and ROAS are often used interchangeably in casual conversation, but they're different. ROI subtracts cost from revenue first; ROAS doesn't. ROAS is more common in performance marketing dashboards; ROI is more common in finance conversations.

Neither formula is wrong. The problem is that applying them honestly to real marketing programs is much harder than the math suggests.

Why the basic formula breaks down

Here's where most marketers get into trouble. The formula has two inputs: revenue from marketing, and cost of marketing. The cost side is usually easy — you know what you spent. The revenue side is where everything falls apart.

Problem 1: Which revenue counts as "from marketing"?

If someone buys from your site, was that purchase "from marketing"? Probably — they found you somehow. But which specific marketing activity gets credit? The Meta ad they saw last month? The Google search they just did? The podcast sponsorship from eight weeks ago? The email you sent yesterday?

Most platforms will happily claim credit for the same conversion. If you add up all the conversions reported across Meta, Google, and your email tool, the total will usually exceed your actual revenue — often by 30-60%. That's called double-counting, and it's structural, not a bug.

Problem 2: What would have happened anyway?

Even when you correctly identify which channel a customer interacted with, you can't know whether they would have bought without that touchpoint. Someone who Googles your brand name and clicks your branded search ad was probably going to buy anyway — they knew who you were before they searched. Giving the ad full credit overstates its contribution. Giving it zero credit understates it. The truth is somewhere in between, and the basic formula has no way to express that nuance.

Problem 3: Delayed effects.

TV, podcasts, and brand campaigns create awareness that converts weeks or months later. If you spent $20,000 on a podcast campaign in January and your February sales are up, is that because of the podcast or something else? The basic ROI formula can't account for time-delayed effects because it treats spend and revenue as happening in the same period.

Problem 4: Cross-channel synergies.

Channels interact. A Meta ad creates demand; a Google search ad intercepts it at the purchase moment. Email reminds someone who already knew you existed. If you try to measure each channel in isolation, you miss the fact that they're working as a system. Cutting one channel often hurts the performance of others in ways that aren't obvious until you've already cut it.

What most marketers actually do (and why it's wrong)

Faced with these complications, most marketers default to platform-reported ROAS. Meta says Meta is at 4x, Google says Google is at 6x, email says email is at 15x. Then they make budget decisions by comparing these numbers to each other.

This is wrong in a few specific ways.

The numbers aren't comparable. Meta's 4x includes view-through conversions, 7-day click attribution, and modeled conversions from opted-out iOS users. Google's 6x includes data-driven attribution, 30-day click windows, and branded search intercepting existing demand. Email's 15x is usually based on giving email credit for conversions where the user was already a customer and would have repurchased anyway. You can't put these numbers next to each other and draw conclusions — they're measuring different things on different scales.

Each platform has a structural incentive to overcount. Meta Ads Manager is designed by Meta to make Meta look good. Google Ads does the same for Google. Both are useful for within-platform optimization but deeply unreliable for cross-platform budget decisions. For more on this, see our guides on how to measure Meta Ads ROI without trusting Meta and how to measure Google Ads ROI without trusting Google.

The channels that look worst in platform reporting are often the most undervalued. Top-of-funnel channels like prospecting ads, podcasts, and brand campaigns rarely get credit in last-click attribution, so they look terrible on paper. Meanwhile, branded search and retargeting look incredible. Shifting budget based on these numbers typically means overinvesting in channels that intercept demand and underinvesting in channels that create it.

The better approach: multiple measurement methods

Honest marketing ROI measurement uses several methods in combination, because no single approach answers every question.

Platform-reported ROAS for daily and weekly tactical decisions within a single channel. Use it to decide which Meta ad creative to scale and which Google keywords to pause. Don't use it for cross-channel comparisons.

Attribution models for understanding customer journey patterns. Multi-touch attribution (whether you're using Google's data-driven attribution or a third-party tool) can show you which channels typically appear in conversion paths. It's directionally useful but has all the platform reporting problems above, plus the limitation that it can only see channels with click tracking.

Marketing mix modeling (MMM) for strategic budget allocation and cross-channel comparison. MMM uses aggregate weekly data (sales and spend) to estimate how much each channel is actually contributing after accounting for seasonality, promotions, and overlap. Because it works with aggregate data, it includes offline channels, captures delayed effects, and isn't affected by privacy-driven tracking limitations. The output is a set of channel-level ROAS estimates that are actually comparable across channels.

Incrementality testing for validating high-stakes decisions. Turn off a channel in certain regions (geo holdout) or to certain users (conversion lift) and measure what happens to sales. This is the only method that establishes true causation — it's slow and expensive but it's the gold standard for high-confidence measurement.

For a full breakdown of when to use each method, see our guide on MMM vs. attribution vs. incrementality testing.

A practical ROI calculation workflow

If you want to actually calculate a defensible ROI number across all your marketing, here's the workflow that works.

Step 1: Aggregate your data. Pull weekly sales or revenue data from your commerce platform. Pull weekly spend data from each marketing channel (Meta, Google, TikTok, email, etc.). Combine into a single CSV with one row per week. For a full walkthrough, see our guide on how to prepare data for marketing mix modeling.

Step 2: Run an MMM. Upload the CSV to a tool that estimates channel contribution. CheapMMM does this in under a minute with no coding or setup. The output includes per-channel ROAS, feature importance, and a budget optimizer.

Step 3: Compare to platform reports. The MMM output will almost certainly differ from your Meta and Google dashboards. Those gaps are informative: they show you where platform attribution is inflating or deflating specific channels.

Step 4: Calculate your blended ROI. With MMM-estimated channel contributions, you can calculate a total ROI number that doesn't double-count:

Total ROI = (Sum of MMM-attributed revenue − Total marketing spend) / Total marketing spend

This is the number you can defend in a meeting with your CFO, because it reflects a consistent methodology across all channels and doesn't overlap with itself.

Step 5: Test your biggest assumptions. For the channels where the MMM output surprises you most, consider running a small incrementality test to validate. If MMM says your branded search ROI is half what Google reports, pause branded search for two weeks and see what happens. The answer to that single experiment will tell you more than any dashboard.

What to do if you don't have time for all this

The basic formula is still useful as a sanity check, even with its limitations. If your total marketing spend is $100,000 per month and your total revenue is $300,000, your blended ROAS is 3x. That's a real number — it doesn't tell you which channels are working, but it tells you whether your overall marketing program is profitable.

Use that blended number as your baseline. Then any time you're making a big budget decision, ask whether the change would improve or hurt the blended number. That's a more honest question than "is Meta's ROAS higher than Google's?" — because the blended ROAS is what actually hits your bottom line.

For any serious budget decision (reallocating tens of thousands of dollars across channels, evaluating a new channel, deciding whether to scale overall spend), spend the 10 minutes to run an MMM. It's the difference between making a guess based on biased numbers and making a decision based on a method designed to answer the question.

The honest answer to "what's my marketing ROI?"

For most brands with multi-channel marketing programs, the real answer is: "somewhere between the optimistic number your platforms report and the pessimistic number you'd get from strict last-click attribution — and the difference between those two is where most of your budget decisions are happening in the dark."

The goal of a good measurement practice isn't to produce a single perfect ROI number. It's to understand your marketing well enough that when you move budget from one channel to another, you know why you're doing it and what you expect to happen. MMM, combined with incrementality testing on high-stakes decisions, gets you there faster than any other approach.

Try CheapMMM free — no login required