Customer Acquisition Cost for Contractors in 2026
Find what each signed customer costs after your people finish calling, driving and quoting. Compare that cost with the money the account can leave over five years.
Customer acquisition cost for contractors equals marketing spend plus sales labor, estimating time and acquisition tools, divided by new signed customers. Count unsuccessful pursuits too. In the worked comparison, $68 shared leads produce a $1,257 all-in CAC, while a commercial target list produces a $914 CAC after outreach labor. Ground Control by PorchRocket supplies buildings selected for your trade, so you can test whether better account fit earns more signed work from the same sales hours.
What matters most
- A $68 lead costs $850 per signed customer at an 8% overall close rate, before sales labor and tools.
- The six-channel model produces acquisition costs from about $845 to $1,257 after people hours and other campaign expenses.
- A modeled $2,760 annual commercial service account produces about $3,200 in five-year contribution at a 38% contribution margin and 75% annual retention.
- Ground Control commercial lists cost $10 to $20 per building, arrive within 48 hours after payment, and include credit back for wrong matches reported within 30 days.
Say a Columbus HVAC shop buys an inquiry for $68, shared with several contractors. Across 100 such inquiries, eight customers sign. That is $6,800 ÷ 8, or $850 per customer, before anyone answers the phone or drives to an estimate.
Now put $2,000 toward a list of 100 fitting commercial buildings at $20 each. If five accounts sign after outreach, the list expense is $400 per account. Add the calling and quoting time and that number climbs. The difference between $850 and $400 is only the start of the comparison.
Ground Control by PorchRocket supplies the property lists for that second route. I would judge every route by signed customers and the contribution their work leaves. The six-channel comparison is an illustration for this HVAC shop, with campaign prices, hours and conversion rates set as planning assumptions; published prices and research are identified separately.
What belongs in a contractor’s acquisition cost?
Add the money and people hours spent winning new accounts, then divide by the number of new customers who signed from that same group of prospects.
Use this formula:
CAC = (marketing spend + acquisition labor + allocated tools and other pursuit expenses) ÷ new signed customers.
Acquisition labor includes the office manager returning inquiries and the estimator checking access before quoting. Count the unsuccessful pursuits. A lost estimate consumed hours just as surely as a signed one did.
For the shared-lead campaign, put 58 hours against calling, driving, estimating and follow-up. At a blended planning cost of $52 an hour, that is $3,016. Add $240 for the campaign’s share of tools and other expenses. Now the calculation is ($6,800 + $3,016 + $240) ÷ 8 = $1,257 per new customer.
The advertising report still says $68. Both numbers describe a cost, but only one includes the work your office did after the inquiry arrived.
Define a customer before counting one. I would count a new buying account at its first signed work authorization, then keep completion and collection dates in separate columns so I can track customers acquired and cash received on different schedules. A new property manager signing for four buildings under one buying relationship counts as one acquired customer with four service locations. Otherwise, one portfolio makes your CAC look four times better overnight.
Do not put a returning customer’s repair order into the new-customer denominator. Track that order as repeat business. If you want a cost-per-job report too, create one beside CAC and label it by job.
Keep delivery expenses out of acquisition cost. An unpaid pre-sale survey belongs in acquisition, while the technician’s hours performing an authorized repair belong against job revenue, even if the same person does both jobs on the same afternoon. If a paid inspection is itself the service you sell, record its delivery cost against that inspection’s revenue. Decide where each activity belongs once, then use the same treatment every month.
Shared expenses need an allocation rule. A subscription that supports several campaigns needs to be divided among them by recorded hours or another consistent usage measure, with those shares adding back to the bill your office paid. Allocate management fees the same way. An annual website bill should not disappear because you are reviewing a one-month campaign; assign the portion supporting that period’s acquisition work.
The SBA’s marketing and sales guidance recommends tracking marketing costs and comparing them with the revenue they generate. For a trade owner, I would carry that comparison through to contribution after delivery expenses. A signed job that consumes nearly all its price in materials cannot fund much acquisition.
Comparing channel prices available in 2026
Published sources provide a $90.92 search-ad lead benchmark and $0.26 EDDM Retail postage, while marketplace inquiries and local service ads require campaign-specific pricing.
Start with what each seller bills for. Someone requesting a repair enters your sales process at a different point from a building owner whose name you found in a property record, even if both are inside your service area. Treating them as identical leads makes a cheap contact file look better than it has earned.
Search ads and local service ads
WordStream’s 2026 search advertising report reports $90.92 per lead for Home and Home Improvement across Google and Microsoft search ads. Its study covers 13,474 U.S. campaigns across industries from April 2025 through March 2026. The methodology says its reported averages are medians. This is a broad category benchmark for search advertising, not a roofing customer acquisition cost or a commercial HVAC account price.
I would use that figure as a first budget check, then replace it with your own cost per inquiry, keeping campaigns for emergency repairs separate from campaigns seeking annual maintenance agreements. They sell different work.
Google’s Local Services Ads pricing explanation describes a pay-per-lead model, with prices varying by location, job type and bidding mode. Its page does not give one national contractor rate. Get the budget estimate for your trade and territory, then add the cost of answering and qualifying those inquiries.
In the comparison below, search inquiries cost $91 and local service inquiries cost $74.
Bought leads
Angi Leads’ own FAQ says customer requests are connected with multiple service professionals and that lead fees vary with job size. Ask for your account’s price and charging terms before ordering.
Use the net charges after credits in your review, but leave the staff hours spent on rejected or unreachable leads in the labor column. A credit for the record does not restore the estimator’s afternoon.
Mail and canvassing
USPS lists EDDM Retail postage at $0.26 per piece in November 2026. That service delivers along selected routes. It is a different mailing choice from sending an addressed letter to a selected building owner.
For 2,000 route-mail pieces, postage is $520. Budget another $820 for printing at an assumed $0.41 each, plus $180 for design. The $1,520 campaign needs twenty inquiries to produce a $76 media-and-production cost per inquiry. One percent response is the assumption to test.
Canvassing gets its own labor line. The shop’s $180 allowance for materials and travel across 200 doors comes to $9 per inquiry if twenty people request follow-up, before the staff time needed to get those conversations. Calling that a $9 acquisition channel would leave out 64 hours of work.
List-based outreach
Ground Control commercial lists cost $10 to $20 per building, with owner information and decision-maker research priced as add-ons. The model budgets the upper end, $20, and has the shop research contacts within its recorded labor hours.
I would price the filters before choosing volume. An HVAC service department can select warehouses with visible rooftop units in its territory. A roof crew can select membrane roofs in the 10+ year age band. A lower record price has little value when the building cannot support the service you intend to sell.
Six channels compared by cost per signed customer
The shop’s six campaign cases produce all-in CAC from about $845 to $1,257, with contact rates and labor changing the ranking of their quoted lead prices.
The comparison follows each group until its first sales cycle has resolved, using the same $52 blended hourly allowance for sales and estimating work from the first attempt through the last quote. Count travel time too. Tools and other expenses are added separately. Each signed win is a new customer.
For inquiry channels, contact rate means a two-way sales conversation divided by inquiries. For the target list, it means conversations divided by property records. Close rate is signed customers divided by those conversations. This keeps an unanswered inquiry in the calculation.
| Channel | Cost per inquiry or target before labor | Starting inquiries or targets | Contact rate | Close rate after contact | New customers | All-in CAC |
|---|---|---|---|---|---|---|
| Search ads | $91 per inquiry | 100 inquiries | 50% | 20% | 10 | $1,252.80 |
| Local service ads | $74 per inquiry | 100 inquiries | 75% | 16% | 12 | $845.17 |
| Shared bought leads | $68 per inquiry | 100 inquiries | 40% | 20% | 8 | $1,257.00 |
| Route mail | $76 per inquiry | 20 inquiries from 2,000 pieces | 75% | 20% | 3 | $972.67 |
| Canvassing | $9 per inquiry, excluding labor | 20 follow-up requests from 200 doors | 80% | 25% | 4 | $902.00 |
| Commercial target list | $20 per property | 100 buildings | 25% | 20% | 5 | $914.40 |
Here is the expense ledger behind those results. The separate columns keep a quoted media cost from swallowing sales time or agency fees.
| Channel | Media, records, production or field expenses | Staff hours | Labor at $52/hour | Tools, management and other allocation | Total acquisition expense |
|---|---|---|---|---|---|
| Search ads | $9,100 | 54 | $2,808 | $620 | $12,528 |
| Local service ads | $7,400 | 46 | $2,392 | $350 | $10,142 |
| Shared bought leads | $6,800 | 58 | $3,016 | $240 | $10,056 |
| Route mail | $1,520 | 24 | $1,248 | $150 | $2,918 |
| Canvassing | $180 | 64 | $3,328 | $100 | $3,608 |
| Commercial target list | $2,000 | 46 | $2,392 | $180 | $4,572 |
For bought leads, 100 × 40% × 20% gives eight customers. For the target list, 100 × 25% × 20% gives five. Dividing $4,572 by five gives $914.40. The list uses fewer acquisition dollars overall, but produces fewer customers in this batch.
Local service ads have the lowest CAC here. I would keep that channel if its collected jobs support the expense, while testing a property list against the accounts I want the crew to service and the contribution those accounts can leave.
The shop’s residential inquiries and commercial prospects also buy different work. Review them against their own job margins. Ten small repairs cannot be valued as ten annual agreements. Compare contribution per account alongside CAC so a channel producing larger service relationships gets credit for the work it sells.
Run the comparison at a slower close rate before committing cash. If the target list produces three accounts instead of five, its $4,572 acquisition expense becomes $1,524 per account. If shared inquiries produce twelve customers instead of eight with the same expense, CAC falls to $838. Extra follow-up hours would change both totals.
That sensitivity is why I would keep profitable current channels while adding repeat accounts. Shift the next increment of budget after the signed work and recorded hours support it. You do not need to replace the whole lead budget to test one hundred buildings.
Five-year customer value for residential and commercial work
Calculate lifetime value from expected contribution after delivery costs, using a stated renewal rate and time horizon before comparing it with acquisition expense.
Revenue is the starting point. After you subtract direct labor with its payroll burden, materials, subcontractors and other expenses that rise with the work, allow for expected callbacks and the cost of servicing that particular account. The remainder here is contribution before acquisition and fixed company overhead.
For a separate value illustration, hold prices and margins flat over five years. Count one purchase for the residential roof and a first year of service followed by the stated annual retention rate for each maintenance account, excluding replacement sales and referrals.
| Customer type | Revenue and contribution assumptions | Repeat-work assumption | Five-year contribution | CAC used for comparison | Contribution LTV to CAC |
|---|---|---|---|---|---|
| Residential re-roof | $13,750 job × 24% contribution | One job only | $3,300 | $1,257 | 2.63 to 1 |
| Residential HVAC maintenance | $310 annually × 48% contribution | 65% annual retention | $376 | $170 acquisition budget | 2.21 to 1 |
| Commercial HVAC maintenance | $2,760 annually × 38% contribution | 75% annual retention | $3,200 | $914.40 | 3.50 to 1 |
The residential maintenance acquisition budget is a separate $170 assumption, not one of the larger campaign CAC figures. At $845 to acquire a customer who only buys that maintenance plan, the five-year contribution would not repay acquisition.
Commercial first-year contribution is $2,760 × 38% = $1,048.80. With 75% retention, expected contribution by year is $1,048.80, $786.60, $589.95, $442.46 and $331.85. The sum is $3,199.66, rounded to $3,200. Divide by $914.40 for a ratio of about 3.5 to 1.
For the home maintenance plan, $310 × 48% = $148.80 in year one. Multiply later years by 0.65, 0.65 squared, 0.65 cubed and 0.65 to the fourth power. That produces $375.81 across five years.
These are undiscounted contribution totals. A longer horizon needs an allowance for the time value of money; a five-year projection also needs a cash payback check. The contractor still has fixed overhead to fund from the amount left after acquisition.
I would choose a CAC ceiling from both first-year cash and retained contribution, rather than declaring one ratio right for every trade. If the commercial shop chooses a four-to-one contribution target, its acquisition ceiling is about $3,200 ÷ 4 = $800. The $914 campaign needs a lower pursuit cost or more supported value to pass that owner’s rule.
For roofing, start with ways to pursue fitting jobs directly and cost the specific scope. A roof service relationship can support later work, but put a future recover or replacement into the forecast only when your own account history supports its timing and probability.
The sales hours missing from the lead dashboard
Estimator wages, owner follow-up and failed site visits belong in acquisition cost, including the hours spent on prospects who never authorize any work.
The BLS cost estimator handbook, available in November 2026, reports May 2025 median pay of $78,740 annually, or $37.86 hourly. Employer burden goes on top.
Adding an assumed 35% employer burden to $37.86 gives $51.11 an hour, which I rounded up to the $52 planning allowance applied to both sales and estimating hours in the campaign model. That blended rate is a budgeting choice. Use your payroll costs and productive hours when you replace it.
Owner time needs a line too. Record hours and assign a replacement-cost allowance even if the owner takes draws instead of hourly pay. Keep that economic cost separate from cash leaving the bank this week. Otherwise, a channel worked by the owner looks cheaper than the same channel worked by an employee.
Start recording at the first review of the inquiry. The clock keeps running while someone confirms the address or tracks down the maintenance contact, including the time spent finding out who has the access code before the estimator can get onto the roof. Stop at signing. Put later service coordination against the account’s delivery contribution.
A no-show is easy to lose in the books. Allow 45 minutes for driving, another half hour waiting at the property and fifteen minutes to record the outcome, and that one visit has consumed 1.5 hours at a cost of $78 before vehicle expense. Six such visits absorb $468. Keep the appointment outcome on the same record as the original inquiry.
Shared requests also deserve an outcome code. A buyer who had already hired someone should get a different code from a buyer who wanted work outside your scope or never answered after the office finished its planned follow-up. Those details tell you whether to change the source, the response schedule or the qualification script.
I would inspect the calendar alongside the expense sheet. Find the estimates with no signed work behind them, then total the hours. A sales manager who counts only appointments attended by decision-makers can miss hours spent at locked gates and with tenants who cannot authorize the repair.
Avoid double-counting commission. If it is paid for acquiring the account, include it in CAC and leave it out of the contribution used for the LTV comparison. If your job-cost report already subtracts it, adjust one side before dividing. The same rule applies to a paid survey credited against the first job.
Where does better targeting cut acquisition cost?
In a second illustration, screening 100 buildings before site visits saves 32 staff hours and lowers acquisition cost from $1,501 to $1,268 per signed account.
Compare two ways to pursue commercial maintenance for the same HVAC crew: a free, unfiltered directory and a purchased list of one hundred buildings selected for the service area and visible rooftop equipment. Give each route 32 office hours for research and outreach. Allow two hours per site visit to cover travel and the estimate.
The unfiltered route books forty visits and signs four accounts. The selected list books twenty-four visits and signs five. The difference to test is how often an estimator reaches a building with both suitable equipment and a buyer prepared to discuss service.
| Test input or result | Unfiltered directory | Selected building list |
|---|---|---|
| Buildings approached | 100 | 100 |
| Record expense | $0 | $2,000 |
| Research and outreach hours | 32 | 32 |
| Visits requiring two hours each | 40 | 24 |
| Total acquisition hours | 112 | 80 |
| Labor at $52/hour | $5,824 | $4,160 |
| Allocated tools | $180 | $180 |
| Total acquisition expense | $6,004 | $6,340 |
| Signed new accounts | 4 | 5 |
| Acquisition cost per account | $1,501 | $1,268 |
The selected list costs $336 more in total and produces one additional account. Its CAC falls because the account count rises while labor drops by $1,664. The estimator makes sixteen fewer trips.
Now hold available hours at 112. At the selected list’s modeled 0.8 hours per building, the crew can work through 140 buildings in those hours and sign an expected seven accounts if the five-per-hundred acquisition rate holds. Record spend rises to $2,800; labor stays $5,824 and tools stay $180. Total expense becomes $8,804, or about $1,258 per account.
That is three more signed accounts from the same hours, with $2,800 more acquisition spending than the directory route. You still need the cash for the larger list and the capacity to service those additional accounts.
I would set the filters from your ideal contractor customer profile: the work you can deliver at a margin, in buildings your crew can reach. For a small commercial HVAC team, that might mean warehouses of 25,000+ square feet with 5+ visible rooftop units inside its service area. Verify equipment details and access during qualification and the site survey.
For a sealcoating crew, start with properties showing paved parking areas, then measure the lot before pricing. For a roof crew, choose the material and building size that fit its equipment and crew. Pay for the filter that prevents an estimate you should have declined before driving.
Test that link directly. Add a reason to each rejected visit: too small, wrong service, outside the route, no authorized buyer, or no buying date. Compare those counts before increasing order volume. If the selected list still signs only four accounts, its $6,340 cost means $1,585 CAC. Record the visits avoided and the accounts signed before expanding the order.
Payback depends on when contribution reaches the bank
The $914.40 commercial acquisition cost takes about 10.5 service months to recover at $87.40 of monthly contribution, before any delay between signing and collection.
Return to the six-channel campaign’s $2,760 annual maintenance account. Spread its revenue evenly across twelve months: $230 a month. At a 38% contribution margin, that leaves $87.40 monthly before acquisition and fixed overhead. The simple payback is $914.40 ÷ $87.40 = 10.46 months.
The first year contributes $1,048.80, leaving $134.40 after acquisition. Five-year value looks much larger because of renewals. The bank account has to get through year one first.
Separate the signing date from the cash date. If the account starts producing monthly contribution two months after signing, the shop needs those two months plus roughly 10.5 service months to recover acquisition, putting payback about 12.5 months after the signature. A contract billed quarterly needs its own receipt dates; dividing annual revenue by twelve will not describe those bank deposits.
For a job paid in stages, write the cash schedule by week, starting with acquisition and then showing each customer payment beside the delivery bills that must be paid from it. Reserve those delivery dollars. A deposit may arrive before material purchases, but the portion needed to buy those materials cannot also repay your sales campaign.
Use two views of payback. Economic payback includes the full value of owner and employee acquisition time. Cash payback uses cash outlays and collections. A salaried estimator might not create an extra payroll check for one more quote, yet those hours still use capacity. That difference matters when a cheap-looking channel starts requiring another hire.
Decide the timing limit before the campaign. An owner who needs acquisition repaid within nine service months has a ceiling of 9 × $87.40 = $786.60 for this agreement. The $914.40 campaign exceeds that ceiling even though its five-year contribution ratio is 3.5 to 1.
I would resolve that gap with a smaller pursuit cost, better supported account value or a different payment schedule agreed with the buyer. Adding an imagined RTU replacement to year two does not change the money available for next month’s payroll.
A monthly spreadsheet for contractor CAC
Keep one prospect record and one campaign cost ledger, then review signed customers by campaign age alongside the month’s cash spending and collections.
I would use two tabs. Give each prospect a record of what happened at the account, then use a separate cost ledger for expenses that belong to the whole campaign, such as a batch purchase or design fee. Link both with the same campaign ID.
Use these columns so the office can update the record without rebuilding the calculation:
| Column group | Fields to keep | What the fields resolve |
|---|---|---|
| Identity | Prospect ID, buying account ID, property address | Several contacts or buildings do not inflate the customer count |
| Origin | Channel, campaign ID, campaign start date, first-touch date | Costs and wins stay with the group that generated them |
| Fit | Service offered, building requirements, territory, rejection reason | You can see which filters remove wasted pursuits |
| Contact | First attempt, first conversation, number of attempts, next action | A record purchased is separate from a buyer reached |
| Progress | Appointment date, attendance, quote date, status, lost reason | No-shows and open opportunities remain visible |
| Labor | Staff role, hours, hourly allowance, activity | Lost estimates receive the same costing as wins |
| Campaign expense | Media or records, outside fees, tools allocation, credits | Net costs can be reconciled to invoices |
| Result | First signed date, canceled date, first collected date | Signed work and paid work have different clocks |
| Account economics | Collected revenue, delivery expense, renewal date | Contribution and retained value can replace early assumptions |
At month-end, total the cost ledger and linked labor. Count distinct new buying accounts with signed work, excluding canceled authorizations. Divide cost by that count. If there are zero wins, show the dollars spent and zero wins; leave CAC undefined instead of displaying $0.
Keep open and lost prospects separate. A group with no signed work and twenty open quotes is different from one where every prospect declined. Give the campaign an age in days so nobody quietly treats a two-week commercial effort as equivalent to a settled residential repair campaign.
For example, a list purchased in November may produce its first agreement in January. Add January’s follow-up hours to the November campaign record. Keep January cash spending visible in the cash report. This gives the sales manager a cost for the acquisition effort and the owner a view of that month’s bank demands.
Choose an attribution rule before launching. For a small shop, I would credit the original qualifying campaign and record later channels as assists, so an owner who responds to a mailed card and later calls through a search ad still counts once. Both channels incurred costs. Keep both expenses in total acquisition spending when you add the results together.
Track first-contact conversion and proposal conversion separately. A list can fail because nobody reaches the buyer. A sales process can fail after good conversations because quotes sit unfinished. Those problems need different changes, even if both produce the same CAC.
Email administration belongs in the outreach hours. The FTC’s CAN-SPAM guidance covers business-to-business commercial email. Use accurate sender information and subject lines, identify advertising, include a valid postal address and provide a clear opt-out. Honor opt-outs within ten business days and keep the opt-out mechanism available for at least thirty days after sending.
Keep a suppression field in the prospect tab and check it before the next batch. Assign someone to record replies and requested removals. Those tasks take minutes that belong in the campaign ledger along with writing the first message.
Close the monthly review with one decision per channel: maintain the current budget, change one part of the process, or stop new spending while the open group resolves. Write the reason beside the decision. Next month’s review should be able to tell whether the change addressed the recorded problem.
Public work has a cost per acquired buyer too
For city, county and school work, divide the cost of finding and preparing all bids by new buying agencies acquired through those pursuits.
Allow twelve internal hours per submission at the same $52 planning rate: $624 in labor per bid. Eight submissions consume $4,992. If they produce signed work with two new agencies, acquisition labor is $2,496 per buyer, before other pursuit expenses. Add your tools and outside help to the numerator. Keep cost per award beside CAC, since a second award from an existing agency is repeat business. Bid Control by PorchRocket gathers opportunities, bid papers and addenda for public pursuits; Bid Builder fills forms from your company file, and Bid Team plans bids with you and handles the paperwork. You make the final call on your number, sign and send. Compare the full pursuit expense with what a government bid is worth, using the contribution from the work you can perform. Log a bid you decline after review as pursuit time too. That lets you measure how much effort screening saves before the office starts another packet.
What is the fastest way to price a targeted list?
Ground Control by PorchRocket is the fastest route I would use to price a building list for an acquisition-cost test with a defined service area. Select business type and building size, then the features your trade needs: rooftop HVAC, roof material or paved parking areas. Commercial records cost $10 to $20 per building, with the exact price shown before payment. Delivery is within 48 hours after payment. Report a wrong match within 30 days for credit back. Every property explains why it matched. These owners have not requested a quote; your team starts the conversation.
Before opening Ground Control’s list builder, write one sentence describing the work you want to sell. For the HVAC test: annual rooftop maintenance for warehouses inside the current service territory. Then choose a building-size band and visible-unit count your department can handle.
Price the account research too. Owner information and decision-maker contact research are separate add-ons, while the shop in the channel model does that research within its 46-hour allowance, so buying the research changes both the invoice and the workload. Enter the quoted charge. Then revise the hours your staff will spend before recalculating CAC.
Orders start at ten buildings. I would use a small first order to inspect the match reasons and confirm that the filters describe buildings the estimator wants. Ten records can check that choice, but one result should not set a company-wide acquisition budget.
Schedule the outreach before ordering the larger batch. Put an employee’s name beside first contact and another beside estimating, if those are different people. Set a date to review contact progress, then a later date to evaluate signed accounts. An untouched file has a purchase price and no sales result to measure.
Testing a targeted list from Ground Control
Use Ground Control to choose one territory and one service offer, then compare the resulting accounts with a settled campaign using the same cost ledger.
For a commercial HVAC department, start with buildings showing rooftop equipment. The test should fit the department’s available survey hours. If you can only work forty new accounts this month, put the remaining records on a dated schedule instead of counting them as failed contacts.
Here is what the order and test should put in your hands:
- A defined area your service trucks can cover. Record that area on the campaign so a later expansion does not get mistaken for a change in channel performance.
- Buildings selected by business type, size and the visible features that fit your service. For the HVAC case, record the warehouse, building-size and rooftop-unit filters used.
- A match reason on every property. Let the estimator review that reason before committing a survey appointment, then record any mismatch for follow-up.
- Owner information or decision-maker research if ordered. Decision-maker details include role, email and phone where found; Ground Control never charges for a contact it does not find.
- CSV and Excel files that your office can load into its sales records. Keep the match reason beside contact attempts and signed-account status so you can judge the selection later.
- The exact order price and a delivery window within 48 hours after payment. Enter the invoice in the campaign ledger and record any wrong-match credits against that same campaign.
Keep the field inspection focused on the access arrangements and equipment inventory needed to quote the buyer’s service scope. Once the sales cycle resolves, use the signed agreements to replace the modeled close rate and the time records to replace the $52 planning allowance wherever your department’s costs differ.
Put the next batch of sales hours into buildings your crew wants to service.
Quick answers
How do you calculate customer acquisition cost for a contractor?
Add advertising or list spend, sales and estimating labor, campaign travel, commissions and allocated tools. Divide by new signed customers from the same campaign group. A contractor spending $10,056 to sign eight new customers has a $1,257 CAC. Keep repeat orders from existing customers outside that new-customer count.
What is a good customer acquisition cost for roofing?
One that leaves enough contribution to pay overhead and provide profit within your cash timetable. At an assumed $13,750 residential roof price and 24% contribution margin, the job leaves $3,300 before acquisition and fixed overhead. A $1,257 CAC leaves $2,043. Use your own tear-off, disposal and crew costs to set the limit.
What should HVAC customer acquisition cost include?
Include dispatch or office time spent qualifying new buyers, sales calls, site surveys and quotes, along with media or list charges. Separate service agreements from equipment replacements. In the commercial maintenance model, $4,572 in acquisition expense divided by five signed accounts gives a $914.40 CAC. Equipment revenue is not needed to make that calculation.
Is a low cost per lead always better?
No. A $68 inquiry at an 8% overall close rate costs $850 per customer before labor. A more expensive inquiry can cost less per signed customer if enough buyers answer and buy. Compare all-in acquisition cost, then compare the contribution and payment timing of the work each channel produces.
What is a good LTV to CAC ratio for contractors?
Use a contribution-based ratio and a separate payback limit. At $3,200 of modeled five-year contribution and $914 of acquisition cost, the ratio is about 3.5 to 1. That alone does not settle the decision: the first year leaves only about $134 after acquisition, before fixed overhead.
Should owner sales time count in customer acquisition cost?
Yes. Put an hourly value on owner sales and estimating time in the economic calculation, including unsuccessful quotes. Keep a separate cash column for amounts paid out. An owner who spends twelve hours quoting a lost job has used capacity even if no extra paycheck was issued.
How much does a targeted commercial property list cost?
Ground Control charges $10 to $20 per commercial building, with orders starting at ten buildings. Owner information and decision-maker research are add-ons. You see the exact price before paying, receive the list within 48 hours after payment, and can report wrong matches for credit within 30 days.
How do I measure CAC when a commercial deal takes months?
Group prospects by the campaign that started them and keep adding pursuit costs until they close or are lost. Report each group's age alongside signed customers. November spending divided by November wins can mix new outreach with deals started months earlier. Keep that monthly cash view beside the campaign calculation.
Sources used in this guide
Sources are linked at the claim they support and collected here for auditability. Vendor features and prices can change; verify them before purchasing.
- 2026 search advertising benchmarks and methodologyWordStream: Home and Home Improvement CPL of $90.92; study of 13,474 campaigns from April 2025 through March 2026, using medians. Checked November 2026.
- Local Services Ads pricing explanationGoogle: Pay-per-lead charging and variation by location, job type and bidding mode. Checked November 2026.
- Shared marketplace leads and variable lead feesAngi Leads: Customer requests matched with multiple service professionals; lead fees differ by job size. Checked November 2026.
- Every Door Direct Mail prices and mailing optionsU.S. Postal Service: EDDM Retail postage of $0.26 per piece and delivery along selected routes. Printing and response assumptions are separate. Checked November 2026.
- Cost estimator pay and occupational dutiesU.S. Bureau of Labor Statistics: May 2025 median pay of $78,740 annually and $37.86 hourly, as reported in the current handbook. Checked November 2026.
- Marketing budgets and measuring sales resultsU.S. Small Business Administration: Marketing and sales section recommends tracking campaign costs and comparing them with generated revenue. Checked November 2026.
- Commercial email requirements for businessesFederal Trade Commission: CAN-SPAM applies to business-to-business commercial email; identification, address, opt-out and 10-business-day requirements. Checked November 2026.
Put a fitting building in your next channel test.
Choose your service area and building requirements, then see the list price before paying. Ground Control delivers the matching properties with a reason for every match.