Why a $75 Windows Lead and a $160 Windows Lead Book the Same Number of Jobs in 2026

Split-panel header with article title in white on dark teal background with green accents.

Share This Post

TL;DR

  • For replacement window and exterior door Google Ads, ungated forms typically run lower CPLs at set rates around 20–30%, while gated forms run higher CPLs at set rates closer to 50–65%. Both can land at similar cost-per-set-appointment depending on the account.
  • The only metric that maps to revenue for in-home-consult sales is cost-per-set-appointment (CPSA): CPL ÷ set rate. Headline CPL on its own is a misleading number.
  • Performance Max windows campaigns often show lower CPL than Search, but lower set rate, which makes them look better on the dashboard and worse in the funnel.
  • For a $12K–$18K window job, your maximum profitable CPSA usually lands in the $400–$600 range, assuming roughly 35–40% gross margin and a 25% acquisition-to-profit ratio.
  • The fix is contractual: force your agency to push campaign ID and ad-group ID into your CRM as hidden fields, then map appointment-set status back weekly.

The reason windows and doors lead gen Google Ads cost-per-lead keeps fooling contractors in 2026 is not the CPL itself. It is that the sale does not happen at the form fill. It happens at the kitchen table, three to ten days later, after a CSR makes a callback, a homeowner agrees to a 90-minute consult, and an installer actually sits down with both decision-makers in the home.

Everything between the form fill and that sit is where CPL stops predicting revenue. A $75 form-fill from a Performance Max placement and a $160 form-fill from a gated Search ad can produce identical booked-job economics. They can also produce wildly different ones. The dashboard will not tell you which.

Portrait decision-tree infographic in teal and green comparing Google Ads cost per lead for windows and doors.
windows and doors lead generation google ads cost per lead — metrics and decision framework.

This piece walks through the math, typical 2026 cost patterns, and the contract terms that force your agency to report the only number that matters: cost-per-set-appointment.

The Set Rate Is the Variable Every Agency Hides Behind a Blended CPL

Set rate is the percentage of qualified leads that turn into confirmed in-home appointments. Across windows and doors funnels, ungated forms typically run 20–30% and well-gated forms can push 50–65%. That is a 2-to-3x spread on the same underlying spend.

Most agencies report a single account-level CPL. That blended number lets failing ad groups hide inside winning ones. When you isolate set rate by campaign and ad group, the pattern is almost always the same.

You typically find one or two ad groups carrying 65%+ set rates at $150+ CPLs. Those are the engine. Hiding behind them: three or four ad groups running 18–25% set rates at $50–$70 CPLs. Those are loss leaders. The account average looks fine. The cash flow does not.

Key Concept: Set rate = confirmed in-home appointments ÷ qualified leads. A confirmed appointment means the homeowner has agreed to a specific date and time, both decision-makers will be present, and the CSR has logged the confirmation. A lead you spoke to but could not book is not a set.

Why Performance Max Concentrates the Set-Rate Damage

Performance Max pulls inventory from Display, YouTube, Discover, Gmail, and Search all at once. Per Google’s documentation on Performance Max for lead generation, the campaign optimizes toward whatever conversion event you feed it. Feed it form-fills, and it will find the cheapest form-fills available.

Those cheap form-fills often come from low-intent Display and YouTube placements where renters, apartment dwellers, and casual browsers click through. They convert at the form. They do not sit for a 90-minute consult.

Broad-match Search terms like cheap windows, window repair cost, and window prices tend to do the same thing on the Search side. Cheap CPL, cratered set rate.

Ungated, Mid-Gated, and Fully-Gated Forms Often Converge on Similar CPSA

Here is the math. Three side-by-side scenarios, same underlying spend, same lead source, different form configurations. Numbers below are illustrative of the patterns we see in windows funnels, not a published benchmark.

Form Type Headline CPL Set Rate Cost-Per-Set-Appointment
Ungated (name + ZIP + phone) $75 25% $300
Mid-gated (+ homeowner attestation + project timeline) $120 45% $267
Fully-gated (+ ZIP validation + soft-pull financing pre-qual) $160 60% $267

The fully-gated form has a CPL that is more than double the ungated form. Its cost-per-set-appointment is roughly 11% lower.

The formula is simple: CPSA = CPL ÷ set rate. Extend it one more layer to get cost-per-sat-appointment (some confirmed appointments cancel or no-show): CPSA ÷ sit rate. Extend once more to cost-per-booked-job: ÷ close rate.

Plug in reasonable windows assumptions, say an 80% sit rate on confirmed appointments and a 40% close rate on sat appointments, and the $267 CPSA becomes roughly $834 cost-per-booked-job. On a $15K average ticket at 40% gross margin, that is a 14% customer acquisition cost. Profitable.

The $300 ungated CPSA becomes roughly $938 cost-per-booked-job. Still profitable, but with a thinner cushion when sit rate drops in December or close rate drops in a financing-tight quarter.

The Three Gates That Move Set Rate Without Crashing Volume

Not every form gate is worth adding. Three move set rate consistently without destroying volume:

  1. Homeowner attestation checkbox. A single required field: “I own the home where the work will be performed.” You typically lose 10–15% of form-fills and gain enough set-rate lift to come out ahead, because most of the lost leads were renters or non-decision-makers.
  2. Project timeline radio buttons. “When are you looking to start? (0–3 months / 3–6 months / 6–12 months / Just researching)” Pause or downweight the Just researching segment. The buyers in the 0–6 month bucket set at meaningfully higher rates.
  3. Soft-pull financing pre-qual. Optional checkbox: “Want to see if you pre-qualify for financing? (Soft credit pull, no impact to credit score.)” The homeowners who opt in have signaled real buying intent, and they set at the highest rates of any segment.

Stack all three and you are at fully-gated. Add only the first one and you are at mid-gated.

Where Financing Soft-Pull Belongs in the Form Sequence

Put it last. The first three fields stay frictionless: name, ZIP, phone. Then attestation, then timeline, then financing as the optional final step. Friction front-loaded kills completion. Friction at the end qualifies the people who finish.

Performance Max Wins the Dashboard and Loses the Funnel for Windows and Doors

Apply the CPSA lens to the campaign-type question every windows contractor asks: Should I be on PMax, Search, or LSA?

A representative pattern across windows accounts: Performance Max often shows a lower headline CPL than equivalent Search campaigns, but also a meaningfully lower set rate. Illustrative math:

  • Search at $140 CPL × 50% set rate = $280 CPSA
  • PMax at $95 CPL × 28% set rate = $339 CPSA
  • LSA at $110 CPL × 55% set rate = $200 CPSA

The dashboard shows PMax winning. The funnel shows LSA winning and Search a close second. This is the exact pattern we covered in our analysis of Performance Max alternatives for lead generation. PMax has a fast-conversion bias that punishes any sales motion with a real qualification step.

Operator Note: Local Service Ads for windows are not available in every market, but where they are, they typically deliver the highest set rate of any channel. The leads come in as calls, the homeowner has self-selected by clicking Get a quote on your verified profile, and Google’s dispute process gives you a path to credit obviously unqualified calls. Run LSA first, then layer Search, then test PMax under a tight conversion-event setup.

The Broad-Match Terms That Quietly Crater Your Set Rate

Pull a search-terms report and look for these patterns. Each one tends to carry a low set rate:

  • cheap windows / cheapest windows
  • window repair / broken window
  • DIY window installation
  • window glass replacement (single-pane buyers, not full replacement)
  • apartment windows / rental windows

Negate them at the account level. The recent change to how Google paraphrases search terms (covered in our search-terms-report rebuild playbook) makes this harder than it used to be, but the negatives still work where the literal query was matched.

Your Maximum Profitable CPSA Is Roughly $400–$600 for a Typical $12K–$18K Window Job

Build the ceiling backward from unit economics so you know when to scale and when to kill.

Formula: Maximum profitable CPSA = (AOV × gross margin %) × effective close rate from set × target acquisition-to-profit ratio.

For a typical replacement window contractor:

  • AOV: $15,000
  • Gross margin: 40% (consistent with the margin ranges reported across window replacement contractors)
  • Gross profit per sold job: $6,000
  • Close rate on sat appointments: 40%
  • Sit rate on confirmed appointments: 80%
  • Effective close rate from a set appointment: 32%
  • Target: spend no more than 25% of gross profit on lead acquisition

Maximum profitable CPSA = $6,000 × 32% × 25% = $480 per set appointment.

That is your ceiling. Anything below it is profitable. Anything above it is profitable only if your close rate or AOV is above the assumptions. Your number will move depending on your actual margins, sit rate, and close rate, which is why you have to do the math with your own data, not borrowed averages.

Ungated accounts running $300–$420 CPSA have headroom. The contractors who get burned are the ones running $500–$650 CPSA on PMax while their dashboard shows a healthy-looking $90 CPL.

Quick Win: Calculate your own maximum profitable CPSA this week. Pull your real AOV, gross margin, sit rate, and close rate from the last 12 months. Multiply them together with a 25% acquisition-to-profit ratio. Compare that number to your current CPL ÷ set rate. If you do not know your set rate by campaign, that gap is your next conversation with your agency.

The Callback SLA That Protects 15–25 Points of Set Rate

Callback speed is the single biggest lever inside the funnel that the agency does not control. The widely cited Harvard Business Review research on online lead response found that contacting a lead within 5 minutes vs. 60 minutes increased qualification odds by roughly 21x.

For windows specifically, the pattern across accounts is consistent with that research: callbacks inside 5 minutes set well above next-day callbacks, often by 20+ points. If your CSR team cannot answer the phone in 5 minutes during business hours, you are leaving real set-rate points on the table. That changes the entire CPSA math.

How Seasonality Shifts the Ceiling Between Q1, Peak, and Q4 Financing Season

Q1 typically shows higher set rates (homeowners researching after the holidays) and average close rates. Peak summer often shows lower set rates (vacation no-shows) but higher close rates when sits do happen. Q4 can look great on set rate but close rate often collapses because financing rejections spike. Homeowners over-extended on holiday spending get declined on the soft-pull or hard-pull.

Factor seasonality into your kill thresholds. An ad group running a 35% set rate in November might be fine if it ran 55% in March.

The Contract Terms That Force Your Agency to Report CPSA, Not CPL

The fix is not a tool. It is a data contract. Here is what to require in the scope of work.

1. Hidden form fields on every submission. Campaign ID, ad group ID, keyword (or asset group for PMax), and click ID must pass into your CRM as hidden fields on every form. This is standard with Google Ads enhanced conversions for leads, but most agencies do not bother wiring the campaign-level identifiers because they make accountability easy.

2. Weekly set-rate reporting by campaign and ad group. A simple table: campaign, ad group, leads, sets, set rate, CPL, CPSA. Sorted by CPSA. Anything else is theater.

3. Kill thresholds in writing. Recommended defaults: any ad group under a 30% set rate after 30 leads gets paused for review. Any ad group with a CPSA above your maximum profitable ceiling for two consecutive weeks gets paused. The agency proposes exceptions; the contractor approves them.

4. CRM access for the agency, not just spreadsheet exports. The agency needs read access to the appointment-set field in your CRM. Spreadsheet exports get stale, get edited, and get blamed.

5. Monthly reconciliation against booked revenue. CPSA is the leading indicator. Booked revenue is the lagging one. Reconcile monthly so the agency can see which campaigns are setting appointments that actually close.

What to Do When Your Current Agency Cannot or Will Not Comply

If your agency pushes back on hidden-field setup, that is the answer. The technical lift is roughly four hours of work: one for the form, one for the CRM mapping, two for testing. An agency that cannot do four hours of integration work to show you their own results is not running the funnel. They are running the click.

Give them 30 days. If the reporting does not show up by day 31, start looking. The same dynamic applies in adjacent contractor verticals, as we laid out in our concrete contractor agency buyer guide. Agencies who cannot report at the appointment level rarely improve on it later.

Related guides

Frequently Asked Questions

What is a realistic set rate from a Google Ads form-fill to a confirmed in-home appointment for windows in 2026?

Ungated forms typically run 20–30%, mid-gated forms with homeowner attestation and project timeline run 40–50%, and fully-gated forms that add ZIP validation and soft-pull financing run 50–65%. If your agency reports anything above 70% on ungated traffic, ask how they are defining set. It is probably including unconfirmed callbacks.

How do I calculate cost-per-set-appointment if my agency only reports CPL?

CPSA = CPL ÷ set rate. If your CPL is $90 and your set rate is 30%, your CPSA is $300. The hard part is not the math. It is getting set rate by campaign and ad group rather than as an account average. Push hidden campaign and ad-group IDs into your CRM as form fields, then map appointment-set status against those IDs weekly.

Should a windows contractor at $25K/month use Performance Max, Search, or LSA for the lowest cost-per-booked-job?

Start with Local Service Ads where available. They typically deliver the highest set rate. Layer standard Search on intent-clear keywords like replacement windows, new windows cost, and window installation [city]. Test Performance Max last, with tight conversion events and an explicit homeowner-attestation gate on the landing page. PMax on autopilot will burn budget on Display placements that look great on CPL and terrible on CPSA.

How fast does my CSR team need to call back a Google Ads windows lead to keep set rate high?

Inside 5 minutes during business hours. The HBR lead-response research shows a 21x drop in qualification odds between 5 and 60 minutes, and the pattern is consistent in windows funnels. If your team cannot hit 5 minutes, route after-hours leads to an answering service with a scripted appointment-setting flow.

Will adding a homeowner attestation checkbox crash my lead volume?

You typically lose 10–15% of form completions and gain enough set-rate lift to come out ahead. The math almost always favors adding the checkbox because the leads you lose were going to be renters or unqualified browsers anyway. The agency-side counterargument, we will get less volume to feed Smart Bidding, is real but usually overweighted. Smart Bidding optimizes against the conversion event you give it. Give it qualified leads and it learns on qualified intent.

Why does my Performance Max windows campaign show a $62 CPL but my installers only sit 1 in 5?

PMax is pulling form-fills from Display and YouTube placements where the audience is far from buying intent. The forms complete because the threshold is low. The homeowners do not pick up the callback or do not agree to a 90-minute consult. The fix is either tight conversion-event setup (only fire the conversion when a homeowner-attested form is submitted) or pause PMax until your Search and LSA volume is maxed out. We covered the broader pattern in our Performance Max alternatives breakdown.

When LSA leads come in, should they count toward the same set-rate math as Search leads?

Report them separately. LSA leads come in as phone calls, not form-fills, and the qualification step happens live on the call rather than after a callback. Mixing them into a blended set-rate number obscures both channels. Track LSA’s call-to-set rate and Search’s form-to-set rate as distinct metrics, then compare CPSA across channels.


If you are spending $25K–$500K a month on Google Ads for replacement windows or exterior doors and you cannot see your cost-per-set-appointment broken out by campaign and ad group, you are not optimizing. You are guessing. Book a free strategy call with Elevarus and we will run a CPSA-level audit of your current account: where your real cost-per-set-appointment lands by campaign, which ad groups are carrying the engine, and which ones are quietly costing you booked jobs.


Ready to put this into action?

Picture of SHANE MCINTYRE

SHANE MCINTYRE

Founder & Executive with a Background in Marketing and Technology | Director of Growth Marketing.