How to Track Marketing ROI as a Contractor

Stop drowning in 20-page PDF reports. The only marketing metric that matters is cost per booked job. Here is the dashboard that shows it.

Editorial image for: How to Track Marketing ROI as a Contractor

Your marketing agency sends you a report every month. It's 18 pages long. It has charts. Graphs. Color coding. The words "impressions," "click-through rate," and "engagement" appear 47 times.

You flip to the end looking for the only number that matters: how many jobs did this produce?

It's not there. It never is.

Here's the thing. You don't need 18 pages. You don't need a marketing degree to understand your own numbers. You need one dashboard, one metric, and about 5 minutes a week. That's it.

The Only Metric That Matters: Cost Per Booked Job

Not cost per lead. Not cost per click. Not cost per impression. Cost per booked job.

A "lead" is someone who called or filled out a form. Maybe they were a tire-kicker. Maybe they wanted a price and never called back. Maybe they're in the wrong zip code. "Leads" is a vanity metric that makes marketing agencies look good and tells you nothing about whether you're actually making money.

A booked job is money in your account. Revenue you can deposit. Work your crew can do. That's the number.

The formula is simple:

Total marketing spend / Number of booked jobs = Cost per booked job

If you spent $4,000 on marketing last month and booked 6 jobs from it, your cost per booked job is $667. If your average job is $5,000, you're paying $667 to make $5,000. That's a 7.5x return. Now you know. Now you can make decisions.

Why "Leads" Is a Metric That Lies to You

Let's say your agency tells you they generated 40 leads last month. Sounds great. But what does that actually mean?

  • 8 were spam or robocalls
  • 6 were people looking for a job (not hiring, applying)
  • 5 hung up before saying anything useful
  • 7 were looking for a service you don't offer
  • 4 wanted a quote and ghosted
  • 10 were real prospects

Of those 10 real prospects, you closed 4. So your "40 leads" produced 4 jobs. Your agency is celebrating 40 leads. You're looking at 4 deposits. Those are very different numbers, and only one of them pays your crew.

This is why lead count is dangerous. It rewards volume over quality. An agency that generates 40 garbage leads looks better on paper than one that generates 12 high-intent leads that close at 50%. But the second agency produced 6 jobs while the first produced 4.

What a Real Marketing Dashboard Looks Like

Forget the 18-page PDF. Here's what you should be looking at. One screen. Five columns.

The Source-to-Revenue Tracker

  • Column 1: Source. Where did the lead come from? Google Ads, organic SEO, Google Business Profile, Local Service Ads, referral, repeat customer.
  • Column 2: Keyword/trigger. What search term or action triggered the lead? "Emergency plumber near me." "Roof replacement cost." "Foundation repair [city]." This is the level of detail that matters.
  • Column 3: Lead details. Call or form? Date and time? What did they ask for? Recorded call or form submission you can review.
  • Column 4: Outcome. Did you book the job? If not, why? No-show, wrong service area, price shopper, couldn't reach them.
  • Column 5: Job value. What was the job worth? If closed, actual revenue. If lost, estimated value of what walked away.

That's it. Five columns. Every lead, tracked from the moment they Googled something to the moment you deposit the check. Or don't.

A Real Example

Here's what this looks like for an actual plumbing contractor we work with:

  • Source: Google Ads
  • Keyword: "emergency plumber near me"
  • Lead: Phone call, Tuesday 2:47 PM, 3 min 22 sec. Caller has a burst pipe in the basement.
  • Outcome: Booked same-day emergency call. Dispatched within 90 minutes.
  • Job value: $1,800 emergency repair + $4,200 sewer line replacement scheduled for the following week. Total: $6,000.

Now you know: the keyword "emergency plumber near me" produced a $6,000 job at 2:47 PM on a Tuesday. You know the ad cost for that click ($23). You know the return (260x). You know this keyword is worth bidding aggressively on.

Compare that to: "You got 847 clicks and 12,000 impressions this month." Which one helps you make a decision?

Call Tracking: The Foundation of Everything

None of this works without call tracking. If you can't tie a phone call back to its source, you can't build this dashboard. You're stuck with the 18-page PDF.

Call tracking assigns a unique phone number to every marketing source. One number on your Google Ads landing pages. A different number on your organic website pages. A different number on your Google Business Profile. A different number on your Local Service Ads.

When someone calls any of those numbers, you know exactly where they came from. The call is recorded. The duration is logged. You can listen to it and determine if it was a real lead or spam. Then you mark the outcome: booked, lost, not qualified.

This is a $30-$100/month tool that changes everything. It's the difference between knowing your marketing works and hoping it does.

The Weekly 5-Minute Review

Every Friday, spend 5 minutes on this:

  • How many total calls/forms this week? Is volume up or down from last week?
  • How many were qualified leads? (Not spam, not job seekers, not wrong service area.)
  • How many jobs did you book? This is the number.
  • What sources produced the booked jobs? Google Ads? SEO? GBP? LSAs?
  • What's the cost per booked job this week? Marketing spend / jobs booked.

That's it. Five minutes. If cost per booked job is going down, your marketing is working. If it's going up, something changed and you need to dig in. If one source is producing jobs at $300 each and another at $1,200 each, you shift budget from the expensive one to the cheap one.

You don't need a marketing degree for this. You need a calculator and 5 minutes.

The Red Flags in Your Current Reports

If your marketing agency sends you reports, look for these warning signs:

  • "Impressions" as a headline metric. Impressions mean your ad appeared on someone's screen. They didn't click it. They probably didn't notice it. This is the most meaningless metric in marketing.
  • Click-through rate without conversion data. Great, people clicked your ad. Did they call? Did they book? Clicks without conversions is burning money with extra steps.
  • "Traffic increased 23%." Traffic from where? Bots? Job seekers? People Googling your company name who were going to call anyway? Traffic is only valuable if it converts to leads, and leads are only valuable if they convert to jobs.
  • No mention of revenue or jobs. If your monthly marketing report doesn't include the words "booked," "closed," or "revenue," fire your agency. They're measuring their activity, not your results.
  • Refusal to set up call tracking. If your agency pushes back on call tracking, ask yourself why they wouldn't want you to know exactly which leads they're producing. The answer is usually uncomfortable.

What to Do If You're Starting From Zero

If you have no tracking in place right now, here's the order of operations:

  • Step 1: Set up call tracking. Assign unique numbers to your Google Ads, website organic pages, GBP listing, and any other marketing channels. This takes 1-2 hours to set up and costs $30-$100/month.
  • Step 2: Create a simple spreadsheet with the five columns above. Or use a CRM. Or use a notes app. The format doesn't matter. The habit does.
  • Step 3: For every call that comes in, log the source, the outcome, and the job value. Takes 30 seconds per call.
  • Step 4: At the end of each week, calculate cost per booked job by source. That's your dashboard.
  • Step 5: After 30 days, you'll have enough data to make your first real decision about where to spend more and where to cut.

You don't need expensive software. You don't need a marketing consultant. You need a phone number tracker and a spreadsheet. The sophistication comes later. The habit comes now.

Why Most Agencies Won't Do This for You

Here's the uncomfortable truth: most marketing agencies benefit from you not knowing your real numbers. If you knew that 30 of their "40 leads" were junk, you'd question the value. If you knew that your $3,000/month ad spend produced 2 booked jobs instead of the "35 leads" they're reporting, the ROI math gets ugly fast.

The agencies that track to the job level -- that connect the keyword to the call to the booked appointment to the deposited check -- are the ones that have nothing to hide. They want you to see the numbers because the numbers are good.

If your agency resists this level of tracking, that tells you everything you need to know. And if you haven't read it yet, our post on the cheap marketing agency trap explains why this happens so often.

Stop Reading Reports. Start Reading Revenue.

The contractor who knows his cost per booked job by source makes better decisions than the one reading 18-page PDFs. Every time. He knows which keywords are worth bidding on. He knows which marketing channel to scale. He knows when something breaks before it costs him $5K in wasted spend.

That contractor isn't smarter. He just has better data. And better data starts with one decision: track every call, tie it to its source, and measure the only thing that matters -- jobs booked and revenue deposited.

Want the dashboard built for you? We set up call tracking, source attribution, and revenue tracking for every client. No 18-page PDFs. One dashboard. Real numbers. Fill out the application and we'll show you exactly what your marketing is producing -- or isn't. Takes 2 minutes.

More Contractors Articles