Contractor Marketing: Build the System, Not Just the Campaign
Look at most home-services websites, roofing, windows, HVAC, remodeling. Most share the same pattern: a homepage built to impress the owner, not to rank for the search a homeowner runs at 9 p.m. after a storm. Traffic is thin. Lead forms are buried. Google Business Profiles are half-filled. These companies spend real money on trucks, crews, and materials. Almost nothing goes to the system that fills the pipeline. Contractor marketing isn't complicated. But most of the industry does it in the wrong order. They buy leads before they've built the infrastructure that would let them close those leads at a profit. They launch Google Ads before they have call tracking. They hire a salesperson before they have a CRM. They measure success by how busy the crew looks, not by cost per acquired customer. This guide fixes the order, channel by channel and metric by metric, so the money you put in actually sticks instead of leaking out the back end.
Why Most Contractor Marketing Fails Before It Starts
Contractor marketing fails most often because the infrastructure, tracking, CRM, GBP, and a converting site, is built after ad spend starts, not before.
The U.S. Census Bureau tracks construction spending every month, and residential construction alone runs in the hundreds of billions of dollars a year. The market is not the problem. The problem is how contractors try to capture a slice of it.
Most roofing and HVAC company owners run their marketing like this: they call a lead vendor, buy a batch of shared leads, hand the numbers to whoever answers the phone, and measure success by whether any of those calls turned into a job. They run no CRM, track no answer-rate data, and set up no conversion tracking on the website. Then, when the leads stop closing, they blame the lead vendor.
The pattern repeats from site to site. The site has no city-and-service pages. The Google Business Profile is missing hours, photos, and a service list, even though Google publishes clear Google Business Profile guidelines for how a business should represent itself there. The phone rings and nobody picks up, or a crew guy answers from the roof. Then the owner wonders why the cost per acquired customer keeps climbing.
The underlying economics are straightforward once you see them. If your answer rate is low, your effective cost per contacted lead climbs well above what you paid per lead: at a 50% answer rate, for example, it doubles. If your CRM has no lead-source tagging, you cannot know which vendor, which ad group, or which page on your site is producing revenue, so you cannot cut what's wasting money or scale what's working. Every dollar of paid spend becomes a guess.
The fix is boring: build the infrastructure first. Tracking, CRM, a real answer process, a site that ranks for terms people actually search. Do that, and paid spend works. Skip it, and you're renting leads you can't close.
Paid leads multiply what's already happening on your floor. Low answer rate, slow follow-up, buying more leads makes the unit economics worse, not better. Fix the floor first.
The Five Channels That Actually Move the Needle
The five channels that reliably drive revenue for contractors are: Google Business Profile, SEO, Google Ads, Local Services Ads, and outbound appointment-setting, in roughly that order of setup priority.
Contractor marketing isn't one thing. It's a stack. Each channel does a different job, and the order you build them in matters. 1. Google Business Profile. Free, high-intent, and ignored by most contractors. Homeowners searching "roof repair near me" see GBP listings in the map pack, above the organic results. Google's own guidance on local ranking names relevance, distance, and prominence as the three factors. Google says prominence draws on your review count and rating and on what the web says about your business, such as links, articles and directories. None of that costs money, only time. A fully built-out profile with a complete service list, accurate categories, and photos updated monthly gives Google more to match against specific searches. That directly affects how often you appear without paying for placement. 2. Organic SEO means city and service pages written for how people actually search. Not blog posts about the history of asphalt shingles. Pages that answer the question the homeowner is typing right now. Our own site went from 600 to 1,300 organic clicks a month in 90 days after we stopped outsourcing the work and rebuilt the platform ourselves. A page that ranks today keeps producing leads next quarter with no additional spend per click. 3. Google Ads. High-intent, expensive, and forgiving when your close rate is strong. Unforgiving when it isn't. Conversion tracking has to be wired to actual revenue, not just form fills. A campaign without clean conversion data optimizes toward the wrong goal and bids up on traffic that never closes. 4. Local Services Ads are Google's pay-per-lead product for verified contractors, now showing a Google Verified badge. Volume is lower than search ads in most markets, but the trust signal at the point of contact is higher. The verification process requires passing background and license checks, and that takes time before your listing goes live. 5. Outbound appointment-setting is the channel most contractors ignore until they've exhausted everything else. A well-run outbound floor can generate in-home appointments at a cost structure that makes the math work. The difference between a floor that runs and one that stalls is almost always process: dialer configuration, agent training, and a QA layer that catches bad appointments before they hit the closer's calendar.
- CRM with call recording Every lead source needs to be tagged at entry and tracked to close. Without this, you cannot calculate cost per acquisition by channel, so you cannot make rational spend decisions.
- Dedicated tracking numbers Each channel gets one number. GBP gets its own number. Google Ads gets its own number. LSAs get their own number. Commingled data is worthless data.
- A site built for search, not aesthetics City-level pages, service-level pages, schema markup, fast load times. One practitioner noted on a Hacker News thread that 'adding content to a page usually results in fairly quick change in ranks' (@letterlib), because the page finally matches what the searcher typed.
- Review acquisition process A request sent within 24 hours of job completion, via text, with a direct link. The FTC's Endorsement Guides require that reviews be genuine and that any incentive be disclosed, and Google's own review policy bans offering anything in exchange for a review, so skip the gift card promotion.
- Documented follow-up sequence Lead age is a real problem in home services. A lead that waits for a first call loses intent fast, so the first call should go out within minutes. Your CRM should automate the first three touches so a distracted office manager can't miss them.

The Outbound Floor: Contractor Marketing's Ignored Channel
An outbound appointment-setting floor is the highest-volume, lowest-cost-per-sit lead source most contractors never build, because the setup requires real infrastructure investment.
We set about 650 in-home appointments a month on our own floor, for our own closers. That number didn't happen by buying a dialer subscription and hiring anyone who answered a Craigslist ad. It took a specific stack, dialer, CRM, calendar and payroll on one system, and QA on every appointment before it counts as a sit.
The QA step is the one nobody talks about. Every appointment our floor sets gets checked by a person: homeowner confirmed, all decision-makers confirmed, product and scope confirmed, time re-confirmed. That is why our sit rate runs between 55 and 60 percent. Most contractors who try outbound see far lower sit rates because they skip the confirmation layer and count every appointment set as an appointment kept.
The confirmation call is not a courtesy reminder. It is a filter. It eliminates appointments where only one spouse agreed, where the homeowner confused the date, or where a renter booked instead of the property owner. Catching those before the closer drives to the house saves hours of windshield time every week and keeps the closer's morale, and commission check, intact.
Building a call center from scratch is not a weekend project. We built a call center from $0 to $426K a month in nine months. That kind of ramp requires the right dialer configuration, trained agents, and a QA process that catches bad appointments before they hit the closer's calendar, not after. Our own floor's best month hit $700K in sales, a number that reflects what a mature, fully staffed and QA'd outbound operation can produce when the rest of the sales system is also working.
The floor our own company runs is also the source behind the appointments we sell to contractors outside our service counties. Same process, same QA, same recording delivered to the contractor's CRM. We don't sell in our own five counties, so the partner we take in each coastal market gets the appointments we set there.
SEO for Contractors: What the Agency Model Gets Wrong
Most contractor SEO agencies build one generic service page per city and bill monthly; the sites that rank have dozens of hyper-specific city-and-service pages built before launch, not retrofitted after.
The default for contractor SEO is a WordPress site, a monthly retainer, and a handful of blog posts written for Google's algorithm circa 2018. We ran that model at our own windows and roofing company. Then we fired the agency, rebuilt the site on our own platform, and ran the program ourselves. Organic clicks went from 600 to 1,300 a month in 90 days.
The reason that worked isn't mysterious. The new site has city-and-service pages written for the exact phrase a homeowner types: 'impact window installation Boca Raton,' 'metal roof replacement Deerfield Beach.' That specificity is what ranks. A homepage with a paragraph about 'serving all of South Florida' does not rank.
The content architecture matters as much as the keyword targeting. Each city-and-service page needs to answer the intent behind the search, permit requirements, product options, what the installation process looks like, not just repeat the keyword. Internal linking between related city pages and service category pages tells Google how the site is structured and which pages carry authority. Most agency-built contractor sites have no internal linking logic at all.
One operational detail that rarely gets covered: page speed matters more than most contractors realize. A slow WordPress site on shared hosting with a bloated theme loses rankings it earns on content alone. Our platform does not run on WordPress, so there is no bloated theme or plugin stack to slow it down. Every client gets a dashboard that shows which pages produce leads.
If you're doing contractor marketing for HVAC specifically, the keyword architecture is different, service pages need to cover both installation and repair, and the seasonal demand curve means city-level pages need to stay fresh. Read our HVAC marketing guide for the full breakdown. Roofing contractors have their own dynamics around storm cycles and permit pulls, see the roofing marketing guide for that.
Shared leads from aggregators train your team to race to the phone and cut the price. The homeowner may already have picked up calls from other contractors before yours. Every dollar you spend on shared leads is a dollar spent teaching your closers that speed and a low number win. That is the opposite of a sales culture that closes at margin.
Shared Leads vs. Exclusive Appointments: What You're Actually Buying
Shared leads sell the same homeowner to multiple contractors simultaneously; exclusive appointments deliver one confirmed in-home sit to one contractor, with decision-makers verified before it counts.
| Feature | Shared Leads | Exclusive Appointments |
|---|---|---|
| Who else gets it | Multiple contractors at the same time | You only, one contractor per appointment |
| Homeowner confirmation | Form fill or ad click; intent unverified | Called, confirmed, decision-makers on the calendar |
| What you receive | Name, phone, maybe an address | CRM entry, call recording, homeowner answers, scope confirmed |
| No-show handling | You absorb the loss | No-shows and reschedules are replaced |
| Sit rate expectation | Varies; no confirmation layer | 55–60% on our own floor (your results depend on your closer) |
| Sales culture effect | Trains for speed and price | Trains for presentation and close rate |

Google Ads and LSAs: When Paid Search Makes Sense
Google Ads makes sense for contractors once tracking is wired to revenue, not form fills, and once the close rate is known well enough to set a rational max cost per lead.
Paid search is not a substitute for a ranking website. It's a volume dial you turn up once the floor is working. The problem is that most contractors turn it up before they know their close rate, before they have call tracking in place, and before they've wired conversion tracking to actual jobs sold, not just contact forms submitted. Here's the check we run before recommending any paid spend. Can you tell us your close rate on inbound leads by source? Can you tell us your average job revenue? Can you tell us your current cost per acquired customer? If all three answers are "I don't know," paid search will bleed money. Not because the ads don't work. Because you can't optimize what you can't measure. Campaign structure matters. A single broad campaign targeting "roofing" in a major metro will spend fast and pull mixed-intent traffic. Breaking campaigns by service type, repair versus replacement versus inspection, and by city or zip code gives the algorithm cleaner conversion signals. It also lets you find which segments are profitable before you scale budget. Call assets on responsive search ads put a tap-to-call button in front of the searcher, and for contractors that call is usually the conversion that matters. Local Services Ads are a different animal. Google's pay-per-lead product shows a Google Verified badge next to your listing. That badge means Google has checked your license and insurance. Volume runs lower than standard search ads in most markets, but the leads arrive with more homeowner intent. For roofing and HVAC contractors especially, LSAs can be a cost-efficient entry point to paid marketing while organic SEO builds. One honest trade-off: LSAs require passing Google's background and license checks. That process takes time. If you need volume this week, it is not the fastest path. Standard Google Ads, wired correctly, can produce leads within days of launch.
How to Build a Contractor Marketing System in the Right Order
Build contractor marketing in this sequence: GBP first, then tracking infrastructure, then a ranking website, then paid channels, then outbound, each layer depends on the one before it.
- 1Step 1: Fix Your Google Business ProfileComplete every field. Upload job photos weekly. Respond to every review. Add your full service list and operating hours. This is free and it builds up. Per Google's local ranking tips, complete, accurate information makes it easier for Google to match your listing to the right searches.
- 2Step 2: Build Tracking InfrastructureSet up a CRM. Assign dedicated tracking numbers to every lead source. Wire your website's contact forms to a pipeline stage, not just an email notification. Record all inbound calls. You cannot run contractor marketing without knowing which dollar produced which job.
- 3Step 3: Build a Site That RanksCity-and-service pages for every market you serve. Fast load times. Include schema markup on every page. Internal links between related service pages. Do this before you spend a dollar on paid search, organic clicks don't stop when the budget runs out.
- 4Step 4: Launch Paid Search with Real TargetsSet a max cost per lead based on your average job revenue and close rate. Wire conversion tracking to calls and form fills. Review search term reports weekly and add negatives aggressively. A campaign without negative keywords running for 30 days has been burning money since day one.
- 5Step 5: Add Outbound or Buy AppointmentsOnce inbound is working, outbound multiplies it. Either build a call center floor, which requires dialer, CRM, trained agents, and QA, or buy exclusive, confirmed in-home appointments from an operator who already has the floor running. Both options are real; both have trade-offs.
Outbound earns its cost on high-ticket, in-home jobs: roofing, impact windows, HVAC, full remodels. Below a certain average job value, the cost per confirmed sit eats the margin. If your average job is small and your close rate is low, run the math before you build or buy outbound volume.
UGC Video and Social: The Contractor Marketing Channel Most Skip
User-generated-style video is a top-of-funnel contractor marketing channel most contractors skip, and it builds brand familiarity that helps paid ads and GBP calls convert.
Most contractor companies have a Facebook page with job photos from 2022 and a YouTube channel with one walk-through video sitting at 80 views. That is not a social presence. That is a digital ghost town. Creator video, shot and edited to feel native to the platform rather than like an ad, hits contractor marketing in a way most owners miss. Marissa Snyder creates UGC video for Receipts Group. She has 5.79M total views across her catalog and 4.4M on a single video. The mechanism is not virality for its own sake. It's familiarity. A homeowner who has seen your brand's video twice before they call is a warmer lead than one who found you through a cold Google search. Format matters. A 60-second vertical video showing a before-and-after roof replacement, shot on a phone and edited with on-screen text, performs differently on Instagram Reels than a polished two-minute brand film would. Native-format content reads as authentic to the algorithm and to the viewer. That read is especially powerful in home services, where homeowners are making a high-trust, high-dollar decision and need social proof before they pick up the phone. The operational reality: you need a creator, not a production company. Production companies make commercials. Creators make content that feels real. The FTC's endorsement guidance applies here too, if a creator is paid, that relationship has to be disclosed. Get it in writing before the first post goes live. For contractor marketing at scale, video is a top-of-funnel trust layer. It does not replace GBP reviews or a ranking website. It makes everything else convert better.
For qualifying roofing and impact windows contractors in coastal markets, Florida outside our five counties, Texas, Louisiana, Georgia and the Carolinas, we set appointments at no cost per lead. You pay nothing down and owe no retainer. We are paid 15% of what you close, settled weekly. You don't pay until you earn.
Measuring Contractor Marketing: The Metrics That Actually Matter
The three metrics that determine whether contractor marketing is working are cost per acquired customer by channel, close rate by lead source, and average revenue per closed job, everything else is a proxy.
Vanity metrics kill budgets. Impressions, clicks, and even cost per lead are proxies. The numbers that tell you whether your contractor marketing is working are three: cost per acquired customer by channel, close rate by lead source, and average revenue per closed job.
Cost per acquired customer is what you actually spent, ads, lead fees, appointment costs, sales labor, divided by jobs closed. Not leads generated. Jobs closed. That number tells you whether each channel is profitable at your current margin structure.
Close rate by lead source tells you which sources are producing buyers, not just callers. Say an outbound appointment closes at 30% and a shared internet lead closes at 8%: the appointment is worth more, even if the shared lead cost less per unit. You cannot know this without call recording and CRM tagging at the lead-source level.
Average revenue per closed job tells you whether your sales team is presenting the full scope or discounting to close. A drop in average job revenue with a stable close rate is a sales training problem, not a marketing problem. Most owners diagnose it as a lead quality problem and buy from a new vendor. That's the cycle.
A fourth number worth tracking, once the first three are stable, is speed-to-contact: the time between a lead arriving and a human reaching the homeowner. In home services, intent is perishable. A lead that goes unanswered for four hours often calls the next contractor on the list. CRM automation can trigger an immediate text and email, but those are bridges, the close still happens on a real call, and that call needs to happen fast.
We show our own numbers, not a slide deck of methodology, and every SEO client gets a dashboard that shows which pages produce leads.
Frequently Asked Questions
What is contractor marketing and why does it matter for home-services companies?
Contractor marketing is the full system a roofing, HVAC, windows, or remodeling company uses to generate, track, and close new customer leads, from Google Business Profile and SEO through paid ads and outbound appointment-setting. It matters because residential construction spending tracked by the U.S. Census Bureau runs in the hundreds of billions of dollars a year, and the contractors who capture market share are almost always the ones with the best systems, not the best crews.
How much should a contractor spend on marketing each month?
There is no universal percentage that fits every contractor market, but the right starting point is knowing your cost per acquired customer and your average job revenue before you set a budget. Without those two numbers, any marketing budget is a guess. Build tracking infrastructure first, then set spend based on what you can verify, not what a vendor tells you the industry average is.
What is the fastest way for a contractor to get more leads in a new market?
The fastest repeatable path to leads in a new market is standard Google Ads with call tracking wired to revenue, which can produce calls within days of launch. SEO builds up over months; outbound appointment-setting requires a floor to be built or purchased. Google Ads carries phone volume while GBP, LSAs and SEO ramp.
Does Receipts Group offer contractor marketing services for HVAC companies?
Yes. For HVAC contractors, Receipts Group offers custom SEO, Google Ads and Local Services Ads management, outbound and inbound call center builds, and UGC video. Lead generation, in-home appointments, and rev share are specific to impact windows and roofing in coastal markets. HVAC companies get the full marketing stack except those three products.
What is the difference between a shared lead and an exclusive appointment?
A shared lead is a homeowner's contact info sold to multiple contractors at once, you race the other callers and compete on price. An exclusive in-home appointment is a confirmed calendar slot: one homeowner, one contractor, decision-makers verified, scope confirmed, and a call recording delivered to your CRM before the sit. No-shows and reschedules are replaced; you are the only contractor on that appointment.
How long does contractor SEO take to show results?
Contractor SEO timelines vary by market competitiveness, domain age, and how well the site is built at launch. Our own site went from 600 to 1,300 organic clicks a month in 90 days after we rebuilt the platform and ran the program in-house. We never guarantee a ranking date or a traffic number for any client, we show our own numbers and let you decide if the model fits.
How much does it cost to build a call center for your business?
The build is $15,000, then a monthly fee for a 2 to 3 month package. The full three-month Full Management package, where we build it, staff it, and run it, is $30,000. The $15,000 build can be financed at $1,250 a month over 12 months at 0% through a third-party lender, subject to approval. You own the accounts and the data.
Free guides on this, step by step:
Ready to Build a Contractor Marketing System That Runs?
We sell the systems behind our own $23M-a-year impact windows and roofing company: the outbound floor, the SEO platform and paid ads. Now we sell those same systems to contractors who are done renting leads and want to own their pipeline. If you sell impact windows or roofing and need exclusive in-home appointments, or you need a call center built on our stack or a site on the platform we run for our own company, the starting point is a conversation. Book a call. We'll show you the numbers, actual screenshots from tools we don't own, not a pitch deck.