calendar Last updated: 4 August 2026
Calculating marketing ROI with charts and a calculator on a desk
Attribution modelling & analytics

How to Measure Marketing ROI: Formula, Examples, and a Channel-by-Channel Guide

Try It Now

Connect your data in 1 min. Free forever plan

Got insights from this post? Give it a boost by sharing with others!

Marketing ROI is calculated as (Sales Growth − Marketing Cost) ÷ Marketing Cost × 100, using a cost figure that includes ad spend, tools, and labor, not just media budget. A $10,000 campaign that drives $15,000 in incremental sales has a 50% ROI. The hard part isn’t the math, it’s isolating the sales growth a specific campaign actually caused from everything else happening in the business that month.

This guide walks through the formula in both its basic and fully-loaded forms, how to calculate ROI for individual channels like paid search, SEO, and email, and the KPIs worth tracking at each stage of the funnel. It closes with the two problems that break most ROI calculations in practice: data silos and multi-touch conversion crediting.

The marketing ROI formula

Basic formula:
ROI = (Sales Growth − Marketing Cost) / Marketing Cost × 100

This works for a quick estimate, but it undercounts cost. A fully-loaded formula gives a more honest number:

ROI = (Revenue Attributable to Marketing − Total Marketing Cost) / Total Marketing Cost × 100

Where Total Marketing Cost includes media spend, tool/software costs, agency or freelancer fees, and the loaded cost of internal team time on that campaign.

Worked example: A campaign spends $8,000 on ads, $500 on a landing-page tool, and $1,500 in internal team time, for $10,000 in total cost. It drives $18,000 in attributable revenue.

ROI = ($18,000 − $10,000) / $10,000 × 100 = 80%

Leaving out the $2,000 in tooling and labor would have overstated ROI at 125%, a common way marketing ROI gets inflated by accident.

The KPIs that feed into ROI, by funnel stage

ROI is a single output number. Getting it right, and knowing what to fix when it’s low, means tracking the metrics that build up to it:

Funnel stage Metrics to track Why it matters
Top of funnel Impressions, traffic, reach Shows whether spend is reaching anyone at all before judging conversion
Mid funnel Leads, cost per lead (CPL), conversion rate Where most budget waste actually gets caught
Bottom of funnel Customer acquisition cost (CAC), cost per acquisition (CPA), revenue Ties spend directly to the number the ROI formula needs
Post-purchase Customer lifetime value (LTV) A campaign with weak first-purchase ROI can still be a strong investment if it brings in high-LTV customers

A campaign with a low CAC but also low LTV can look identical, on ROI alone, to one with high CAC and high LTV. Pull both before deciding a channel isn’t working.

How to measure ROI by channel

The formula stays the same across channels; what counts as “attributable revenue” and “cost” changes.

Paid search and paid social: Cost is the cleanest to isolate here (ad spend plus management fees). Use platform-reported conversions as a directional number, but reconcile against actual CRM or storefront revenue rather than trusting each platform’s own self-reported conversion credit, since Google and Meta each apply different measurement windows and will independently claim credit for the same sale.

SEO and content: The slowest to show ROI (results play out over months, not days) and the hardest to tie to a specific sale, since a single piece of content might influence a purchase weeks after the visit. Track it over a 6 to 12 month window, not a campaign-length one, and weight organic-assisted conversions rather than only last-click organic sales.

Email: Among the easiest channels to calculate ROI for, since cost is low and fixed (platform fee, plus content production time) and the path from send to purchase is tracked directly in the same system.

Cross-channel campaigns: Most real budget decisions aren’t single-channel. This is where ROI measurement usually breaks down: a customer who saw a paid social ad, later converted from an organic search visit, gets fully credited to “SEO” under last-click tracking, and paid social looks like it did nothing.

Where marketing ROI measurement breaks down in practice

Two problems account for most bad ROI numbers, more often than the formula itself:

  • Data silos. Ad spend lives in each platform’s own dashboard, revenue lives in a CRM or Shopify, and marketing teams end up hand-stitching a spreadsheet every time someone asks for an ROI number. Every stitch is a chance to double-count or miss a channel.
  • Conversion-crediting complexity. Different ways of crediting a touchpoint for a sale (last-click, first-click, multi-touch) can produce meaningfully different ROI figures from the exact same underlying data. Report which method was used alongside any ROI number, not just the number itself, or two people looking at “ROI” for the same campaign will be looking at different calculations.

Getting one ROI number instead of five spreadsheets

Windsor.ai connects ad platforms, CRMs, e-commerce platforms, and analytics tools into one place, so revenue and cost data for an ROI calculation don’t have to be manually reconciled across 350+ separate sources. Once connected, that data flows into the BI tool, spreadsheet, or AI assistant your team already reports from, with one consistent conversion-crediting approach applied across every channel, so the ROI figure means the same thing wherever it’s calculated.

Conclusion

The marketing ROI formula itself takes one line. What takes real work is getting clean, consistent revenue and cost data into that formula, by channel, without a spreadsheet stitched together by hand every reporting cycle.

🚀 See your real marketing ROI across every channel in one place. Free forever plan, no credit card: start with Windsor.ai.

Tired of juggling fragmented data? Get started with Windsor.ai today to create a single source of truth

Let us help you automate data integration and AI-driven insights, so you can focus on what matters—growth strategy.
g logo
fb logo
big query data
youtube logo
power logo
looker logo