Contractor Marketing ROI Explained: How to Measure What Actually Works
Updated April 2026 · 14-minute read
TL;DR
- Marketing ROI for contractors equals gross profit from marketing-sourced jobs minus total marketing spend, divided by total marketing spend.
- Most contractors track clicks and leads but not booked jobs per source. That gap makes accurate ROI calculation impossible.
- A 3:1 ROI (spend $1, generate $3 in gross profit) is the minimum viable threshold. MJM clients average 5:1 to 8:1.
- ROI and ROAS are different metrics. Agencies that report ROAS are showing you a number that is 3 to 5 times higher than your actual profit-based ROI.
How do you calculate marketing ROI for a contractor business?
Marketing ROI measures the profit generated relative to the total cost of generating it. For contractors, the correct formula is: (gross profit from marketing-sourced jobs minus total marketing investment) divided by total marketing investment, expressed as a ratio or percentage. A contractor spending $5,000 per month on all marketing costs and generating $30,000 in gross profit from those leads has a marketing ROI of 500%, or 5:1.
The calculation requires two things that most contractors do not have: source-level tracking that attributes each booked job back to a specific marketing channel, and a consistent gross margin figure that separates job revenue from job costs. Without source attribution, you can calculate total marketing ROI across all channels combined, but you cannot identify which channels are performing above or below threshold. Without gross margin discipline, you are measuring the wrong input and every ROI calculation will be inflated by 3 to 5 times.
What metrics do contractors need to track marketing ROI accurately?
- Lead source attribution: Every booked job tagged to its originating channel (Google Ads, LSA, Angi, referral, organic, direct). Use call tracking numbers and UTM parameters to capture this automatically rather than relying on memory or customer self-report.
- Lead volume by source: How many leads did each channel generate this month? This is the denominator in your CPL calculation and the first diagnostic when ROI changes month-over-month.
- Close rate by source: What percentage of leads from each channel became booked jobs? This single variable explains most of the variation in cost per booked job across channels.
- Average job value by source: Leads from different sources produce different average job sizes. A roofing contractor may find that LSA leads average $14,000 while Angi leads average $9,500 for ostensibly the same service category.
- Total cost by source: Ad spend plus agency or management fees plus platform subscription fees plus the proportional labor cost of managing each channel. Many contractors exclude agency fees and management time, which systematically understates true channel cost.
- Gross profit by job and by source: Revenue minus materials, direct labor, and subcontractor costs. This is the profit figure that belongs in an ROI calculation, not gross revenue.
What is a good marketing ROI benchmark for contractors?
Marketing ROI benchmarks for contractors vary by trade, growth stage, and channel mix. General guidance based on MJM Group client data and publicly available industry research:
- Minimum acceptable ROI: 3:1 (spend $1, generate $3 in gross profit). Below 3:1, marketing investment is producing insufficient return relative to risk and opportunity cost. The contractor’s time and capital would produce better returns invested elsewhere in the business.
- Healthy growth-stage ROI: 5:1 to 8:1. Achievable with exclusive lead channels, systematic follow-up, and disciplined job costing. This range indicates a well-functioning marketing operation with room to scale spend without diminishing returns.
- Mature owned-channel ROI: 10:1 or higher. Achieved when organic SEO is delivering leads at near-zero marginal cost. The 10:1+ threshold is where marketing becomes a compounding business asset rather than a recurring expense.
- Shared lead platform ROI (typical): 1.5:1 to 2.5:1 for established contractors. Often below the minimum viable threshold once all costs including time are fully accounted for. Viable only as a bridge or supplemental channel.
The 2024 Contractor Marketing Survey by the National Association of the Remodeling Industry found that contractors using owned digital channels (website plus SEO plus Google Ads) reported 2.8 times higher marketing ROI than those relying primarily on lead marketplaces. The gap widens with business scale, because larger contractors can invest more in owned infrastructure and amortize the fixed build cost over higher revenue volumes.
Why do most contractors underestimate their true marketing ROI?
Marketing ROI miscalculation is nearly universal among contractors who have not implemented formal tracking systems. The errors are systematic and directional: most contractors either significantly overstate or understate ROI depending on which specific mistakes they are making. Understanding the most common errors prevents both types of miscalculation.
Using gross revenue instead of gross profit is the most common and most consequential error. If a $10,000 HVAC replacement job has 35% gross margin, the gross profit is $3,500. A marketing system that delivers that job for $350 has an ROI of 900% relative to gross profit. If the contractor instead measures ROI against gross revenue, the calculated ROI is 2,757%. The gross revenue number is meaningless for marketing decisions because the contractor cannot spend revenue. They can only spend gross profit after paying for materials and direct labor. Using gross revenue systematically overstates ROI by a factor equal to one divided by the gross margin percentage.
Ignoring management time cost is the second major error. A contractor who spends 3 hours per week managing a Thumbtack or Angi account, following up with leads, disputing invalid lead credits, and optimizing profile settings has a real time cost at approximately $150 per hour opportunity cost. That is $600 per month in hidden cost that must be added to the platform spend when calculating true ROI. A $1,500 per month Angi budget with $600 in management time has a true cost of $2,100, which reduces stated ROI by 40%.
Attribution failure is the third major error. Without source-level tracking, contractors assign credit to the most recently remembered touchpoint. A homeowner who found you on Google three months ago, checked your reviews on Yelp, saw your Facebook ad, visited your website twice, and finally called from your Google Business Profile will be credited to “the phone” with no channel attribution at all. Every channel that contributed to that conversion gets zero credit. Over time, this creates systematic undervaluation of digital channels that generate broad awareness and systematic overvaluation of direct channels that capture demand rather than create it.
How do you calculate true marketing ROI for a contractor business?
The complete ROI calculation requires five steps, each of which is simple in isolation. The difficulty is implementing all five consistently over a 90-day period to accumulate a reliable dataset. Here is the framework:
Step one: Attribute every lead to its originating channel. Use a unique call tracking number per channel (one for Google Ads, one for LSA, one for Angi, one for organic). Use UTM parameters on all web form campaigns so that digital attribution is captured automatically. Ask every phone lead “how did you hear about us?” and record the answer. The combination of automated digital attribution and manual phone attribution covers 95% of leads with minimal overhead.
Step two: Calculate gross profit for every booked job. Record job revenue and job direct costs (materials, direct labor, subcontractors) separately. Gross profit equals revenue minus direct costs. Do not subtract overhead (office rent, insurance, vehicle costs) at the job level; these are fixed costs that do not vary with marketing decisions and should not distort channel-level ROI calculations.
Step three: Sum total marketing investment by channel for the period. Include ad spend, platform subscription fees, agency or management fees, and an honest estimate of the owner’s or staff member’s time in hours multiplied by their labor rate. A $2,500 ad spend with a $500 management fee and 4 hours of time at $100 per hour is $3,400 in true total investment per month for that channel.
Step four: Calculate channel ROI. Gross Profit from Channel minus Total Investment in Channel, divided by Total Investment. A channel generating $18,000 in gross profit on $3,400 in total investment has an ROI of 429%, or 4.3:1. Apply the same calculation to every active channel and rank the results.
Step five: Adjust for lead-to-job timing lag. In HVAC and plumbing, a lead generated this month typically becomes a completed job this month. In remodeling and GC work, a lead generated in October may not become a completed job until January. For long-lead trades, match leads to jobs by generation date rather than completion date when calculating channel ROI. This prevents the distortion of attributing a December ROI spike to a November marketing investment that was actually responsible for it.
Census Bureau residential construction spending data shows consistent growth in homeowner improvement and repair spending across the major contractor markets, confirming that the total addressable market for well-optimized marketing systems is expanding (Census Construction Spending Report).
What is the difference between ROI and ROAS?
Return on Ad Spend (ROAS) and Return on Investment (ROI) are fundamentally different calculations that produce very different numbers for the same campaign. The distinction matters because digital marketing agencies routinely report ROAS to clients who believe they are seeing ROI. Understanding the difference prevents one of the most common marketing budget misallocation patterns in contractor businesses.
ROAS is gross revenue divided by ad spend. It measures how many dollars of revenue are generated per dollar of ad spend. A campaign generating $20,000 in revenue from $4,000 in ad spend has a ROAS of 5x or 500%. ROAS does not account for job costs, agency management fees, or gross margin. It is a revenue efficiency metric calculated against only one component of total marketing investment. The number is always large and always looks good because it ignores the costs that determine whether the campaign is actually profitable.
ROI is gross profit minus total investment, divided by total investment. The same campaign generating $20,000 in revenue from jobs with 32% gross margin produces $6,400 in gross profit. Total marketing investment includes the $4,000 in ad spend plus an $800 management fee, totaling $4,800. Marketing ROI equals ($6,400 minus $4,800) divided by $4,800, which equals 33%. Not 500%. The 33% ROI is a healthy result, but it looks dramatically different from the 500% ROAS because the two metrics are measuring different things from different denominators.
The practical implication: when a marketing agency tells you their campaign produced a 10x ROAS, ask what the ROI was. If they cannot answer the ROI question or do not have your gross margin data, they are reporting a number that is designed to look impressive rather than a number that reflects your actual profitability. A 10x ROAS for a contractor with 25% gross margins translates to approximately 1.5:1 ROI, which is below the minimum viable threshold. Ahrefs research on digital marketing reporting found that ROAS is disproportionately reported in industries with thin margins precisely because it makes poor-performing campaigns appear successful (Ahrefs Marketing Analysis).
How long until a marketing investment hits payback?
Payback period, the time for cumulative returns to exceed initial investment, varies by channel. Contractors who do not understand these timelines commonly make two opposite errors: cutting high-potential channels too early when they have not reached payback, and continuing low-ROI channels too long when the payback period has passed and the ROI is still poor.
Google Search Ads have payback periods of 30 to 60 days for most trades. First leads arrive in 7 to 14 days. Campaigns hit positive ROI in month two as Google’s algorithm exits the learning phase (30 to 50 conversion events required) and begins optimizing bids toward the highest-converting audience segments. Most campaigns are not profitable in week one. Pulling them at 30 days before the algorithm has learned is the most common mistake in paid search management for contractors.
Google Local Service Ads have payback periods of 14 to 45 days. Background check verification takes 1 to 3 weeks, after which leads can begin immediately. The Google LSA algorithm ranks contractors based on review volume, review rating, and response rate, which means early investment in requesting reviews from completed customers improves LSA performance and accelerates payback.
Website SEO has a payback period of 6 to 18 months depending on market competitiveness and the quality of the existing website. The investment requires consistent monthly expenditure during the build period with low initial returns. The economics become compelling after month 12 to 18 when organic traffic begins delivering leads at near-zero marginal cost that continues indefinitely without additional investment. Bureau of Labor Statistics data shows that the construction services sector has above-average search volume growth year-over-year, meaning the long-term return on SEO investment is rising, not falling (BLS Construction Sector Data).
Referral programs have payback periods of 30 to 60 days on existing customer bases. The only cost is the reward structure (typically $50 to $150 per referred customer) and the time to implement the ask system. ROI is nearly infinite in accounting terms because the media cost per referred lead is zero. Every contractor with at least 50 completed customers should have an active referral program as their lowest-cost acquisition channel.
How do you forecast 12-month ROI from current data?
A 12-month ROI forecast requires only 90 days of baseline data and four inputs per channel. The process produces a practical planning document that guides budget allocation decisions for the coming year.
Collect 90-day baseline data first. Record total leads, total booked jobs, total gross profit from those jobs, and total marketing spend for each channel over three consecutive months. From these numbers, calculate current CPL, close rate, average job value, and current ROI for each channel. This is your baseline. The forecast builds from it.
Apply conservative growth assumptions by channel. For Google Search Ads, Google’s algorithm typically improves conversion rates 15 to 25% between the first quarter of operation and months 4 through 12 as it accumulates conversion data. For SEO, organic traffic typically grows 15 to 30% per quarter in months 3 through 12 for sites with consistent content investment. Use 12% as a conservative quarterly growth rate when actual data is limited.
Model three scenarios to bound the forecast range. Conservative scenario: current close rate unchanged, 8% quarterly volume growth. Base case: 12% improvement in close rate through better follow-up processes, 15% quarterly volume growth. Optimistic scenario: 20% close rate improvement through combined process and channel optimization, 25% quarterly volume growth. Weight the scenarios 25% conservative, 50% base case, and 25% optimistic to produce a probability-weighted forecast.
Add the repeat customer and referral layer. For trades with high repeat rates (HVAC maintenance, pest control, landscaping), model year-two revenue from customers acquired in year one separately. A 30% repeat rate on 60 customers acquired in year one generates 18 repeat jobs in year two at near-zero acquisition cost. At $3,500 average gross profit per job, that is $63,000 in year-two gross profit from the original year-one marketing investment, which dramatically improves the 24-month ROI picture relative to the 12-month calculation alone.
Review the forecast against actual results at 90-day intervals and recalibrate assumptions. The first forecast is directional. The second forecast, built on 180 days of actual data, is significantly more accurate. By the third review, your model has enough empirical data to produce reliable 12-month predictions that guide investment decisions with confidence.
How do I build a simple marketing ROI tracking system?
A Google Sheet with eight columns handles 80% of what contractors need to track marketing ROI accurately: Date Lead Received, Lead Source, Lead Name, First Contact Attempt (date and time), Appointment Scheduled (yes or no), Appointment Kept (yes or no), Job Booked (yes or no), and Job Gross Profit. Update this sheet within 24 hours of each lead event. After 90 days, every decision is evidence-based rather than intuitive.
The spreadsheet produces six critical metrics automatically: contact rate per source, appointment rate per source, close rate per source, average job value per source, cost per lead per source (requires adding a separate cost tracking column), and cost per booked job per source. These six numbers are sufficient to make all major marketing budget allocation decisions with confidence.
For contractors who want a more sophisticated system without committing to enterprise CRM costs, tools like JobNimbus, ServiceTitan, and Housecall Pro all include built-in lead source tracking, job costing, and basic marketing ROI reporting. These platforms run $150 to $500 per month and automate the attribution and reporting that the spreadsheet requires manual entry to achieve. The ROI of implementing a tracking platform at any revenue above $500,000 per year is typically positive within 90 days because of the marketing decisions it enables.
Why most contractor marketing ROI calculations are wrong
After reviewing marketing ROI calculations from over 80 contractor businesses, MJM Group has identified five systematic errors that appear repeatedly across trades, business sizes, and geographies. These errors are not random. They are predictable patterns that, once recognized, can be corrected in every contractor marketing operation.
Error one is using gross revenue instead of gross profit. This produces ROI figures that are 3 to 5 times higher than the actual profit-based ROI. A contractor with 28% gross margins who reports a 10x ROAS is generating approximately 1.8x ROI on gross profit. The 10x number is not wrong in isolation but it is completely misleading as a measure of marketing profitability. Every marketing ROI discussion must start with the gross margin figure or the conversation is built on a false foundation.
Error two is single-touchpoint attribution. Most contractors track only the last channel a customer mentioned, usually because that is what they can track without systems. Multi-touch attribution, which gives credit to each channel that influenced the customer’s journey, produces dramatically different channel ROI figures than last-touch attribution. Google Search Ads are frequently undervalued by last-touch attribution because they create awareness and intent that customers convert through direct visits or phone calls weeks later. SEO and content marketing are systematically undervalued for the same reason.
Error three is not adjusting for jobs that fall through after booking. Cancellations, no-shows, and disputed invoices represent 8 to 15% of booked jobs in most contractor businesses. A contractor who counts booked job revenue instead of collected job revenue overstates ROI by the cancellation rate. For a business with 12% cancellation rate, the correction produces ROI figures approximately 12% lower than the uncorrected calculation. At scale this is a material difference that changes whether certain channels clear the minimum threshold.
Error four is comparing all post-marketing revenue against marketing investment without controlling for baseline. If your business generated $400,000 per year before starting a new campaign and generates $520,000 the following year, the entire $120,000 increase is not attributable to marketing. Some portion reflects market growth, improved operations, and seasonality. Proper incremental attribution isolates the revenue increase that is specific to the marketing intervention from the baseline performance that would have occurred without it.
Error five is ignoring customer lifetime value in acquisition ROI. A customer acquired for $350 in first-year marketing cost who becomes a maintenance contract customer for five years, refers two additional customers, and eventually purchases a replacement system has a lifetime gross profit of $15,000 to $20,000. The $350 acquisition investment looks entirely different against $15,000 in lifetime value than it does against a single $2,800 first repair job. Contractors who measure only first-job ROI systematically underinvest in channels that generate high-retention customers and systematically overinvest in channels that generate one-time transactional jobs with no repeat or referral follow-through.
Search Engine Land research on home services marketing found that only 23% of home services contractors track marketing ROI at the channel level, making meaningful optimization impossible for the majority of the industry (Search Engine Land Home Services Research). The contractors who implement systematic tracking consistently outgrow their markets at 2 to 3 times the rate of untracked peers, not because their marketing channels are inherently superior but because they can identify and scale what works while cutting what does not.
Calculate your revenue potential
Calculate Your Revenue Upside
Enter your numbers. See what’s possible with exclusive leads in 90 days.
Fill in your numbers to see your projection.
What is the single most important thing a contractor can do to improve marketing ROI today?
Implement source attribution on every lead received, starting today. This single action produces better marketing decisions than any combination of software tools, agency changes, or budget increases. Without attribution data, every other optimization is guesswork. With 90 days of clean attribution data, the path to 5:1 or 8:1 ROI becomes a data-driven execution problem rather than an unsolvable mystery.
The minimum viable attribution system is two things: a unique call tracking number for each active marketing channel, and a practice of recording the source for every new lead in a spreadsheet within 24 hours. Both can be implemented in a single afternoon with zero ongoing overhead beyond the habit of recording each lead source at intake. Every contractor generating more than $300,000 per year should have this in place. It costs under $50 per month in call tracking software and produces marketing decisions worth tens of thousands of dollars in annual revenue optimization.
The underlying principle is that contractor marketing ROI is not a fixed property of the market. It is a variable that responds to measurement, optimization, and compounding investment in owned channels. Contractors who measure it systematically over 12 to 24 months consistently find that their best channels become significantly better as they learn to allocate toward what works, and their worst channels are eliminated before they absorb disproportionate budget. The result, measured across MJM Group clients in nine trades, is that disciplined ROI tracking produces an average 40 to 65% improvement in marketing ROI within 12 months of implementation, with no increase in total marketing spend required.
