Your ad dashboard says the campaign paid for itself. Your bank account says the month felt tight. The bookkeeper's report shows a third story, and nobody in the room can say which one is right. That mismatch is the real problem behind most attempts to measure marketing ROI in a small business. The math is easy. The trouble is that revenue, cost and credit for a sale each live in a different place, and none of those places agree. This page shows how to make them agree well enough to decide where the next dollar goes.
Start with profit, because revenue flatters everything
The plain formula is profit earned because of marketing, minus what the marketing cost, divided by what the marketing cost. The word that matters is profit. If you plug in revenue, a campaign that sells low-margin work at a loss can still look like a winner. So take each sale's revenue and subtract what it cost you to deliver: materials, labor, card fees, refunds. Use what is left as the return.
You will run into several look-alike metrics. They answer different questions, and mixing them up is where most disagreements start.
| Metric | What it answers | Where it misleads |
|---|---|---|
| ROI | How much profit came back for each dollar of marketing cost | Ignores timing, and sales that close long after the spend |
| ROAS | How much revenue each ad dollar produced | Ignores what the work costs you to deliver |
| Cost per lead | What one inquiry cost you | Says nothing about whether the inquiry ever buys |
| Payback period | How long until spend returns as profit | Needs a reliable date on every sale |
Trace a single sale backward
Before building any dashboard, pick one recent customer and walk their path in reverse. What did they pay? Which call, form or booking started it? What did they click or search just before? What did you spend to put that in front of them? If you can't finish the walk, you have found the actual gap. Most small businesses lose the thread at the phone call, because the ad platform never sees it.
Counting what marketing really costs
Ad spend is the cost everyone remembers. The others get left out: the freelancer who edits the videos, the software subscriptions, the agency fee, and the hours you or your staff spend on it. Leave them out and ROI looks better than it is. Include your own time at a fair rate, even if you never pay yourself that way. Then the comparison against other uses of your money is honest.
Be careful with sales that were never really from marketing. A repeat customer who would have rebooked anyway shouldn't be credited to the ad that happened to be their last click. Tag returning customers separately and judge campaigns mostly on new ones.
Give the sales cycle time to finish
A quick read of a campaign misleads whenever the customer takes time to decide. A kitchen remodel, a legal retainer or a wholesale account can close well after the click. Decide up front how long your typical buyer takes, and don't judge a campaign until that window has passed. Otherwise you will cut the slow winners and keep the fast, shallow ones.
Why the question spikes in summer
Across the whole cluster, about 540 searches a month go to this topic, spread over 27 distinct phrasings. The exact phrase «how to measure roi in marketing» swung from a low of 50 searches a month in November 2025 to a high of 390 in June 2026. The likely reason is that owners look up ROI when they review a half-year of spend and ask whether it worked, though the numbers alone can't confirm that. Advertisers pay up to $17.59 for a top-of-page click on searches like this, so software vendors and agencies are competing for your attention. That figure is a ceiling, not what any of it costs you. It does tell you the topic is crowded with people who want to sell you a tool.
Keep one page you can update in ten minutes
You don't need a data warehouse. A single sheet with a row per channel is enough. Columns: what you spent, how many new customers, the profit from those customers, and the ROI worked out from those. Add a note column for anything that distorts the period, such as a holiday, a price change or a one-off promotion. Update it on a fixed day each month. The habit matters more than the tool, because a stale sheet is how the dashboard-versus-bank-account argument starts again.
If ROAS is the number your ad account keeps showing you, our separate guide on how to calculate it without fooling yourself (/guides/how-to-calculate-roas) covers that piece in detail.
Where an outside analyst earns their fee
Most owners can run the sheet above on their own. Outside help pays off when the trace breaks: phone orders that never reach the ad account, a booking tool that strips the source, conversions counted twice, or several channels each claiming the same sale. That is a tracking problem, not a math problem. A conversion tracking audit checks whether the numbers going into your sheet can be trusted. Ask for one only after you've tried the single-sale trace, so you can describe exactly where it fails.
If you do hire someone, ask them to show you how one real sale moves from click to bank deposit. A person who can do that plainly is worth talking to. One who leads with a dashboard is not.