How to Actually Track Marketing ROI for a Local Business

Quick Answer
Tracking marketing ROI for a local business requires four numbers: cost per lead by channel, lead to appointment rate, appointment to sale rate, and average job value. Connect call tracking and form tracking to a CRM, tag every lead with its source, and report on cost per booked job rather than cost per click or cost per lead.
Most Local Businesses Track the Wrong Thing
Ad platforms report clicks, impressions and conversions. None of those pay your bills. The question that matters is simple: for every dollar in, how many dollars of booked work come out. Answering it requires connecting what happens in the ad account to what happens on your calendar.
The Four Numbers
- Cost per lead by channel: total spend divided by leads, calculated separately for each source.
- Lead to appointment rate: the share of leads that turn into a scheduled visit or consultation.
- Appointment to sale rate: the share of appointments that become paying customers.
- Average job value: what a closed customer is worth, and ideally what they are worth over a year.
With those four, you can calculate cost per booked job and compare channels honestly. Without them, you are comparing cost per click, which tells you almost nothing about profit.
Call Tracking Is Not Optional
Most local conversions are phone calls. Without call tracking numbers, you cannot tell whether the call came from a Google ad, the map pack, a Meta campaign or a yard sign. Use a dedicated number per channel, keep the display number consistent on your Business Profile, and record calls where the law allows so you can score lead quality rather than just count rings.
Tag Every Lead at the Source
Every form submission should carry its source, campaign and keyword into your CRM automatically. Every call should be logged against its tracking number. If your team writes down where a lead came from by hand, the data will be wrong within a week. Not because anyone is careless, but because it is the first thing dropped on a busy day.
Count Booked Jobs, Not Conversions
A conversion in the ad platform is a form fill or a call over some duration. A booked job is money. The gap between them is where most marketing budgets get misallocated: a channel with cheap leads that rarely book will look like your best performer right up until you check the calendar.
Push booked outcomes back into your ad platforms as offline conversions. Once the algorithm optimizes toward customers rather than form fills, performance usually improves without any change in budget.
Give It a Fair Window
Judging a channel on a single week is how good campaigns get killed. Look at a rolling ninety days, and understand your sales cycle. A roof replacement decision takes longer than a drain clog. If your average time from lead to sale is three weeks, then this week's spend is not supposed to show up in this week's revenue.
A Simple Monthly Review
Once a month, put four columns on one page: spend, leads, booked jobs and revenue, one row per channel. That single page settles most arguments about where the budget should go, and it takes fifteen minutes once the tracking is in place.
Kept off the blog
Anyone can install tracking. Reading it is the skill.
The setup above takes an afternoon. Knowing which number to act on when three of them move at once, and telling a real trend apart from a slow month, is what keeps businesses from cutting the channel that was actually working.
- The dashboard we build for owners, and the four numbers we put at the top for each trade
- How we separate a genuine performance drop from normal seasonal noise before anyone panics
- The attribution rule we use when a customer touches three channels before calling
Call us and we will walk your numbers with you and tell you which channel is quietly carrying the others.
Frequently Asked Questions
What is a good cost per lead for a local business?
It depends entirely on job value and close rate. A $60 lead is expensive for a business closing 20% of leads on $300 jobs, and cheap for one closing 40% on $9,000 jobs. Calculate what you can afford before comparing yourself to a benchmark.
Do I need expensive software to track this?
No. A CRM with call tracking and source tagging covers almost every local business. The cost is usually well under what a single mistracked month of ad spend wastes.
How do I attribute a customer who found me three different ways?
Pick one rule and apply it consistently, usually first touch for understanding demand creation and last touch for understanding what closes. What matters is that you do not switch rules month to month, since that makes trends unreadable.
Related Articles
Ready to grow your business?
Get a free, no-obligation marketing audit and a clear plan to win more local customers.