Receipts Group · Google Ads for Contractors Book a 30-min call →
Contractor reviewing google ads for contractors campaign dashboard on a laptop at a job site
Pillar guide · Contractor Ads
Google Ads for Contractors: The Operator's Guide — the pillar guide from Receipts Group.

Google Ads for Contractors: The Operator's Guide

Updated · October 6, 2026 · 13 min read · Pillar guide

Paid search is the fastest way a contractor can buy into a competitive market. Most contractors running Google Ads are paying for clicks that never had a chance of converting. The campaign is live, the budget is burning, and the phone rings with tire-kickers, or it doesn't ring at all. Google Ads for contractors works. It works consistently, at scale, across roofing, windows, HVAC, and remodeling. What fails is the setup: broad keywords, no negative lists, landing pages that dump visitors on the homepage, and no call tracking to prove which ad dollar produced which job. This guide covers campaign types, keyword strategy, landing page structure, bid management, and the metrics that actually matter. We wrote it from the operator side, not from a slide deck. Receipts Group sells the systems behind its own $23M-a-year impact windows and roofing company in Southeast Florida.

Why Most Contractor Google Ads Campaigns Fail on Day One

Most contractor Google Ads campaigns fail because they launch with broad match keywords, no negative lists, and landing pages that send traffic to the homepage instead of a conversion-focused page.

Google's own keyword match documentation says broad match can show your ads on searches related to your keyword, including searches that don't contain your keyword's terms. A roofing contractor bidding on "roof" broad match will surface for "roof rack for trucks," "metal roof paint," and "flat roof repair DIY." Every one of those clicks costs real money and books zero jobs. The fix is not to spend more. Start narrow. Phrase match and exact match on high-intent terms, "roof replacement cost [city]," "impact window installation near me," "HVAC tune-up [city]", cost more per click but waste far less. Pair that with a negative keyword list built before the campaign goes live, not after a month of burned spend. Terms like "DIY," "YouTube," "free estimate template," "jobs," and "how to" get excluded on day one. A practical starting list for a roofing or windows contractor covers every DIY, job-seeking and how-to pattern you can think of before the first ad impression is served. It grows from the search terms report every week after that. The second failure point is the landing page. Google Ads sends traffic to a URL. If that URL is the homepage, the visitor hits a navigation menu, a generic headline, and no clear next step. One page, one offer, one action, a form or a click-to-call button, is the baseline. That is not a creative opinion. It is an architecture decision that determines whether your campaign has a chance before the first click fires.

Build the negative keyword list before the campaign goes live. A roofing or windows contractor needs to block at minimum: "DIY," "repair kit," "how to," "free template," "jobs," "YouTube," and "cost to do it yourself." One month of broad-match waste will cost more than an afternoon of setup.

Campaign Types: Search, Local Services Ads, and Performance Max

Search campaigns give contractors the most control over intent and spend; Local Services Ads charge per lead and show a Google Verified badge; Performance Max requires conversion history before it can optimize reliably.

Google Ads for contractors is not one product. For contractors, it comes down to three ad products with different mechanics, different cost structures, and different risk profiles. Search campaigns are the foundation. You bid on keywords, write ads, control bids at the keyword level, and send traffic to a landing page you own. Control is high. Waste, if your setup is wrong, is also high. Search is where the architecture decisions, match types, negative lists, ad group structure, Quality Score, hit cost per lead most directly. Local Services Ads (LSAs) run on a pay-per-lead model, not pay-per-click. According to Google's Local Services Ads documentation, ads show a 'Google Verified' badge and appear above standard search results. LSAs are worth running alongside Search campaigns for roofing, windows, and HVAC because lead quality tends to be higher: the homeowner sees your badge and calls directly from the ad. Check every charged lead against Google's current lead credit rules: credits for invalid leads, like spam or wrong-service calls, lower your effective cost per lead over time. Performance Max campaigns use machine learning to serve ads across all Google surfaces: Search, Display, YouTube, Gmail, and Maps. They need substantial conversion data to optimize well. Contractors with thin conversion history should treat Performance Max as a secondary layer, not a starting point. Run mature Search campaigns first, build conversion history, then test Performance Max against a capped budget.

~650
In-home appts/month
Our own outbound floor sets about 650 in-home appointments a month for our windows and roofing company.
$23M/yr
Operator-run
The systems we sell to contractors are the ones behind our own $23M-a-year windows and roofing company.
55–60%
Appointment sit rate
55 to 60% of the in-home appointments our floor sets are confirmed sits, verified by a person before they count.
3 types
Ad products that matter for contractors
Search, Local Services Ads, and Performance Max, each with different cost structures and risk profiles.

Keyword Strategy: How to Find Terms That Actually Book Jobs

High-converting contractor keywords share three traits: they name the service explicitly, they include a location or 'near me' modifier, and they signal purchase intent rather than research intent.

The best-performing Google Ads keywords for contractors follow a pattern. They name the service, they name or imply the location, and they signal a buyer, not a researcher. "Impact window replacement Miami" converts. "What are impact windows" does not, and it has no place in your campaign. Building a keyword list starts with your core services. For each service, you build three intent tiers: ready-to-buy ("roof replacement near me," "book HVAC tune-up"), cost-aware ("roof replacement cost [city]," "window installation price"), and comparison ("best roofing contractor near me," "top-rated impact window company"). Each tier gets its own ad group. Each ad group sends traffic to a dedicated landing page. Mixing service types inside one ad group, say, "roof repair" and "roof replacement" together, splits relevance and kills your Quality Score, which drives up your cost per click. A low Quality Score doesn't just cost you money today. It costs you more tomorrow, because Google's auction rewards relevance, and a weak score means you pay more than a competitor for the exact same position. For roofing and window contractors in particular, the geographic modifier matters more than in most verticals. A homeowner searching for storm damage repair or impact windows is almost certainly in a storm-affected coastal market. Tight city and ZIP-code targeting paired with location-specific landing pages is not optional. It is the difference between spending and investing. It is the same structure we build for contractors in our ads management program.

Google search results page showing google ads for contractors in roofing and window services at the top
LSAs appear above standard paid search results, run both for maximum coverage

Landing Page Architecture: The Part Most Agencies Skip

A contractor landing page that converts must match the ad's headline exactly, contain a click-to-call button above the fold, and have no navigation links that let visitors leave to browse the site.

The landing page is where Google Ads for contractors either pays off or bleeds out. A campaign can have solid keyword targeting, decent ad copy, and a reasonable cost per click and still produce a catastrophic lead cost when every click lands on the homepage. The structure is simple. The headline mirrors the ad. If the ad says "Roof Replacement in [City], Free Estimate," the page headline says the same thing. The subheadline delivers one line of proof: years in business, number of installs, a credential. Put a form or click-to-call above the fold on both desktop and mobile. Below the fold: a short description of the process, two or three trust signals (license number, insurance, finance options), and photos of real work. That is the entire page. Strip the navigation out. Every menu link is an exit ramp away from the one action you want the visitor to take. For roofing and windows specifically, finance options on the landing page matter. A homeowner staring at a five-figure project wants to know immediately whether payment options exist. Even a single line about financing cuts friction and lifts conversion rate without touching ad spend. Most generic agencies miss this because they don't know the average job size in your vertical.

We build for contractors from the operator side: the systems we sell are the ones behind our own $23M-a-year windows and roofing company.

Bid Strategy and Budget: How to Set Spend Without Wasting It

New contractor Google Ads accounts should start on manual CPC or Maximize Clicks with a capped bid to build conversion data before switching to Target CPA or Target ROAS smart bidding.

Smart bidding, Target CPA, Target ROAS, Maximize Conversions, sounds like the answer. It is not the answer when an account has little conversion history. Google's algorithm needs data to optimize. Without it, the machine guesses, and it guesses toward volume over quality. The right sequence: launch on manual CPC or Maximize Clicks with a bid cap. Collect data for 30 to 60 days. Once conversions accumulate, form fills, calls, booked appointments, shift to a smart bidding strategy with a Target CPA anchored to job-size reality. Say a roofing contractor's average job is $12,000 and an HVAC contractor's average ticket is $400: the roofer can sustain a much higher cost per lead. Set your Target CPA on your own numbers, not an industry average. Work backward from your close rate and average job margin to find the maximum cost per lead that keeps the campaign profitable, then set your Target CPA at or below that number. Budget allocation follows margin, not gut feel. A $3,000 monthly ad budget split across six services produces nothing measurable. The same $3,000 concentrated on the one service with the highest margin and the clearest seasonal demand, impact windows in August in Florida, roof replacement after a hail event, produces data you can act on. Concentrate first. Expand when the math works. This is where Google Ads for contractors diverges from Google Ads for e-commerce: the job size justifies concentration, and the math only works above a certain spend level per service.

Google Ads gives contractors exclusive, intent-based traffic they own and can optimize; shared lead platforms sell the same homeowner's contact to multiple contractors simultaneously with no exclusivity.

FeatureGoogle Ads (Owned Channel)Shared Lead Platforms
Lead exclusivityExclusive, your ad, your landing page, your leadSold to multiple contractors simultaneously
Intent signalHomeowner searched for your specific service right nowHomeowner filled out a general form; intent varies
Cost structurePay per click; you control the budget and the bidPay per lead at a fixed price set by the platform
Data ownershipYou own the account, the data, and the conversion historyPlatform owns the data; you get the contact only
Optimization pathEvery dollar of history improves future campaignsNo stacking value, each lead is a one-time purchase
Learning curveHigh, requires setup, tracking, and ongoing managementLow, buy a lead, call the lead
Roofing contractor on a residential roof with a tablet showing google ads for contractors results
Concentrated budgets on high-margin services outperform spread-thin campaigns

Call Tracking and Conversion Setup: The Non-Negotiable Layer

Without call tracking connected to the Google Ads account, contractors cannot tell which keywords produce booked jobs and which burn budget, making optimization impossible.

Attribution is the whole game in Google Ads for contractors. If you can't connect a booked job back to the keyword that triggered the ad, you're optimizing against feelings, not data. That's not a management problem. It's a tracking problem, and it's fixable before the campaign launches. Google's native call reporting swaps in dynamic Google forwarding numbers on your ads and website. When a homeowner calls that number, Google logs the call against the keyword and the ad that drove it. For contractors whose primary conversion is a phone call, which is most of them, this is the single most important setup task in the account. Layer a third-party tool like CallRail on top of Google's native tracking and you gain call recordings, caller ID, and the ability to tag calls by outcome: answered, voicemail, booked, or no-sale. All of it visible inside one dashboard your whole team can access. Beyond call tracking, import your offline conversions. If your CRM records a booked appointment, that event should flow back into Google Ads within 24 to 48 hours as a conversion. This closes the loop between a keyword click and a job on the calendar. Without it, Google's algorithm treats form fills and calls as success signals, not booked appointments. It optimizes for volume, not quality. The setup is technical but not complicated. Most CRMs export a conversion file that uploads directly into the Google Ads interface. If the agency running your account hasn't done this, ask why.

How to Audit Your Existing Google Ads Account in One Hour

A one-hour Google Ads audit for contractors should cover five areas: keyword match types, negative keyword list, landing page relevance, conversion tracking setup, and quality score by ad group.

  1. 1
    Pull your search terms report
    Go to Keywords > Search Terms and filter for the last 90 days. Look for any term that cost money but is clearly not a buying-intent search for your service. Every one of those terms goes on your negative keyword list immediately.
  2. 2
    Check your match type distribution
    If most of your spend is on broad match keywords, your account is leaking. Shift the budget to phrase and exact match on your highest-intent terms and rebuild broad match only as a discovery layer with a much smaller budget.
  3. 3
    Test every landing page URL
    Click each ad and confirm it lands on a page specific to that service and location, not the homepage. Confirm the headline matches the ad copy. Confirm there is a visible phone number and form above the fold on mobile.
  4. 4
    Verify call tracking is firing
    Call your own forwarding number from a mobile device outside your office network. Confirm the call appears in Google Ads Conversions within a few hours. If it does not, the tracking is broken and you have been making budget decisions with incomplete data.
  5. 5
    Review Quality Score by ad group
    Quality Scores below 5 on high-spend keywords signal a mismatch between the keyword, the ad copy, and the landing page. Fixing this alignment, not raising your bid, is how you lower cost per click without reducing impression share.

Most agencies push Performance Max because it is easy to set up and easy to report on. The dashboard looks busy. The coverage looks broad. But a contractor with thin conversion history who launches Performance Max is handing Google a blank check and asking it to guess. Run Search first. Build the data. When you have enough data, test Performance Max against a hard budget cap.

How Google Ads Fits Into a Full Contractor Growth Stack

Google Ads fills the immediate-demand layer of a contractor's growth stack, capturing homeowners who are ready to buy right now, while SEO, outbound, and referrals build the longer-term pipeline.

Google Ads for contractors captures demand that already exists. It does not create it. A homeowner whose roof was damaged last night is searching right now. Paid search is how you get there before a competitor does. What paid search cannot do is reach the homeowner who doesn't know their roof has a problem, or who hasn't started thinking about impact windows yet. That gap is where outbound, a call center running targeted lists, and organic search carry the weight. We cover the outbound piece in our roofing leads guide and the organic side in our HVAC marketing hub. The contractors who grow fastest run all three channels at once: paid search for buyers who are ready now, outbound for proactive pipeline, and SEO for authority that stacks over the long run. The mistake is treating Google Ads as the only growth channel and cutting the budget when a slow month hits. Paid search is a faucet. Turn it off and the flow stops the same day. SEO and outbound are what keep traffic coming when the paid faucet is closed. Build the stack, not just the campaign. One honest caveat: Google Ads works cleanly above a certain average job size. Say your average ticket is $10,000 and each lead costs you $200: that math can survive. For a contractor whose average job is $800, that same cost per lead doesn't pencil out. Know your numbers before you set your budget. The channel isn't broken in those cases, the unit economics just require a different acquisition mix, one where outbound or SEO carries more of the load.

One commenter in an r/SEO thread on Reddit said it straight: marketers often "selectively interpret data to support a narrative that doesn't match reality." If your Google Ads report shows clicks and impressions but not calls, booked appointments, and closed revenue, you don't have a report. You have a slide deck. Demand the full attribution chain or change the agency.

What to Expect From a Google Ads Manager Who Knows the Trades

A contractor-focused Google Ads manager should deliver weekly search term reviews, a live call-tracking dashboard, monthly cost-per-lead reporting tied to job type, and proactive budget reallocation by service performance.

Generic agencies run Google Ads for everyone: dentists, law firms, e-commerce brands, contractors. The problem is that conversion mechanics for a roofing or windows job are nothing like a dental appointment or an online purchase. The job size is different. The sales cycle is different. The in-home appointment is the conversion, not the form fill. A manager who knows the trades optimizes for cost per sit, not cost per click. They know a homeowner calling Friday at 4 PM is a different lead than one calling Tuesday at 10 AM. They know "free estimate" works in roofing ad copy and falls flat for custom windows, where the scope conversation happens inside the home. They know which negative keywords show up in the search terms report for storm-restoration campaigns versus retrofit campaigns. They also know that ad scheduling, cutting spend during hours your phones go unanswered, is a direct lever on cost per booked appointment, not a nice-to-have. Here is what to demand from whoever runs your Google Ads for contractors: a weekly search terms review with negative keywords added before the next billing cycle, a live call-tracking dashboard you can access yourself, monthly reporting that ties cost per lead to job type and market, and a clear explanation of any budget shift before it happens, not after the money is spent. If they cannot deliver all four, the gap is in their expertise, not your budget.

Frequently Asked Questions

How much should a contractor spend on Google Ads per month?

There is no universal number, but the math starts with your average job size and your target cost per lead. Say a Florida roofer's average job is $15,000 and an HVAC contractor's average ticket is $600: the roofer can sustain a much higher cost per lead. Concentrate your budget on one or two high-margin services first, spreading a small budget across six service lines produces nothing measurable. The minimum is whatever buys enough daily clicks on your core keyword set to produce conversions you can measure within a month or two.

What is the difference between Google Ads and Local Services Ads?

Standard Google Ads are pay-per-click campaigns where you bid on keywords and control the landing page. Local Services Ads (LSAs) are pay-per-lead and appear above standard paid results, they show a Google Verified badge and allow homeowners to call or message you directly from the ad. For contractors in Florida, LSAs are worth running alongside Search campaigns for roofing and windows because the lead quality tends to be higher: the homeowner initiates contact after seeing the verified badge. The two products are complementary, not interchangeable.

How long does it take for a contractor's Google Ads campaign to produce results?

A well-structured campaign with a dedicated landing page and call tracking in place can produce calls within the first week. However, optimization takes 30 to 60 days of data. Smart bidding strategies learn from conversion data, so they get more reliable as conversions accumulate. Contractors should plan for a 60-day ramp period where the goal is data collection and account cleanup, not maximum lead volume.

Should a roofing contractor in Florida use Performance Max campaigns?

Not as a starting point. Performance Max campaigns need substantial conversion history to optimize reliably; with thin history, the algorithm has too little signal and tends to chase cheap, low-quality conversions. Roofing contractors in Florida should build Search campaigns first, accumulate conversion data, then test Performance Max as a secondary layer with a capped budget and a clear performance benchmark before scaling.

What keywords perform best for impact window contractors on Google Ads?

High-converting keywords for impact window contractors combine the service type, a location modifier, and a buying-intent signal. Examples: 'impact window installation [city],' 'impact window replacement near me,' 'hurricane window cost [city].' Research intent terms, 'what are impact windows,' 'impact vs standard windows', should go into a separate, small Demand Gen or Display campaign or be excluded entirely from Search campaigns. Phrase and exact match on your core buying-intent terms will almost always outperform broad match in cost per booked appointment.

How does Receipts Group run Google Ads differently from a standard agency?

Receipts Group is operator-run, not a generic agency. The systems we sell to contractors are the ones behind our own $23M-a-year windows and roofing company. We run paid search alongside outbound call centers and SEO, so the ads program is built to hand off to a sales floor that can close, not just generate clicks. Management pricing is available on a call.

Can a contractor run Google Ads and outbound calling at the same time?

Yes, and the combination outperforms either channel alone. Google Ads captures homeowners who are actively searching right now, high intent, often ready to book within days. Outbound calling reaches homeowners who haven't started searching yet but match the profile of a likely buyer: recent permit activity, age of roof or windows, storm-affected ZIP codes. Running both means your pipeline has an immediate layer and a proactive layer. Our own outbound floor sets about 650 in-home appointments a month for our own windows and roofing company.

Want Us to Look at Your Google Ads Account?

We run Google Ads and Local Services Ads for contractors, built to hand off to a sales floor that can close. Book a call and we will walk through your campaigns, your call tracking and your landing pages with you.