You're Spending $3,200 A Month On Marketing And Have No Idea Which Half Is Working — Here's How To Track Every Dollar From Click To Collected Payment (Free Contractor Marketing ROI Tracker)
You just looked at your marketing spend for the month and it hit you: $1,600 to Google Ads, $600 to Facebook, $400 to Yelp, $350 to Angi, $250 to Thumbtack. $3,200 total. And you have absolutely no idea what you got for it. Google says "22 calls." Facebook says "15 messages." Yelp says "8 leads." Angi says "11 leads." Each platform is showing you THEIR version of success — but none of them can tell you which of those 62 "leads" actually turned into a booked job, completed work, collected payment, and profit.
You're making $38,400/year in marketing decisions with ZERO data connecting spend to profit. The platform dashboards are designed to make themselves look good — Google counts a "call" as any phone call lasting over 30 seconds (including the telemarketer who pitched you SEO services for 2 minutes), Facebook counts a "message" as anyone who clicked "Send Message" (including the person who typed "how much?" and never responded), Yelp counts a "lead" as any interaction (including the person who viewed your profile and called 3 other contractors). Angi charges you per lead regardless of whether the lead is real or whether the customer already hired someone else. Every platform's metric is optimized to justify their bill — not to tell you the truth about your ROI.
And the worst part: you're probably profitable on your marketing spend overall — your business is growing. But you're almost certainly wasting 30-50% of your spend on channels or campaigns that don't produce profitable jobs. You just can't prove it because you're not tracking the full journey from ad click → phone call → quote → booked job → completed job → collected payment → gross profit. Every link in that chain is broken. The software industry's answer is CallRail at $45-300/month, WhatConverts at $30-150/month, or ServiceTitan Marketing Pro at $200-500/month — all requiring setup, integration, and ongoing management. But you don't need enterprise call tracking. You need a simple spreadsheet that shows: Channel → Spend → Calls → Quotes → Jobs → Revenue → Profit → ROI. And you need it in 15 minutes a week.
The reframe: Marketing ROI isn't a software problem — it's a tracking discipline problem. The 5-sheet free tracker below costs $0 to build, takes 2 hours to set up, and a 15-minute Monday morning review tells you exactly which channels earn their keep and which are burning cash. The math: if you're spending $38,400/year and wasting 30% on unprofitable channels, that's $11,520/year in recoverable spend — money you can reallocate to the channels that actually produce profit, or take straight to the bottom line. The tracker doesn't add cost. It reveals waste.
Why every page-1 search result sells you software you don't need
Search "how to track marketing ROI for service business" and every result on page 1 falls into one of four buckets, none of which actually solve your problem: (1) Call tracking SaaS landing pages — CallRail, WhatConverts, Invoca — all positioning their $45-500/month product as "the solution" in blog posts that are really product pages. They show you which channel drove the call but not whether the call turned into a profitable job. (2) Marketing agency blog posts — WordStream, Search Engine Journal, Neil Patel — generic "how to calculate marketing ROI" articles that assume you're an e-commerce business with Google Analytics tracking, not a service business where the "conversion" is a phone call. They tell you to set up conversion tracking that doesn't work for phone-based businesses. (3) Contractor marketing agencies — KickCharge, Contractor Commerce, Blue Corona — pitching their managed services at $1,000-5,000/month. The free "audit" is a sales call. (4) Thin Google Sheets templates shared on contractor forums — basic "spend vs calls" trackers from a well-meaning contractor who built it for their own business. But they don't account for the multi-step conversion path (call → quote → booked → completed → collected) or the gross profit calculation (revenue minus labor and materials). What you won't find: a free, contractor-specific marketing ROI tracker that logs spend per channel, tracks the full lead-to-revenue journey, calculates ROI per channel, and flags channels where spend is growing faster than revenue — the early warning sign of marketing bloat. This is that system.
The 5-sheet free contractor marketing ROI tracker
Each sheet serves one purpose. Together, they answer the only question that matters: "Which marketing channels are making me money, and which are just making noise?" Build this in Google Sheets (or Excel) — one workbook for your entire business, updated in 15 minutes every Monday.
Sheet 1: Monthly Marketing Spend Log
This is your ground truth. Every dollar of marketing spend gets logged here, by channel, by month. The year-over-year comparison column is the canary in the coal mine — when a channel's spend is growing faster than its revenue, you're in marketing bloat territory.
| Field | What goes in it |
|---|---|
| Month | January 2026, February 2026, etc. Group by month — this is the reporting cadence that matters. |
| Channel | Google Ads, Facebook Ads, Yelp Ads, Angi Leads, Thumbtack, Local SEO, Direct Mail, Radio, etc. Be specific — don't lump "online ads" together. |
| Monthly Spend | The actual amount charged to your card. Pull this from each platform's billing dashboard — not from memory. |
| Same Month Last Year | What you spent on this channel in the same month last year. This comparison reveals: is spend growing faster than revenue? |
| YoY Change % | Auto-calculated. Red flag: any channel where spend is up 20%+ YoY but revenue from that channel isn't up proportionally. |
| Notes | Campaign changes, budget increases, seasonal adjustments. "Increased Google Ads budget by $400 for AC season." |
Sheet 2: Lead Source Pipeline
This is the heart of the system. Every lead gets one row. Every row follows the lead through the full pipeline. Nothing falls through the cracks.
| Field | Why it matters |
|---|---|
| Lead date & source | Date the lead came in + which channel (Google Ads, Facebook, Yelp, Angi, referral, repeat customer, etc.). This is the attribution column — everything flows from here. |
| Customer name & phone | So you can follow up. If the CSR can't get the name, it's probably not a real lead. |
| Call outcome | Pick one: Booked appointment / Quote requested / Price shopper (just wanted a number) / Wrong number / Existing customer / Telemarketer. This column alone will show you which channels send real customers vs tire-kickers. |
| Quote amount | If a quote was given. This is the first revenue signal. |
| Booked? | Yes/No. If No, why? (Price too high, went with competitor, not ready to buy, etc.) Track the "why" and patterns emerge — "Angi leads always say price too high" means Angi is sending price-sensitive leads that your close rate can't overcome. |
| Job revenue | The actual dollar amount of the booked job. This is the number that matters for ROI — not the quote, not the estimate, the actual booked revenue. |
| Completed date | When the work was finished. This closes the operations loop. |
| Collected amount | What the customer actually paid. If this is lower than job revenue, you have a collections problem — not a marketing problem. |
| Assigned technician | Which tech did the work. This enables the technician-by-channel close rate analysis in Sheet 5 — the hidden variable that can double your marketing ROI. |
| Gross profit | Revenue minus technician labor cost minus materials. This is the ONLY number that matters for marketing ROI. A $12,000 HVAC install that cost $8,000 in labor and materials is $4,000 in gross profit. A $89 service call that cost $130 to serve is a $41 loss — even though the channel "drove a lead." |
Sheet 3: Channel ROI Dashboard
This is the Monday morning view. One row per channel. Auto-calculated from Sheets 1 and 2. This answers the question "should I spend more on Google Ads or Facebook Ads?" with actual data, not gut feeling.
| Metric | What it tells you |
|---|---|
| Monthly spend | From Sheet 1. What you paid the platform. |
| Total leads | From Sheet 2. Every lead attributed to this channel. |
| Booked jobs | From Sheet 2. Leads that turned into booked work. |
| Close rate | Booked jobs ÷ total leads. A channel with 50 leads and 2 booked jobs (4% close rate) is a very different story than a channel with 10 leads and 5 booked jobs (50% close rate). |
| Total revenue | Sum of job revenue from booked jobs. This is the top-line number. |
| Total gross profit | Sum of gross profit from booked jobs. This is the BOTTOM-line number — the one that actually matters. |
| ROI | (Gross profit − Spend) ÷ Spend × 100. A channel that costs $1,600 and generates $4,000 in gross profit has a 150% ROI. A channel that costs $600 and generates $200 in gross profit has a -67% ROI. This column alone will reallocate your budget. |
| Cost per lead | Spend ÷ leads. Google Ads at $1,600/month ÷ 22 leads = $72.73/lead. Yelp at $400/month ÷ 8 leads = $50/lead. But cost per lead means nothing without close rate. |
| Cost per booked job | Spend ÷ booked jobs. This is the real efficiency metric. Google Ads at $1,600 ÷ 4 booked jobs = $400/booked job. Yelp at $400 ÷ 1 booked job = $400/booked job. Same cost per booked job, very different volume. |
| Revenue per dollar spent | Total revenue ÷ spend. Every dollar spent on this channel generates X dollars in revenue. Healthy benchmark for residential service businesses: 3-5x (every $1 in marketing generates $3-5 in revenue). Below 2x: the channel is burning cash. |
Sheet 4: Monthly Trend View
The 12-month rolling view that catches marketing bloat before it becomes a crisis. This is the strategic dashboard — not the weekly tactical view, but the quarterly trend that tells you whether your marketing investment is getting more or less efficient over time.
| Metric | Why it matters |
|---|---|
| Total marketing spend | All channels combined, month by month. Is it trending up? That's fine — IF revenue is trending up proportionally. |
| Total revenue from marketing | Sum of all booked revenue attributed to marketing channels. This is the numerator in the efficiency ratio. |
| Total gross profit from marketing | Revenue minus labor and materials. This is the number you actually keep. |
| Marketing cost as % of revenue | Total spend ÷ total revenue. Healthy benchmark for residential service businesses: 5-12%. If this number is above 15% and climbing, your marketing is getting less efficient — you're spending more to generate the same revenue. This is the bloat warning. |
| Revenue per marketing dollar | Total revenue ÷ total spend. If this was 4.2x last year and is 3.1x this year, your marketing efficiency is declining 26% — even if total revenue is up. You're growing, but you're paying more for each dollar of growth. |
| Month-over-month spend change vs revenue change | The critical comparison. If spend is up 15% MoM but revenue is up only 5%, you're buying growth at an increasingly expensive rate. The trend line will eventually cross — and when it does, you're losing money on marketing. |
Sheet 5: Technician Close Rate by Lead Source
The hidden variable that most contractors never discover: different technicians close different lead sources at wildly different rates. Your best closer should be handling your most expensive leads. This sheet reveals the matchups that maximize ROI.
| Metric | What it tells you |
|---|---|
| Technician name | Each tech gets their own row section. |
| Lead source | Google Ads, Facebook, Yelp, Angi, etc. Sub-rows per technician per channel. |
| Leads assigned | How many leads from this channel were assigned to this tech. |
| Quotes given | How many turned into quotes. |
| Jobs booked | How many quotes turned into booked jobs. |
| Close rate | Jobs booked ÷ leads assigned. Mike closes 38% of Google Ads leads. Dave closes 12%. Mike should be handling every Google Ads lead — they cost $72/lead and Dave is burning 88% of them. |
| Average job revenue | Does this tech close bigger jobs from certain channels? Mike's average Google Ads job is $8,200. Dave's is $3,100. The channel isn't the only variable — the technician is. |
The technician-channel matching insight: One HVAC contractor discovered that his senior tech (22 years experience, $38/hour) closed 41% of Google Ads leads at an average job size of $9,400 — while his junior tech (4 years experience, $24/hour) closed 14% of the same leads at $3,800 average. Simply routing all Google Ads leads to the senior tech — and all Yelp leads to the junior tech (where the junior tech actually outperformed at 28% vs 22%) — increased total booked revenue by $58,000/year without spending a dollar more on marketing. The tracker didn't change the ads. It changed who answered the phone.
How to set up basic call tracking without software: the $0 Google Voice method
You don't need CallRail to know which channel drove the call. You need one dedicated phone number per channel and a CSR who asks one question. Here's the $0 setup:
- Create one Google Voice number per marketing channel. Google Voice is free. Create a Google account for each channel (or use one account — you can have multiple Voice numbers). Set up: Google Ads number, Facebook number, Yelp number, Angi number, Thumbtack number. Each forwards to your main business line. Cost: $0. Time: 30 minutes.
- Update each platform with its dedicated number. In Google Ads, use the Google Voice number as your call extension. On your Facebook page, list the Facebook Voice number. On Yelp, the Yelp Voice number. Angi and Thumbtack: the Angi and Thumbtack numbers. Now, when a call comes in, you know which channel generated it just by looking at which Voice number rang.
- Standardize the CSR script. "Thanks for calling [your company name] — and just so I can direct you properly, how did you hear about us today?" This confirms the attribution (the Voice number tells you the channel, but the customer might say "I saw you on Google AND a friend recommended you" — multiple touchpoints). The CSR logs the answer in the "Lead Source" column of Sheet 2.
- Track the call outcome immediately. Before the CSR hangs up, they log: name, phone, source, and call outcome (booked appointment, quote requested, price shopper, wrong number, etc.). This takes 15 seconds per call. If they don't log it now, it won't get logged.
The 5 marketing metrics that actually matter for contractors (and the 15 that don't)
Marketing platforms will show you dozens of metrics — impressions, clicks, CTR, CPC, quality score, reach, engagement, frequency, CPM, view rate, and on and on. Most of them are noise. Here are the only 5 that matter for a service business:
| Metric | Why it's one of the 5 |
|---|---|
| 1. Cost per booked job | Total spend on a channel ÷ number of jobs actually booked. This is the efficiency metric. A $72/lead channel that books 1 in 18 leads costs $1,296/booked job. A $50/lead channel that books 1 in 4 leads costs $200/booked job. The cheaper lead is 6.5x more expensive per booked job. |
| 2. Revenue per marketing dollar | Total revenue from a channel ÷ total spend on that channel. Every dollar spent generates X dollars in revenue. If this number is below 3x, the channel is underperforming. If it's above 5x, double down. |
| 3. Marketing cost as % of revenue | Total marketing spend ÷ total revenue. Healthy range: 5-12%. Above 15%: your marketing is too expensive for your revenue. Below 5%: you're probably underinvesting and leaving growth on the table. |
| 4. Channel profitability ranking | Rank channels by total gross profit generated (not revenue, not leads — profit). The #1 channel gets more budget. The bottom channel gets cut or restructured. This ranking, updated monthly, is your budget allocation meeting in one number. |
| 5. Lead-to-book time | Average days from lead received to job booked. If Google Ads leads book in 3 days and Facebook leads take 18 days, your Facebook follow-up process is broken — not the channel. Fix the process before cutting the channel. |
The 15 metrics that DON'T matter for contractors: impressions, clicks, CTR, CPC, quality score, reach, engagement rate, frequency, CPM, view rate, video completion rate, page likes, post shares, follower count, and "brand awareness." These are platform metrics designed to make the platform look good. They measure the platform's performance, not your business's performance. Ignore them.
The 15-minute weekly marketing review process
This is the discipline that changes everything. Every Monday morning, before you do anything else, the office manager or owner opens the tracker and follows this 5-step process:
- Pull spend numbers (3 minutes). Log into each platform's billing dashboard. Pull the actual amount charged last week. Log it in Sheet 1. Don't estimate — get the real number from the credit card statement or platform billing page.
- Log new leads (5 minutes). Go through the CSR log from last week. Enter every lead into Sheet 2: date, source, customer name, call outcome. If the CSR didn't log the outcome, they need to — today. This is the most important 5 minutes of the week.
- Update pipeline status (3 minutes). For every lead in the pipeline: did the quote go out? Did it book? Was the job completed? Was payment collected? Update the status. This step is where you discover the leads that are stuck — the quote that was sent 3 weeks ago and never followed up on, the job that was completed but the invoice wasn't sent.
- Review Channel ROI Dashboard (2 minutes). Sheet 3 auto-calculates from Sheets 1 and 2. Scan the ROI column. Any channel with negative ROI? Any channel where spend is up but revenue is flat? These are the decisions: reallocate, restructure, or cut.
- Adjust next week's budget (2 minutes). Based on the Channel ROI Dashboard, decide where to spend next week's budget. Move money from the worst-performing channel to the best. This is not a big strategic decision — it's a 2-minute reallocation based on data. Over 52 weeks, these small adjustments compound into a marketing budget that's optimized to profit, not to spend.
How to calculate your break-even cost per lead
Before you can evaluate whether a channel is "too expensive," you need to know what you can afford to pay for a lead. The formula:
Break-even cost per lead = Average job gross profit × Close rate
Example: Your average job generates $2,800 in gross profit. Your close rate across all leads is 25% (1 in 4 leads books a job). Your break-even cost per lead = $2,800 × 0.25 = $700. You can pay up to $700 per lead and still break even. If Google Ads is costing you $72/lead and you close 25% of them, your cost per booked job is $288 — and you make $2,512 in gross profit per booked job. That's a 872% ROI. Spend more on Google Ads. If Angi is costing you $150/lead and you close 8% of them (Angi leads are notoriously price-sensitive), your cost per booked job is $1,875 — and you make $925 in gross profit. That's a 49% ROI. Still profitable, but the close rate is the problem — not the cost per lead.
When to invest in CallRail / ServiceTitan Marketing Pro vs when the spreadsheet is enough
The 5-sheet tracker handles the 80/20 for most contractors. Upgrade to paid call tracking when you hit these triggers:
- $3M+ annual revenue. At this volume, the CSR time savings from automated call attribution (CallRail automatically tags the source) outweigh the $45-300/month cost.
- 5+ technicians running calls. When you have multiple techs running leads from multiple channels, the manual tracking burden multiplies. CallRail's call recording also lets you audit CSR performance — which becomes critical at scale.
- Running ads in multiple metro areas. If you're spending $5,000+/month across 3+ cities, the channel-level attribution isn't enough — you need geo-level attribution too. CallRail's dynamic number insertion handles this automatically.
- You need call recording for CSR training. If you suspect your CSRs are fumbling leads but can't prove it, call recording pays for itself in recovered bookings. One recovered $8,000 HVAC install pays for a year of CallRail.
Before any of these triggers, the spreadsheet is not just sufficient — it's better. It forces the discipline of manual tracking, which builds the habits and processes that make the software useful when you eventually upgrade. Buying CallRail before you have the tracking discipline is like buying a gym membership before you've established the habit of working out — you'll pay for 6 months and never use it.
Red flags: when your marketing is burning cash without you knowing it
- Any channel where spend is growing faster than revenue for 3+ consecutive months. This is the definition of marketing bloat. The channel is becoming less efficient, and you're paying more for each dollar of growth. If Google Ads spend is up 20% this year but Google Ads revenue is up only 8%, you're buying growth at an increasingly expensive rate.
- Any channel with a close rate below 10% after 30+ leads. If 30 people called from a channel and fewer than 3 booked, the problem is either the lead quality (the channel is sending the wrong people) or the CSR/tech handling those leads (the right people are calling but the process is failing them). Either way, fix it or cut the channel.
- Marketing cost above 15% of revenue. For residential service businesses, marketing should be 5-12% of revenue. Above 15% means your marketing is too expensive for your revenue level — you're over-investing relative to your ability to close and deliver.
- CSRs not logging call outcomes. If you can't get your CSRs to spend 15 seconds logging the call outcome, you don't have a marketing tracking problem — you have a management problem. The tracker is useless without the data, and the data starts with the CSR.
- You're making budget decisions based on "how things feel" instead of the Channel ROI Dashboard. Gut feelings about marketing are wrong more often than they're right. The contractor who "feels like Facebook is working" is usually the contractor who's never looked at the data. The data often shows Facebook is great for brand awareness and terrible for booked revenue — the opposite of the gut feeling.
Do this week: your marketing ROI tracker in 2 hours
5 moves to stop guessing which half of your marketing is working
- Build the 5-sheet tracker. Create the Google Sheet with the five tabs described above. Start with the current month — don't try to backfill 12 months of data. Begin tracking from today forward. The first month will be messy (you'll discover data gaps and process problems), but by month 2 the system will be routine.
- Set up Google Voice numbers. Create one per channel. Update each platform with its dedicated number. This takes 30 minutes and gives you instant channel-level call attribution for $0.
- Implement the CSR script. Train every person who answers the phone: "How did you hear about us today?" and log the answer immediately. The first week will be inconsistent — CSRs will forget. By week 3, it's habit. The key: make it part of the call close, not an afterthought.
- Run the first Monday morning review. Even if the data is incomplete, go through the 5-step process. You'll immediately see which channels are missing data (the CSR didn't log the call outcome) and which channels look promising (high close rate, high average job size). The first review is about discovering what you don't know.
- Reallocate budget based on data, not gut. After one month of tracking, look at the Channel ROI Dashboard. Move 20% of the budget from the worst-performing channel to the best. This is a small, safe adjustment — not a radical change. After month 2, move another 20%. By month 6, your marketing budget will be allocated to the channels that actually produce profit, not the channels that produce the most impressive platform dashboards.
Total setup time: 2 hours. Total cost: $0. Annual marketing waste recovered: $10,000-25,000 in reallocated spend — plus the profit from leads that were falling through the follow-up gap and are now being captured and closed.
Frequently asked questions
How much money do contractors waste on marketing channels that don't produce profitable jobs?
For a residential HVAC contractor spending $3,200/month across Google Ads, Facebook, Yelp, and Angi, the typical waste is 30-50% of spend — $1,000-1,600/month or $12,000-19,000/year — on channels or campaigns that don't produce profitable jobs. The waste is invisible because most contractors track only "calls" or "leads" (the platform's metric), not the full journey from lead → quote → booked job → completed work → collected payment → gross profit. A "lead" that never books a job still costs money. The 5-sheet free marketing ROI tracker closes this gap: log every dollar of spend, track every lead through the full pipeline, and the spreadsheet calculates ROI per channel automatically. If you're spending $20,000-50,000/year on marketing with no ROI data, using the tracker for 15 minutes a week typically reveals $10,000-25,000/year in reallocatable spend. Jobs Done Labs' $30K Guarantee covers marketing ROI automation: if documented recovery doesn't reach $30K in 90 days, you pay nothing.
Do I need CallRail or WhatConverts to track which marketing channels are working?
No. Call tracking software like CallRail ($45-300/month), WhatConverts ($30-150/month), and Invoca ($500-2,000/month) provides advanced features — dynamic number insertion, call recording, whisper messages — but they're overkill for a contractor under $3M revenue who just needs to know which channels produce profitable jobs. The free Google Voice method (one dedicated phone number per marketing channel, all forwarding to your main line) costs $0 and gives you channel-level call attribution. Combined with the "How did you hear about us?" script your CSRs ask on every call, you get 80% of the attribution accuracy for $0. The trigger to upgrade to CallRail is usually $3M+ annual revenue, 5+ technicians, or running ads in multiple metro areas — at that point the per-call recording and automated attribution saves enough CSR time to justify the cost.
How does the $30K guarantee apply to contractor marketing ROI tracking?
The $30K-recovered-in-90-days guarantee covers all operational automation we build for your service business — including marketing ROI tracking, lead source attribution, and channel profitability dashboards. Recovery is calculated from: documented marketing spend reallocated from losing channels to winning ones (vs continuing blind spend), leads that were falling through the follow-up gap now captured and converted, admin time saved from manual marketing tracking, and improved close rates from the technician-by-channel matching system (your best closer handles your most expensive leads). If the documented total across all automations doesn't reach $30K within 90 days, you pay nothing.
What's the fastest way to figure out which marketing channel is actually working without spending any money on software?
The 3-step $0 method: (1) Dedicate one Google Voice number per marketing channel — one for Google Ads, one for Facebook, one for Yelp, one for Angi. All forward to your main line. Cost: $0. Setup time: 30 minutes. (2) Standardize your CSR script: "Thanks for calling — and just so I can log this properly, how did you hear about us today?" This one question, asked consistently on every call, gives you channel attribution. Track the answer in the lead source column of the tracker. (3) Follow every lead through the pipeline: call → quote → booked → completed → collected → profit. The critical step most contractors miss is the profit calculation — a $89 service call that cost $130 to serve (drive time, labor, vehicle cost) is a loss, not a win, even if the channel "drove the lead." The free tracker does this math automatically. Start with step 1 today — even without the full tracker, just knowing which phone number is ringing tells you which ads are working.
Stop guessing which half of your marketing is working
Book a free 15-minute audit. We'll map your current marketing spend — how much you're spending on each channel, how you're tracking leads today, where the attribution gaps are — and what a custom marketing ROI automation would look like for your exact trade, technician count, and ad spend. No pitch, no pressure. You keep the tracker template either way.
Book your free audit →