Oleksandr Moccogni

Marketing ROI: The Formula Is the Easy Part

Published Updated 13 min read
In short

Marketing ROI is a measurement problem before it is a formula problem. First-touch attribution you can build yourself, blended vs paid-only numbers, the day a channel vanished overnight, and where AI actually fits.

Marketing ROI: The Formula Is the Easy Part

Every marketing ROI guide opens with the same formula. Subtract what you spent from what you gained, divide by what you spent, multiply by one hundred. The arithmetic takes thirty seconds. Then the guide shows an example with clean numbers, and the page ends exactly where the real work begins.

I measure marketing ROI for a living. I work in marketing at SSI Schäfer, a Swiss enterprise in intralogistics, and I handle paid and content for consulting clients. After two and a half years of running AI through marketing work, I can tell you the one thing the formula pages never say. The hard part is not the division. The hard part is knowing what goes into it.

This article is the measurement side: attribution, windows, blended against paid-only, the day a client’s dominant channel went to zero overnight, and where AI genuinely moves the number. I will not give you fake totals: the numbers here are the ones I can defend.

Key Takeaways

  • The formula is not the problem. Revenue minus cost, divided by cost. The measurement underneath it is the entire job.
  • Without attribution, marketing ROI is an opinion. First-touch is boring, buildable yourself, and changes every decision downstream.
  • Blended and paid-only ROI answer different questions. Both are legitimate. Switching between them silently is how numbers get dressed up.
  • A single channel can vanish overnight for reasons that have nothing to do with your work. ROI built on one channel is fragile ROI.
  • AI lowers the cost of production. It does not measure anything for you. An unmeasured saving is a narrated saving.
  • Guardrails beat heroics. My paid rule: no spend without an explicit go, a 200 EUR monthly guard per client, and a triple check before anything moves.

The Formula Takes Thirty Seconds. Everything After Is the Job

Look up marketing ROI and the first pages of results are glossaries, platform guides, and calculators. A CRM vendor defines the term. An ad platform explains it, and oddly enough the explanation always ends at “spend more with us”. They are all correct and none of them help, because they answer the only question nobody actually has.

Here is the formula, once, for completeness. Take the revenue attributable to a campaign, subtract its cost, divide by the cost, and you have a ratio. Spend 1,000 and attribute 3,000 back, and the ROI is 200 percent. A hypothetical like that is the only place the calculation ever looks that clean.

A simple balance scale in near-equilibrium in the foreground, while beneath it a floor of measuring instruments laid out in a grid waits, connected by a single lime cable running from the scale down to the instruments

The real question hides inside the phrase “attributable to”. Was the lead produced by the paid click, or did the paid click catch a person who had already decided after reading three blog posts? Which spend counts, the media budget or the hours of the people who made the campaign? Every one of those choices moves the number more than the formula does.

That is why I treat marketing ROI as a measurement problem first. Get the inputs honest and the formula takes care of itself. Get the inputs wrong and no spreadsheet on earth saves you.

Blended ROI and Paid-Only ROI Answer Different Questions

The first fight you meet is between two camps. One swears by blended ROI: all revenue attributed to marketing, divided by all marketing cost. The other demands paid-only: revenue from a channel, divided by that channel’s spend.

Both are right, because they answer different questions. Blended ROI tells you whether marketing as a whole pays for itself. It is the number for the CEO and for budget conversations. Paid-only ROI tells you whether a specific channel earns its keep. It is the number for optimization decisions on a Tuesday morning.

The problem is not either number. The problem is switching between them without saying so. I have seen reports that lead with paid-only when the channel looks brilliant, then slide to blended when the channel sags. Same deck, two incompatible frames.

My rule: every ROI number I show carries its frame in the label. Blended, all channels, quarter. Or paid-only, search, month. If a number cannot wear its frame, it does not leave the building. And when I compare channels against each other, I pair ROI with customer acquisition cost, because a channel can show a fine ratio and still be too expensive per customer to scale.

Build First-Touch Attribution Yourself Before You Buy Anything

Attribution is where ROI becomes real, and it is where most teams either surrender to a platform or give up. Build first-touch attribution yourself, badly if necessary, before you spend a cent on attribution software. Email is the trap here: open tracking now needs a consent plan in several European countries, which I cover in email tracking pixel rules in Europe.

I built my own lead-attribution kit. It tracks 44 vectors on first touch, runs in Node and PHP so it drops into any site regardless of stack, and classifies every lead into organic, social, or direct. The classification logic runs identically on client and server, so an ad blocker on the visitor’s side cannot silently rewrite the story.

Forty-four thin flow lines converge from the left into three color-labeled containers for organic, social, and direct, with the same scheme duplicated in two overlapping layers joined by a lime seal

Why first-touch? Because first-touch is honest about what it is. It answers one question, where the lead entered, and it answers it the same way for every lead. Multi-touch models distribute credit across touches using weights that nobody in the room can defend. They produce prettier reports and weaker decisions.

First-touch has a bias you should know. It undervalues the channels that warm people up before the click that converts, so content looks weaker than it is. I accept that knowingly, because a known bias you correct in your head beats an unknown bias hidden inside a vendor’s model.

The kit took weekends, not months. I wrote up the build, and the rest of the stack it lives in, in my marketing tech stack teardown. If lead generation is your game, the same thinking applies to how you feed the top of the funnel with AI.

Without attribution, marketing ROI is an opinion. With even a crude first-touch log, it becomes a number you can argue with and defend.

The Window Problem: When Does a Lead Count?

Ask ten marketers when a lead counts as revenue and you will get a shrug. That shrug is worth thousands of euros. The window you choose, which clicks count, which deals close inside the period, can swing your ROI more than any optimization you will run this year.

A long dark timeline with tick marks, where a lime bracket pins a fixed window closed by a small padlock while a second dashed bracket slides away out of position

Three windows hide inside every ROI number. The attribution window: how long after a click can a conversion still be credited to it. The pipeline lag: how long between lead and closed deal, which in B2B can stretch to months. The reporting period: which slice of time the whole calculation lives in.

None of these choices has a universally right answer. What has a right answer is the order you make them in. Decide the window before you look at the numbers, write it down, and keep it fixed. Decide it after, and you will unconsciously tune the window until the number flatters you. Nobody is lying when that happens. The window simply drifts toward the story people wanted.

Consistency beats sophistication here. A fixed, slightly wrong window that holds for eight quarters gives you a trend you can act on. A perfect window recomputed every month gives you nothing, because every movement could be the market or the methodology.

The Day a Channel Went to Zero Overnight

Here is a story I tell every client who wants to bet everything on one channel. It is true, and the client stays anonymous.

A Swiss e-commerce client ran Google Ads as the dominant, nearly the only, acquisition channel. Performance was stable. Then, from one day to the next, delivery dropped to zero. Not a dip. Zero. The campaigns simply stopped serving.

The punchline is that nothing was wrong with the campaigns. The budget was there, the ads were approved, the landing pages loaded. The account had been frozen by Google’s advertiser verification process, the check where Google wants proof of the organization behind the ads plus an identity document. A bureaucratic requirement, not a technical failure. No error inside the account, no warning that predicted the day. The channel was simply blocked until the verification resolved.

One large lime pipeline feeds a meter whose reading sits at zero because a valve in the middle is closed under a bureaucratic seal, while faint secondary pipelines glow in the background

The marketing lesson is not about Google. It is about structure. When one channel carries the acquisition, your ROI is hostage to that channel’s policies, verification queues, and enforcement whims. The ROI looked excellent right up to the morning it was zero, through no action and no mistake by the team running it.

Two things follow. First, diversify the source. Not equally, but enough that no single switch can turn the business off. Second, measure delivery itself, not just outcomes. The zero was caught fast because delivery was tracked daily. Attribution tells you what works, and it tells you when something stops working.

My Paid Guardrails: No Spend Without an Explicit Go

Now the rule I hold with clients, more strictly than any tactic. No spend and no campaign change without an explicit go from the client. Not an implied go, not a “you know best”. Explicit.

Around that rule sits a guard: 200 EUR per month per client as my alert threshold. When spend approaches it, I run a triple check. The actual spend, the client’s stated cap, and the client’s confirmation in the same turn. Only when all three agree does anything move. This is not a bureaucratic flourish. It is client money, and the fastest way to lose a client is a number they never approved.

The marketer holds three lime keys in front of a control panel with three switches off and a threshold marked by a lime line, a small checkmark of consent attached to a go button

The other half of the rule matters just as much. Reading is always free. Pulling data, studying campaigns, reporting insights, flagging what changed overnight: that part I do proactively, because measurement only works when it runs constantly.

There is an ROI on the guardrails themselves. Clients who see that nothing moves without their go, and that everything is measured without their asking, stay. The failure patterns I avoid with this discipline are the same ones that sink AI projects generally, and I wrote those down separately: unmeasured motion that looks like progress.

Where AI Actually Moves Marketing ROI

I have used AI daily in marketing for two and a half years, so I get asked whether it improves ROI. The honest answer has two parts.

The first part: AI has genuinely collapsed my cost of production. Drafts, meta descriptions, translations, the mechanical layer of content. This blog runs in five languages on a pipeline of AI drafts and human editing. The marginal cost of an article is a fraction of what a five-language operation would have cost a few years ago, and the blog brings inbound leads. That is real ROI, and AI is a large part of why it exists at all.

The honesty that comes with it: content ROI is slow. I do not promise instant returns from content, to clients or to myself. The leads arrive on timelines of months and quarters, not days. Anyone who quotes you a fast content ROI is quoting you a story.

The second part: AI does nothing for your measurement. A model can draft a report, but it cannot tell you which touch produced the lead, and it will not warn you that the window you chose flatters you. The measurement stack, the attribution, the discipline around the numbers stay human and manual in my operation, on purpose.

The equation, then. AI pushes the cost side of ROI down, legitimately and substantially. It leaves the return side untouched, and the return side is where all the hard questions live. An unmeasured saving is a narrated saving. The day-to-day reality of working this way, what the machine does and what I refuse to hand over, is written up here, and the newsletter pipeline is the same philosophy applied to one channel.

A split panel where a column of content blocks compresses and sinks lower on the left while a measuring structure on the right stays identical and unchanged in height

How to Report ROI Without Fooling Anyone

Last, the reporting, because a number is only as good as the honesty around it. The discipline comes from rebuilding the newsletter operation: no fake totals, ranges where I did not measure precisely, and a bright line between what I know and what I estimate.

Every ROI report I write separates three kinds of numbers. Measured: logged by the attribution kit or the platform. Derived: calculated from measured inputs, trustworthy as long as the inputs are shown. Assumed: everything else, labeled as such and kept out of the headline.

If a number is a range, it ships as a range. “Under two hours, review included” is a real number in my world. “67.4 percent time savings” is a costume. Nobody times their work to the decimal, and a decimal on an estimate is a lie wearing a lab coat.

The boring report that survives scrutiny beats the beautiful one that melts under the first question. That is the whole standard.

Frequently Asked Questions

What is marketing ROI?

Marketing ROI is the return marketing generates relative to the money spent. Take the revenue attributable to marketing, subtract the cost, and divide by the cost. It answers the question every stakeholder eventually asks: did this pay for itself? The formula is trivial. Everything that makes the number meaningful, the attribution, the windows, the framing, lives underneath it.

What is a good marketing ROI?

Not the number a benchmark table would give you, because I would have to invent it. A good ROI is one above your own baseline, measured the same way quarter after quarter, with its frame stated. A 150 percent ROI that holds under scrutiny for a year is worth more than a 400 percent one that dissolves when you ask where the revenue was attributed. Compare against your own history, not an industry average someone quoted you.

How do you calculate marketing ROI?

Subtract the campaign’s total cost from the revenue attributable to it, divide by the cost, and multiply by one hundred. Then, before showing the number, write next to it how the revenue was attributed, over what window, and whether the figure is blended or paid-only. That context is the difference between a number and an answer, and it is the part of marketing ROI that takes the real work.

Tags: marketing roimarketing attributionmarketing measurementroi calculationmarketing kpisai marketing

Keep reading

All writing →
Newsletter

Stay ahead.

Occasional notes on AI marketing, growth, and speaking. No spam.