How to Measure Digital Marketing ROI: Step by Step, With a Worked Example and Its Limits
ROI isn't a formula, it's a chain of decisions: which revenue counts, which costs are included, over what time window, and how much of the result is truly incremental. Seven steps, one hypothetical numeric example, and the limits no tool removes.
Table of contents
- ROI, ROAS and “likes”: what each one measures
- How to calculate it, step by step
- Step 1. Define the question and the time window
- Step 2. Identify attributable revenue
- Step 3. Convert it to margin
- Step 4. Add up the full cost
- Step 5. Calculate ROI
- Step 6. Add CAC, payback and LTV
- Step 7. Estimate incrementality
- A hypothetical numeric example
- Incrementality: the question attribution doesn’t answer
- The limits of attribution
- Time windows: don’t compare channels at different maturity
- What to report, and to whom
- Common mistakes
- Next step
Digital marketing ROI comes from a simple formula: the profit you can attribute to the activity, minus its total cost, divided by that cost. The formula is not the hard part. The hard part is deciding what counts as profit, what counts as cost, over what period, and how much of the result would have happened anyway without the spend.
That is why two people can calculate the ROI of the same campaign and reach opposite conclusions, both with correct arithmetic. This article walks through the calculation in seven steps, applies it to a hypothetical numeric example, and explains when to complement it with CAC, payback period and customer lifetime value (LTV). It also flags the limits no tool removes, so you read the numbers as what they are: useful estimates, not certainties.
ROI, ROAS and “likes”: what each one measures
Before the math, separate three things that often get blended in reports:
- Activity and attention indicators (reach, likes, followers, sessions). They describe what happened in the channel, not what happened in the business.
- ROAS (return on ad spend). Attributed revenue divided by ad spend. It is useful for comparing campaigns within a platform, but it leaves out margin and other costs. The case where a high-ROAS campaign loses money is laid out in ROAS vs. ROI: Why the Difference Matters.
- ROI (return on investment). Profitability of the whole effort: profit minus total cost, over total cost.
This guide is about the third. Activity indicators can serve as interim signals as long as they connect to commercial outcomes; which metrics belong in front of leadership is covered in The Marketing Metrics That Actually Matter to the CEO.
How to calculate it, step by step
Step 1. Define the question and the time window
Start by writing down what decision the number will inform: keep investing in this channel? Compare two channels? Justify the annual budget? Then fix the window: the period in which costs accrue and the period in which revenue is counted. An SEO program and a paid campaign don’t mature at the same pace. Measuring both on the same calendar favors whichever pays back faster, not whichever is better.
Step 2. Identify attributable revenue
Count the revenue from customers or sales your system links to the activity. In B2B this requires carrying lead source from the form through the CRM to the closed opportunity; without that chain you only have clicks and form fills. Always record which attribution model and window you are using, because they change the result (we return to this in the section on attribution limits). If your website still does not clearly record what counts as a lead or customer, start with why a website gets traffic but no leads.
Step 3. Convert it to margin
Revenue is not profit. Subtract the direct cost of producing or delivering what was sold to get the gross margin on those sales. In a services business, include the cost of the delivery team; in retail, product cost, shipping and returns. Working from gross revenue inflates ROI. Working from margin brings it closer to reality.
Step 4. Add up the full cost
This is where the most common error lives: counting only media spend. Total cost includes:
- Media spend (paid advertising).
- Fees for agencies, consultants or freelancers.
- Tools and licenses (analytics, CRM, SEO, automation), prorated as appropriate.
- Content, creative, video and photography production.
- Internal time for the team involved, valued at a reasonable hourly cost. This is the cost most often left out, and in mid-sized companies it is usually significant.
Step 5. Calculate ROI
ROI = (attributable margin − total cost) ÷ total cost. A result of 0% means you recovered the cost without earning anything. A negative result means the activity lost money in that window, which doesn’t mean it should be canceled: it may be an investment whose revenue arrives later. Hence the next steps.
Step 6. Add CAC, payback and LTV
A period’s ROI is a snapshot. To judge whether an acquisition model is sustainable, complement it with:
- CAC (customer acquisition cost): total cost ÷ number of new customers.
- Payback period: months it takes a customer’s margin to cover their CAC. Divide CAC by average monthly margin per customer.
- LTV (lifetime value): average monthly margin × average length of the relationship. In practice it is an estimate that rests on retention assumptions.
- LTV/CAC ratio: how many times a customer’s value exceeds the cost of winning them.
As a reference point, David Skok, in his SaaS metrics guide, notes that the best SaaS businesses have an LTV-to-CAC ratio above 3, that many recover CAC in 5 to 7 months, and that profitability becomes “anemic” when time to recover CAC exceeds 12 months (Skok, For Entrepreneurs). These are rules for a recurring-revenue model with low marginal costs; don’t apply them unadapted to a consultancy, an agency, an online store or a manufacturer. Use them as a question (“how long until I recover what I put in?”), not a verdict.
Step 7. Estimate incrementality
Attributed revenue is not necessarily revenue caused by marketing. Some of it may have come anyway: customers who already knew you, referrals, purchases that would have happened regardless. The last step is adjusting the result for the portion that is truly incremental. It is the hardest step and the one that changes conclusions most, so it gets its own section below.
A hypothetical numeric example
The figures below are made up for teaching purposes. They are not data from any client or from Maccam Network, and they are not market benchmarks.
Assumptions: a B2B services company invests six months in a digital marketing program (paid ads, content and SEO). Each new customer pays $500 a month and the service’s gross margin is 45%. The CRM attributes 20 new customers to the program. For the calculation, we count each customer’s first 12 months of revenue.
| Item | Calculation | Result |
|---|---|---|
| Total program cost | Media $18,000 + agency $12,000 + tools $3,000 + production $6,000 + internal time (10 hrs/week × 26 weeks × $40/hr = $10,400) | $49,400 |
| Attributed revenue (12 months) | 20 customers × $500 × 12 | $120,000 |
| ROAS (media only) | $120,000 ÷ $18,000 | 6.7x |
| Attributed margin | $120,000 × 45% | $54,000 |
| ROI (attributed, 12 months) | ($54,000 − $49,400) ÷ $49,400 | +9.3% |
| CAC (attributed) | $49,400 ÷ 20 | $2,470 |
| Monthly margin per customer | $500 × 45% | $225 |
| Payback (attributed) | $2,470 ÷ $225 | about 11 months |
| LTV (assumption: 30-month tenure) | $225 × 30 | $6,750 |
| LTV/CAC (attributed) | $6,750 ÷ $2,470 | about 2.7 |
| Now suppose an incrementality analysis estimates that only 70% of those customers (14 of 20) would not have arrived without the program. | ||
| Incremental margin (12 months) | 14 × $500 × 12 × 45% | $37,800 |
| ROI (incremental, 12 months) | ($37,800 − $49,400) ÷ $49,400 | −23.5% |
| Incremental CAC | $49,400 ÷ 14 | about $3,529 |
| Incremental payback | $3,529 ÷ $225 | about 15.7 months |
| Incremental LTV/CAC | $6,750 ÷ $3,529 | about 1.9 |
| Incremental ROI over a 30-month window | (14 × $6,750 − $49,400) ÷ $49,400 | +91.3% |
Made-up figures for illustration. The 70% incrementality and the 30-month tenure are assumptions, not measurements; any real result depends on your own data. Future cash flows are not discounted and taxes are ignored.
What the example shows, without any number being a benchmark:
- The same program yields three readings. With simple attribution and a 12-month window, ROI is slightly positive (+9.3%). Adjusted for incrementality, it is negative (−23.5%). With a 30-month window and the same incrementality assumption, it is clearly positive again (+91.3%).
- A 6.7x ROAS warns you of nothing. It measures only against media spend and gross revenue.
- Internal cost and tools matter. Here they account for $13,400 of $49,400, more than a quarter of the total, and they appear in no ad platform report.
- The conclusion rests on assumptions you must be able to defend. If real tenure were 15 months instead of 30 (same 14 incremental customers: 14 × $225 × 15 = $47,250 of margin), the long-window result would shrink to a loss of about −4.4%. That is why assumptions are documented next to the number.
Incrementality: the question attribution doesn’t answer
Attribution divides credit for conversions among touchpoints. Incrementality asks something different: how many of those conversions would not have happened without the action? A loyal customer who clicks a brand ad before buying shows up in reports as an ad sale, even though they probably would have bought anyway.
Common ways to estimate it:
- Controlled experiments. Split an audience in two: one group sees the ads and the other doesn’t, then compare conversions. Google documents this as Conversion Lift: it measures conversions “directly driven by people seeing your ads,” compares a treatment group with a control group, can be user-based or geography-based, isn’t available for all Google Ads accounts, and requires contacting a Google representative (Google Ads Help).
- Geographic tests. Turn spend on or off in comparable regions and observe the difference. Feasible at moderate volumes, though it demands design discipline.
- Marketing mix models (MMM). Estimate each channel’s contribution from aggregated historical series. Google offers Meridian, an open-source MMM that also lets you calibrate the model with experiment results (Google Meridian). They typically need data volume, history and statistical skill; for many mid-sized companies they are a maturity goal, not a starting point.
If you can’t run any of these yet, there are prudent approximations: ask new customers how they found you and compare periods with and without the activity, always acknowledging these are not demonstrated causation.
The limits of attribution
Assume any attribution figure is an estimate. The main limits:
- Models decide the split. As of October 9, 2026, Google Analytics 4 offers three: data-driven attribution, paid and organic last click, and Google paid channels last click. The first-click, linear, time-decay and position-based models stopped being available in November 2023 (Google Analytics Help). Choosing one or another changes which channel looks profitable, as we explain in Marketing Attribution: Which Model to Choose.
- Lookback windows cut the story short. In GA4 the default lookback window is 90 days for most key events (adjustable to 60 or 30) and 30 days for acquisition events (adjustable to 7) (Google Analytics Help). A B2B cycle longer than the window leaves part of the journey out.
- Some journeys can’t be seen. Private conversations, word of mouth, branded searches prompted by something offline, and device switching are hard to track with digital media.
- Each platform applies its own attribution rules. Google Ads documents that its attribution model decides how much credit each ad interaction receives and that this choice affects how conversions are counted (Google Ads Help). Because each platform measures only its own part, the same sale can show up in more than one report. That is our inference from the method, not a published figure: always reconcile the reported total against real sales.
- Data has gaps. Cookie consent, blockers, tagging errors and incomplete CRM data all reduce coverage.
The practical answer isn’t to stop measuring but to triangulate: a documented attribution model, a CRM that preserves lead source, self-reported source questions and, where possible, incrementality experiments. How to assemble that system is covered in How to Build a Marketing Measurement System That Answers Business Questions.
Time windows: don’t compare channels at different maturity
SEO, content and brand building accumulate value over months; direct-response advertising tends to show it sooner. Measure both over a single quarter and the second will always seem to win. Paid platforms do not play the same role either; each one’s role is explained in Google Ads vs. Meta Ads: where to invest. Two rules help:
- Set the window before you start and stick to it, so it isn’t adjusted afterward to fit a desired conclusion.
- Report by cohort. Group customers by acquisition month and watch how their cumulative margin evolves, rather than averaging everything into one number.
This gap between fast and cumulative effects is part of the broader question of how to split effort between building demand and capturing it, which we take up in Strategic Marketing vs. Digital Marketing.
What to report, and to whom
For leadership, an ROI report shouldn’t be a twenty-indicator dashboard. A minimal version:
- ROI (attributed and, if available, incremental) with the window and attribution model used.
- CAC and payback, with their trend.
- Margin per new customer and customer quality (retention, deal size).
- Key assumptions and confidence level (what is measured and what is estimated).
- The decision proposed: maintain, adjust, scale or pause.
Finance teams appreciate marketing figures that reconcile with the books: revenue, margins and costs that match the accounting.
Common mistakes
- Calculating ROI on revenue instead of margin.
- Leaving internal time and tools out of cost.
- Confusing ROAS with ROI and setting budgets by the first.
- Treating attribution as causation. A click before a purchase doesn’t prove the ad caused it.
- Changing the window or the model until the result looks good.
- Judging a slow-maturing channel by the logic of a fast one.
- Presenting a number without its assumptions. An ROI without window, model and confidence level can’t be debated or reproduced.
Next step
If you want to review how the return on your marketing is measured today, what goes into the calculation and what doesn’t, and which decisions you could make with firmer data, we can help through our Marketing Analytics service. You can also contact us. At Maccam Network, a strategic marketing agency, we start from the business question before choosing tools.
Sources (verified as of October 9, 2026)
- Google. Get started with attribution. Google Analytics Help. support.google.com/…/10596866
- Google. Select attribution settings. Google Analytics Help. support.google.com/…/10597962
- Google. About Conversion Lift. Google Ads Help. support.google.com/…/12003020
- Google. About attribution models. Google Ads Help. support.google.com/…/6259715
- Google. Meridian: open-source marketing mix model. developers.google.com/meridian
- Skok, D. SaaS Metrics 2.0 – A Guide to Measuring and Improving what Matters. For Entrepreneurs. forentrepreneurs.com/saas-metrics-2
Preguntas frecuentes
ROI = (attributable profit − total cost) ÷ total cost. Profit should be expressed as margin (revenue minus the cost of producing or delivering), not gross revenue, and cost must include media, agency fees, tools, production and the internal time spent. Without those three safeguards the formula is right and the answer misleading.
ROAS divides attributed revenue by ad spend; it does not subtract margin or other costs. ROI measures profitability after subtracting all relevant costs. A campaign can have a high ROAS and a negative ROI. The difference is covered in detail in our ROAS vs. ROI article.
It is the share of results that would not have happened without the marketing action. It matters because attribution reports also credit purchases that would have happened anyway, such as customers who already knew you. It is estimated with experiments (test and control groups, geographic tests) or marketing mix models, and it is the most reliable way to approach true ROI.
It depends on the channel and the sales cycle. Paid advertising can give signals in weeks; SEO and content typically build value over months; in B2B with long cycles, a customer may take more than a quarter to close. That is why you should set the measurement window before you start and avoid comparing channels with different maturation timelines over the same period.
Assume no tool attributes perfectly. Combine whatever attribution model you have with a reliable record of lead source in your CRM, a self-reported source question ('How did you hear about us?') and, when volume allows, an incrementality experiment. Document which model and window you use, and read results as an estimate with a margin of error, not an exact measurement.
There is no universal value. The most-cited rules of thumb come from SaaS: David Skok observes that the best SaaS businesses have an LTV-to-CAC ratio above 3 and recover CAC in months, and warns that profitability suffers when payback stretches beyond 12 months. Those are benchmarks for one business model. For your company, what is useful is comparing against your own margin, sales cycle and cash position.
New ideas, analysis and research — directly to your inbox.
Subscribe to receive new Insights publications and other selected content from Maccam Network. No spam. Unsubscribe at any time.
Shall we talk about your business?
Let's talk about what your business needs.
A 30-minute conversation is enough to understand the context, identify the problem and see if we are the right team to help you.