Case Study/Window Replacement████████████CLIENT · ANONYMIZED/Mountain-West Metro
Engagement · Jan 1 – May 15, 2026

How a regional window installer added $562K in measured digital revenue in 4.5 months, and lifted monthly close run-rate +61% over baseline.

What happened when a mature window-replacement operator handed over a dormant digital program (paid search, LSA, Maps, organic, and the measurement pipeline underneath all of it) to Blue Glass Insights.

IndustryResidential window & door installation
Avg Ticket$8,000 – $30,000+
Engagement4.5 months · ongoing
Report DateMay 18, 2026
01 Return on investment
$0.00 / $1
Gross revenue per dollar invested across ad spend and agency fees.
02 Monthly close lift
+0%
All-channel monthly closed revenue vs. 2025 pre-engagement baseline.
03 Cost per lead
0%
Google Ads CPL Jan → April while spend nearly doubled.
04 Paid search restart
$0 → 0K
Monthly closed revenue from a Google Ads account dark for 9 months.

The Company

A healthy operator running on tired digital infrastructure.

The client is an established residential window and exterior-door installer serving a multi-metro market across the mountain-west region. They install replacement windows, sliding glass doors, and exterior systems. A high-ticket category where one job averages $8,000–$30,000+ and the entire sales cycle hinges on an in-home demo and quote.

Before engaging Blue Glass Insights, the company's lead mix leaned on offline channels: home shows, canvass teams, referrals, and previous-customer rehash. Digital was a small slice of the pie, and the paid search account had been paused for 9 of the 12 months of 2025. A strong sales team. Tired infrastructure. No real visibility into what was working.

The Problem

They had inventory in the funnel. They couldn't see most of it.

In the first two weeks we audited the existing digital stack end to end: Google Ads, LSA, Google Business Profile, the WordPress site, GA4, and the LeadPerfection CRM. What we found was less a marketing problem than an operational one.

  1. 01
    Paid search had been dormant for 9 months.

    A working channel was sitting at zero, while competitors collected the demand.

  2. 02
    Conversion tracking was silently broken.

    A "Flying Scripts" plugin deferred the gtag script in a way that hid three months of conversion data from Google Ads. Spend was flowing; signal wasn't returning.

  3. 03
    The mobile site was failing Core Web Vitals.

    Lighthouse mobile score of 61. Total Blocking Time over 5 seconds. 80% of main-thread work happening before the page was usable.

  4. 04
    Their #1 inbound channel was unmanaged.

    42% of all tracked calls came in through GBP and Maps. No review-response cadence, no posts, no service-area schema.

  5. 05
    CRM attribution was unreliable.

    Customers who clearly found the company through Google were being entered as "Previous Customer" or "Rehash", washing out digital's contribution and undercutting the case for reinvestment.

  6. 06
    A 2.0★ Yelp profile was syndicating into Apple Maps.

    Half of iOS prospects saw a 2.0★ reputation, while the real Google rating was 4.7★ across 800+ reviews.

Diagnostic: the client didn't have a leads problem. They had a digital infrastructure problem hiding under a healthy P&L. Offline channels were carrying the business while the digital channels were being undercut by their own settings, plugins, and unmonitored listings.

The Approach

Four overlapping streams across the first 90 days.

Turn on the channels that were off. Fix the measurement under them. Make sure every dollar going out the door had a number coming back attached to it.

Stream01
Stream 01 · Paid Search

Paid Search Resurrection

The Google Ads account had been dark for most of 2025. We restarted it from January 1, 2026 with a tightly-scoped campaign structure: replacement-window queries, service and warranty queries, and a separate brand-defense layer.

Landing-page-specific tracking went live week one. We ran a weekly 74-point audit against the account through April.

Stream02
Stream 02 · LSA + GBP

Local Services Ads + Google Business Profile

LSA was active but uncoached: wrong service categories, no review velocity, no proactive lead dispute discipline. We rebuilt the category mapping and set up weekly LSA lead reconciliation against the CRM to catch un-tagged sales.

We turned the GBP profile into a managed asset: schema markup across service-area pages, scheduled posts, automated review responses on the 4.7★ × 800+ Google profile, and an active dispute process targeting the Apple Maps Yelp drag.

Stream03
Stream 03 · Tech + Measurement

Technical Performance + Measurement Pipeline

We rebuilt the measurement stack from the ground up. Diagnosed and fixed the Flying Scripts gtag bug, set up GA4 + Google Search Console + Google Ads OAuth, deployed a fail-safe key event for conversion tracking, and built an end-to-end LP API → CallRail → GA4 → GSC → Google Ads pipeline.

In parallel on the site itself: WebP conversion across hero assets, a custom mu-plugin for inline CSS delivery, and CLS fixes on the homepage and service pages.

Stream04
Stream 04 · Attribution

Attribution Discipline

The last stream was the unglamorous one. We built a reconciliation report that cross-references every "Previous Customer" sale in the CRM against CallRail history, web-form submissions, and the channel-specific tracker registry.

Goal: surface every sale where a previous-customer tag was hiding a Google-sourced inbound call. Not a huge slice of total revenue, but it changed how the client credits digital channels internally and made the case for reinvestment defensible with line items, not impressions.

The Results

4.5 months in. The numbers, with the math behind them.

Period: January 1 – May 15, 2026. Revenue figures are verified contract amounts from the LeadPerfection CRM, cross-referenced against CallRail and the channel tracker registry.

BGI-attributable gross
$0
Verified contract amounts
Net after deductions
$0
Rescissions, credit declines, legal-active
Marketing investment
$0
$45,475 ad spend + $25,986 fees
Return on ad spend (platform)
$0.00 / $1
Google Ads only, excluding agency fees
Inquiries
0
CallRail calls + form submissions
Appointments scheduled
0
From BGI-attributable channels
Closed sales
0
30 of 74 demos, 40.5% close rate
Organic CTR lift
0.000.00%
GSC tracked-keyword set

Mobile performance, before / after

Lighthouse · root + service pages
Tech rebuild
Before · Dec 2025
0
Mobile Lighthouse
After · April 2026
0
Mobile Lighthouse
Total Blocking Time
>5,000 ms40 ms
Main-thread JS work
80% pre-usableDown 80%

Revenue by acquisition channel

BGI-attributable · Jan 1 – May 15
Channel mix
TOTAL$562K
GBP / Maps + Organic$298K · 53%
Paid Search$136K · 24%
Local Services Ads$129K · 23%
GBP share of all tracked calls42%

From inquiry to closed sale

BGI-attributable funnel · 901 → 30 · 40.5% demo-to-close
Funnel
Inquiries
0
Appointments
0
10.3% of prior
Demos sat
0
79.6% of prior
Closed sales
0
40.5% of prior

What the Owner Said

Pulled from a 30-minute interview the week of May 18.

“When we turned paid search back on after nine months of silence, I braced for the usual slow trickle, but seeing the revenue hit the books within the first forty-five days was the exact moment the pressure lifted.”

Owner, Regional Window Replacement Company

The Lesson

The client didn't have a marketing problem. They had a measurement problem hiding under a healthy P&L.

The hard part of home-services growth in 2026 isn't getting in front of homeowners. It's knowing, at the line-item level, which channels are actually producing the revenue, which leads were already going to convert, and which dollars are paying for themselves vs. quietly underwriting a stalled paid account.

What changed for the client isn't that they got new ideas about marketing. They got the channels they were already paying for, and the ones that had been turned off entirely, to actually show up as revenue in the CRM, with the math to defend reinvestment.

Next step

Schedule a consultation.

Most home-services operators we meet don't need more leads. They need someone to find the operational clogs (the broken tracking, the mis-tagged CRM entries, the channel that's been quietly off) and shorten the path from inquiry to signed contract.

  • ▸ 01Operational diagnostic. Where the funnel slows down, and where leads silently leak out before a rep ever calls.
  • ▸ 02Attribution audit. Which channels your CRM is hiding behind a “previous customer” tag, and how to surface them.
  • ▸ 03Speed-to-client review. The 3–5 fixes that get a rep in front of an interested homeowner faster than your competitors.
  • ▸ 04A clear recommendation. Whether we're a fit to deploy the system this case study describes, or whether you can run it yourself.
30-minute call · No commitment · Reviewed by a senior strategist
Published May 2026 · Blue Glass Insights