How do I measure marketing ROI for a small business?

You built something real, and you deserve to know what your marketing is doing for it. Here’s 1 simple formula, the 2 numbers worth tracking every month, and a straight answer on why no tool can tell you exactly which dollar did the work.

A person at a laptop showing a colorful chart

Take what the marketing earned you, subtract what it cost, and divide by the cost: (profit − spend) ÷ spend. Then track cost per lead and cost per customer, which are easier to act on. Count calls and booked jobs, not clicks, and ask every new customer how they found you.

That’s the whole method. Here at CPC, we aren’t afraid of a hot take, so here’s ours: for a small business, a rough answer you trust beats a precise answer you don’t. The rest of this page is the part that makes it honest. Which profit number to use, what to count, and why no tool will ever tell you exactly which dollar did the work.

What’s the simple formula for marketing ROI?

ROI is the return on a dollar you spent. Use gross profit, meaning what’s left after the cost of delivering the work, not revenue. Revenue flatters you. And marketing doesn’t pay the bills until the costs are covered.

Here’s an example with made-up numbers. You spend $2,000 in a month. It brings in 4 new customers who each pay $900, so $3,600 in revenue. Your margin is 40%. That’s $1,440 in gross profit. The result:

Measure Formula Example
ROI on revenue(revenue − spend) ÷ spend($3,600 − $2,000) ÷ $2,000 = +80%
ROI on gross profit(gross profit − spend) ÷ spend($1,440 − $2,000) ÷ $2,000 = −28%
Cost per leadspend ÷ leads$2,000 ÷ 40 leads = $50
Cost per customerspend ÷ new customers$2,000 ÷ 4 = $500

Same month. Same marketing. On revenue it looks like a win... on profit it lost money. That gap is why we always start with margin. There’s one fair exception: if those customers come back, the first sale isn’t the whole story. A heating customer who signs a yearly tune-up plan is worth more than $900. Count repeat work when you know it’s real, and say so in the math.

What are cost per lead and cost per customer?

They’re the 2 numbers you’ll use every month. Cost per lead is spend divided by the calls and forms that came in. Cost per customer is spend divided by the people who actually paid. The second one is the one that matters. A cheap lead who never books is just noise.

It helps to know what’s typical. LocaliQ’s 2026 benchmarks put the average Google Ads cost per lead at $66.69, and $90.92 for home and home improvement. On Facebook, lead campaigns average $27.39. (We compare the two in our article on Google Ads vs Facebook Ads.) Use those as a sanity check, not a target. If you’re paying $200 a lead for work that earns you $150, something’s off. If you’re paying $91 for work that earns you $600, you’re fine.

The ceiling you can afford is simple. Take the gross profit on an average customer, and decide how much of it you’re willing to spend to get that customer. That’s your maximum cost per customer. If you don’t know it yet, a 3-line spreadsheet fixes that this week.

What should you actually count?

Count outcomes, not activity. Clicks and impressions feel like progress, but they rarely pay rent. 3 things do:

  • Calls and form fills that came in.
  • Which of them turned into booked work.
  • What each cost, ads and management included.

2 traps catch most owners. First, GA4 records a form submission but won’t treat it as a conversion until someone marks it as a key event. Until then, your report can read zero in a month when the phone never stopped. Second, GA4 can see a tap on a phone number but not whether the call connected, so calls need their own tracking. Our GA4 and analytics work fixes both and puts the answer on one page.

That 1 page is the point. Don’t get us wrong, reach has its place. But reports full of impressions and reach are how owners end up disappointed. In vcita’s 2025 survey of 500 US small businesses, 40% of those who outsource marketing had dropped or switched their agency, and 60% named a lack of return as a reason. vcita sells software to agencies, so weigh it accordingly. But the pattern fits what we hear: people don’t leave over bad results nearly as often as over results they can’t see.

How honest can attribution be for a small business?

Less precise than any dashboard suggests. Attribution means deciding which marketing gets credit for a customer. The trouble is, customers don’t take 1 road. BrightLocal’s 2026 research found 75% of consumers used more than one channel in their most recent local business search. Someone sees your truck, searches your name, reads your reviews, then calls. Which one gets the credit?

The tools make a call anyway. Google made data-driven attribution the default in Google Ads and GA4, and retired first-click, linear, time-decay, and position-based models. Google said those older models accounted for less than 3% of Google Ads web conversions. Data-driven attribution is a model’s best estimate, and a small account gives a model little to work with. In our book, it’s a guess.

So here’s the practical version. We think small businesses should triangulate, not trust 1 number. Here’s what that looks like:

  • Ask “How did you hear about us?” on every form and in every phone call. Write down the answer.
  • Use call tracking so each channel has its own number.
  • Compare your tool’s answer with what customers said. If they agree, trust it. If not, trust the customers.
  • Judge in 90-day windows, not by single weeks or by single channels.

Self-reported answers are imperfect too. People forget, or say “Google” when they mean your van. But 2 imperfect sources that agree beat 1 confident dashboard.

How long before you can judge the results?

Longer than a month. Paid ads need weeks of tuning, and search optimization takes a few months to move. That’s why our retainers carry a 3-month minimum. A 30-day sample mostly measures setup. So here’s your one thing to do this week: pick a review date 3 months out, write down what you expect, and look then. Reviewing weekly just teaches you to panic.

When is measuring ROI more work than it’s worth?

When the volume is tiny. If you book fewer than about 10 new customers a month, percentages swing wildly on one job, and a notebook beats a dashboard. Keep a simple sheet: date, source, what they bought, what it paid. Also, some marketing can’t be priced per dollar. Word of mouth built most local businesses, and nobody can invoice a referral. Don’t kill it just because it won’t fit in a cell.

And if the real question is “what should we be doing at all?”, measurement won’t answer it. That’s a strategy question. Our $3,000 strategy engagement gives you positioning, your best-fit customer, a sharp offer, and a 90-day plan, so there’s something worth measuring. Our article on what a small business should spend on marketing covers the budget side, and what Google Ads cost covers one common line item.

Get your 90-day plan on one page

1 goal, 1 audience, 1 offer, 2 channels, and a weekly rhythm. The 90-Day Plan Starter is printable, free, and needs no email. It gives you something worth measuring.

Rather have somebody in your corner reading the numbers? Every retainer includes a monthly report that says what happened and what it means. It counts calls and booked work, shows what you spent on ads and on us, and ends with the 1 thing we’re changing next month. See how it works on our GA4 and analytics page.

What else do owners ask about measuring marketing results?

What is a good marketing ROI for a small business?

There’s no single good number. Zero is break-even, and anything above it earns money, but margins matter more than the percentage. A 50% return on revenue can still be a loss once the cost of the work is counted. Set your own target from the profit on an average customer.

How do I measure ROI if customers call instead of buying online?

Track the call. Use a separate tracking number for each channel, ask every caller how they found you, and log the booked job afterward. GA4 alone sees a tap on a phone number, not whether a call connected, so calls need their own tracking.

Can I measure ROI on social media or branding?

Partly. You can count messages, calls, and “how did you hear about us” answers that mention social. You can’t price every impression, and we wouldn’t try. Judge it over 90 days by whether customers name it, and don’t hold it to the same math as paid search.

How often should I review marketing results?

Look at the numbers monthly and judge over 90 days. Weekly checks are fine for catching broken tracking or a missed-call problem, but week-to-week swings are noise. Pick a review date 3 months out and compare against what you wrote down at the start.

Do I need paid software to track marketing ROI?

No. GA4 and Google Ads are free, and a spreadsheet with date, source, job, and payment covers a lot. Pay for call tracking once phone calls are your main lead source and you can’t tell which ones come from marketing.

What does Carson Poore Consulting’s monthly report include?

Every retainer includes a one-page monthly report: calls and form fills, booked work, spend on ads and on us, search terms we cut, and the one change for next month. Retainers are $1,200, $2,400, or $4,800 a month, 3 months minimum, then month to month.

Keep reading

Want to know what your marketing is really doing?

Let’s hop on a 30-minute discovery call. Bring your last few months of leads, or just your best guess. We’ll work out your cost per lead and cost per customer together and show you what to count next. You’ll leave with the first fix whether or not you hire us.