BeCited / Case Studies / Window Cleaning GEO Audit
Industry Research · Window Cleaning · 4 GEO Audits

Inside the window cleaning vertical. What four audits reveal about how AI picks a local home-services provider.

A six-week research project across 103 captures, four AI engines, and 101 competing brands in a single regional market. The findings apply to any established window cleaning operator: the gap between visibility and recommendation, the platforms that gatekeep AI answers, and the categories where almost every operator in the vertical is invisible. The relevance-engineering playbook at the end is the same one we run for any client in the category.

Research period: Apr 1 – May 10, 2026 (4 audits)
Vertical: Window cleaning · exterior services
Scope: 34 prompts × 4 engines · 103 captures
Market: 101 brands · 29 with significant share
Engines: ChatGPT · Claude · Gemini · Perplexity

Findings drawn from four progressively deeper audits of one anchor operator in this vertical: a Snapshot (Apr 1, 10 prompts, 3 engines), a 2-engine Full Audit (Apr 4), a Perplexity probe (May 2, 6 categories), and a full 4-engine, 34-prompt audit (May 10). Conclusions are vertical-level; the operator-level data is the lens.

Illustration of a window cleaner working on a high-rise building
8 of 10
Top brands <2% rec rate
Visibility without recommendation is the vertical's defining pattern
0.92
Discoverability gap
8% visible without brand name · 100% with it
21 of 31
Gaps from platform absence
Angi cited in 48% of captures · client listing rare
101
Competing brands AI surfaced
In one regional market · 29 with significant share
Block 01 — The Industry Pattern

In window cleaning, AI almost never picks a winner. It just lists everyone.

Across 103 captures in a single regional market, AI mentioned 101 distinct window-cleaning brands. It recommended one specific company in only 16 of those 103 answers. The pattern repeats at the operator level: every brand in the top 10 was visible in 12% or more of responses, and 8 of them were the primary recommendation in 1% or fewer. That is the defining shape of AI search in home services.

The top 10 brands AI surfaced in one regional market

Rank Brand Visibility Rec rate Mentions Recommendations
1 Anchor operator (market leader) 35% 12% 36 12
2 Competitor A 26% 0% 27 0
3 Competitor B 19% 0% 20 0
4 Competitor C 18% 1% 19 1
5 Competitor D 32% 1% 33 1
6 Competitor E 17% 0% 17 0
7 Competitor F 15% 1% 15 1
8 Competitor G 18% 1% 18 1
9 Competitor H 12% 0% 12 0
10 Competitor I 14% 0% 14 0

Source: 103-capture audit across ChatGPT, Claude, Gemini, and Perplexity, May 10 2026. Visibility = % of captures mentioning brand. Rec rate = % of captures where the brand is the primary recommendation. Names anonymized; the anchor operator is the regional market leader by review count and tenure.

The mention/recommendation gap
Eight of the top ten brands in this market are visible to AI but rarely the answer. The market leader sits at 12% recommendation rate — the highest in the entire vertical we measured. Visibility alone is table stakes. The structural opportunity is in the conversion from mention to recommendation, and it sits with whichever operator builds the right quotable content + source coverage first.

How AI answers a window-cleaning question, in three steps

Window cleaning is high-intent and local. Buyers search with location, urgency, or service-specific phrasing: "best window cleaning near me," "gutter cleaning in [city]," "how much does pressure washing cost." AI engines build answers in a predictable shape:

1. Engines defer to platforms first. In this market, Angi was cited in 48% of captures, Yelp in 32%, Thumbtack in 23%. The operator websites that show up are the ones the platforms already endorse.

2. Engines paraphrase the operator's own page next. What sits in the meta description, the headline, and the first paragraph is what gets quoted. If a differentiator isn't on the page in extractable form, AI cannot cite it — even when it's true.

3. Engines rarely commit to a single recommendation. When asked "best window cleaning in [city]," AI returns a list of 5–7 operators in roughly equal weight. The brand that crosses the gap into "primary recommendation" gets the click. Everyone else gets the list mention and no traffic.
Block 02 — Six Weeks, Four Audits

Each audit revealed more about the vertical than the one before it

We ran four audits on the same anchor operator over six weeks. Each one widened the lens — from a single category in audit one to nine analytical dimensions in audit four. With every expansion, the picture of where the vertical actually loses became sharper. The number to track in the cards below is not the score — it is the count of dimensions probed. That is what relevance engineering actually measures, and the work compounds with the lens.

Apr 1 · Snapshot
1
dimension probed
10 prompts · 3 engines · 30 captures
Tested: location-intent only
Scope-limited score 57
Reads like a reviews problem. The operator looks strong in their best category — the only one tested.
Apr 4 · Full v1
2
dimensions probed
10 prompts · 3 engines · 29 captures
Added: service-specific queries
Scope-limited score 46
Service queries enter the picture. Pressure washing and gutter cleaning surface as previously hidden weaknesses.
May 2 · Probe
6
dimensions probed
14 prompts · Perplexity probe · 14 captures
Added: cost, urgency, comparison
Scope-limited score 30
Root cause shifts: 9 of 10 gaps now “not_on_key_source” — the diagnosis moves from reviews to platform coverage.
May 10 · Full v2
9
dimensions probed
34 prompts · 4 engines · 103 captures
Added: brand-omission axis · journey stage · loyalty
Full-scope baseline 35
Vertical-wide pattern confirmed. 21 of 31 gaps root-caused to platform absence. The May 10 score is the true baseline.

Why scores aren't directly comparable across the four audits: each audit measured a different set of categories. The Apr 1 snapshot scored 57 because it only tested the operator's strongest category. The May 10 full audit scored 35 because it tested the operator across the entire vertical — including the cost, urgency, and service-specific queries the earlier audits never asked. The May 10 number is the honest baseline. Everything before it was a partial picture. The 90-day relevance engineering work is measured against May 10, not against earlier scope-limited scores.

The methodology lesson: small audits confirm what you already think. Wide audits surface what you don't. Most “GEO audits” sold to home-services operators today are 5–15 prompts in a single category. That sample size lets the auditor say “you need more reviews” without ever testing the cost, comparison, urgency, or service-specific queries where almost every operator in the vertical is invisible. The wider lens is the prerequisite for measurable improvement — not the cause of decline.

What each new dimension revealed

The May 10 audit added two analytical axes that no earlier audit had: the brand-omission axis (separating queries that include the brand name from queries that don't) and the journey-stage axis (separating awareness/familiarity/consideration/decision/loyalty). Both surfaced findings invisible to a smaller methodology.

Finding 1: The 0.92 discoverability gap

The same operator looks two completely different ways depending on whether the prompt includes their brand name. This is the metric most audits never separate.

Brand-omitted prompts
8%
visibility when AI is not told who to look for
73 captures · 6 mentions · 0 recommendations
Brand-included prompts
100%
visibility when the brand name is in the prompt
30 captures · 30 mentions · 12 recommendations (40% rec rate)
What this means for the vertical
Most window cleaning operators in their region are already strong on reviews. They’ll look fine in any audit that mostly asks brand-validation queries. But buyers who don’t know your name and ask “best window cleaning in [city]” get a list that often doesn’t include you — even when you’re the #1 operator in the market. That gap, not the score, is what relevance engineering closes.

Finding 2: Category performance, by buyer intent

Seven categories tested. Two are strong: review_validation and loyalty (both 100% visibility — these are brand-validation categories). Five are weak. The cost_inquiry category is at absolute zero: 14 prompts asking "how much does window cleaning cost in [city]," and the operator appears in none.

review_validation
100% / 100%
loyalty (existing customer)
100% / 33%
comparison ("alternatives to X")
93% / 7%
location_intent ("near me")
17% / 0%
urgency ("emergency / today")
6% / 0%
service_specific (gutters, etc.)
6% / 0%
cost_inquiry
0% / 0%

Visibility % / recommendation % for the market leader. Values are from the May 10 full audit (103 captures, 34 prompts, 4 engines). Sample sizes per category range from 6 to 24 prompts.

Finding 3: The journey is bottom-heavy

Layered against buyer-journey stage, the pattern looks like a funnel that’s strong at the bottom and invisible at the top. AI finds the operator when buyers already know what they want. It does not put them in the consideration set.

decision stage
61% / 24%
loyalty (existing customer)
100% / 33%
familiarity (early research)
33% / 0%
consideration ("which company")
8% / 0%
Root cause: source coverage, not reviews
Of 31 identified gaps in the May full audit, 21 trace to a single root cause: “not_on_key_source.” Across the vertical, AI cites Angi in 48.5% of captures, Yelp in 32%, Thumbtack in 23%. The anchor operator is on Yelp (48% survival rate — meaning when Angi lists window cleaners, AI includes them in citations 48% of the time), absent from Angi, and absent from Thumbtack. The same gap holds for nearly every operator in the vertical that isn’t a top-3 advertiser on those platforms. The fix is structural: get listed, get cited, get quoted.
Block 03 — The Five Patterns

Five patterns every window cleaning operator faces in AI search

These aren't unique to one operator. They surfaced repeatedly across 103 captures, 34 prompts, and 101 named competitors in a single regional market. Each pattern is a structural property of how AI engines handle local home-services queries. If you run an exterior-services business in a small or mid-sized market, four or five of these almost certainly describe you too — you just haven't measured them.
8/10
of top brands recommended <2% of the time
Pattern 01
The mention/recommendation gap
AI engines name 101 different brands in this regional market, but only two are actually recommended at a meaningful rate. The other eight in the top ten get named in passing — mentioned without endorsement, listed without ranking. The bar to appear in an AI answer is low. The bar to be recommended is steep and unevenly distributed. Operators who measure "visibility" alone walk away from audits feeling fine. Operators who measure recommendation rate see the actual conversion gap.
What to do: Track mentions and recommendations as separate metrics. The first tells you AI found you. The second tells you AI is willing to vouch for you.
48.5%
of AI citations route through Angi alone
Pattern 02
Platform gatekeeping
When AI engines answer window-cleaning queries, they defer to three platforms above all else: Angi (48.5% of citations), Yelp (32%), Thumbtack (23%). Operator websites rank far below in citation share. This is structural — AI engines trust review-aggregator authority more than direct operator marketing. Of 31 identified gaps in the full audit, 21 trace back to a single root cause: not listed (or poorly listed) on a key source. The implication: even a beautifully built website with strong differentiation cannot win against a competitor with a fully claimed and active Angi profile.
What to do: Treat the top three platforms as primary distribution, not optional directories. Audit your survival rate (% of mentions that survive AI's ranking filter) on each.
6%
visibility on service-specific queries
Pattern 03
The secondary-service blackhole
Most operators sell multiple services — window cleaning, gutter cleaning, pressure washing, solar panel cleaning. In AI search, only the primary service surfaces. Secondary services run at single-digit visibility because most websites list them as homepage bullets rather than dedicated pages. AI cannot extract a structured recommendation from "we also offer pressure washing and gutter cleaning." It needs a page with pricing, process, FAQs, and quotable customer language. The opportunity cost is significant: secondary services are typically higher-margin than the core service.
What to do: Build a dedicated /[service-name] page for any service below 30% recommendation rate. Bullet lists are invisible. Pages are quotable.
0%
recommendation rate on cost queries
Pattern 04
The cost-inquiry blank zone
Across 14 cost-related prompts ("how much does window cleaning cost in [city]", "average price for gutter cleaning") in the full audit, the anchor operator received zero mentions and zero recommendations. This isn't an operator problem — it's a vertical-wide content gap. Local service operators almost universally refuse to publish pricing because they want the lead before the quote. AI engines respond by routing cost queries to platforms that do publish ranges (HomeAdvisor, Thumbtack, Angi). The query intent is high — someone asking about cost is closer to buying — but the operator is invisible at the exact moment the buyer needs them.
What to do: Publish a "what does it cost" page with honest ranges, not exact quotes. The lead-capture loss is far smaller than the cost of being absent on high-intent queries.
0.92
discoverability gap (brand-omitted vs brand-included)
Pattern 05
The brand-name dependency trap
When buyers ask AI by name ("tell me about Crystal Clear Windows"), the operator shows up in 100% of responses. When buyers ask AI without the brand name ("best window cleaning in Bellingham"), the operator shows up in 8.2%. That 0.92 gap means the business is essentially invisible to the buyers who matter most — those who haven't heard of you yet and are doing genuine comparison shopping. Brand-included visibility is a vanity metric. Brand-omitted visibility is the only number that measures discoverability. Most home-services operators we audit run somewhere between 0.7 and 0.95 on this gap.
What to do: Run at least 60% of your audit prompts without your brand name. The brand-omitted recommendation rate is your true acquisition signal.

Each pattern is sourced from real audit data: scores.json and insights.json for visibility and recommendation rates, sources.json for citation distribution, gaps.json for root-cause attribution. Sample sizes range from 14 prompts (cost_inquiry) to 34 prompts (full audit) per pattern. None of the percentages are projected. They are measured.

Block 04 — Apply It

Six moves that translate the patterns into work an operator can run

The patterns are diagnostic. The moves below are the prescription — each maps to one or more of the five patterns and is structured so any window cleaning, exterior cleaning, or home services operator can run them in sequence. None of these require a rebuild. All six can be executed inside a 90-day cycle.

Move 01
Measure discoverability separately from brand-name visibility
The most important metric in our full audit wasn't the overall GEO score. It was the gap between brand-omitted and brand-included prompts. This operator has 100% brand-included visibility and 8.2% brand-omitted visibility. That 0.92 discoverability gap means they're essentially invisible to buyers who don't already know them. Most competitive window cleaning searches don't include a brand name. That's where the business is being lost.
  • Run at least 60% of your audit prompts without your brand name ("best window cleaning in [city]") to measure organic discoverability.
  • Compare brand-omitted visibility to brand-included visibility. A gap above 0.6 is significant.
  • Organic discoverability is fixed by source coverage and on-page signals, not more reviews on platforms that already list you.
Move 02
Put your differentiator on your site verbatim, then verify AI quotes it
Across all four audits, "15 years in business in the Pacific Northwest" surfaced in 0 of 35 AI mentions. The claim is real. It just wasn't in quotable form on any page. AI engines paraphrase what they can ground in source text. If your differentiator isn't in your copy, it doesn't exist for AI, even when it's genuinely true. Compare: "voted best window cleaning service in Bellingham four consecutive years" did surface, in 6 of 17 mentions in the April audit. The difference is copy placement and phrasing.
  • Write your top 3 differentiators exactly as you'd want AI to quote them: specific numbers, named credentials, verifiable claims.
  • Verify each appears verbatim on your homepage or About page. If not, add it.
  • Repeat in variant form on 2 to 3 service pages and in your LocalBusiness JSON-LD schema.
Move 03
Get listed on the key sources driving 21 of your 31 gaps
In our full audit, 21 of 31 identified gaps had a single root cause: "not_on_key_source." AI is looking for this operator on Angi, Thumbtack, and HomeAdvisor to answer buyer questions. The client is listed on Angi but with a low survival rate (54%); HomeAdvisor shows 5 AI citations in the market and the client isn't listed. This isn't a content problem. It's a directory coverage problem. The fix is faster and cheaper than creating new pages.
  • Audit which platforms AI cites when recommending competitors. Those are your missing source targets.
  • Claim and fully populate HomeAdvisor, Nextdoor, and any platform with more than 3 citations in your competitive set.
  • On platforms where you're already listed, check whether AI actually cites you from those listings ("survival rate" in the audit).
Move 04
Build dedicated pages for secondary services. Not a bullet list.
Pressure washing ran at 11% recommendation rate in the April audit; gutter cleaning at 22%. Both well behind the overall score. In the full May audit, "service specific" queries showed only 6% visibility across the category. Exterior cleaning operators typically list secondary services as homepage bullets. AI can't extract structured recommendations from bullet lists. A dedicated page with pricing, process steps, an FAQ block, and customer quotes is what changes that.
  • Score each service's recommendation rate independently, not just the brand average.
  • Build a dedicated /[service-name] page for any service below 30% recommendation rate.
  • Structure it: intro, process steps, pricing range, FAQ block, 3 to 5 customer quotes with first names, and service-specific LocalService JSON-LD schema.
Move 05
Triage your passing-reference prompts. These are the cheapest conversions.
The April audit surfaced 4 prompts where AI named this operator without endorsing them. On Perplexity, one response read: "Mt. Baker Window Cleaning (voted best window cleaning, offers house washing)" while the primary recommendation went to a competitor described as "Bellingham's top-rated pressure washing company with over 700 five-star Google reviews." The problem isn't visibility. AI found them. They need one stronger reason to flip to a recommendation. The fix is content, not directory claims.
  • Pull every prompt where you appear in AI answers but aren't the primary recommendation.
  • Read the winning brand's AI quote on that prompt. That's the bar to beat.
  • Add the equivalent or stronger claim with a specific number or verifiable credential to the relevant page.
Move 06
Re-audit at 90 days. Track recommendation rate and discoverability, not just visibility.
Visibility is the easiest number to report. It's also the one that matters least. A brand can be visible in 60% of responses and recommended in 12%. This audit tracks recommendation rate per engine, per service category, and per brand-omission axis. That's how you know whether the content changes actually worked or whether you're just seeing noise. 95% binomial confidence intervals on every dimension prevent misreading small-sample fluctuation as meaningful movement.
  • Schedule a re-audit against the same prompt set after each content shipping cycle.
  • Track brand-omitted recommendation rate separately. That's the discoverability metric.
  • Use 95% CI to confirm real movement. Small sample sizes make fluctuation easy to misread as progress.
Who this applies to
If you run a window cleaning, exterior cleaning, or home services business in a regional market with 5 to 30 named local competitors, this pattern almost certainly applies to you. The discoverability gap (visible with your name, invisible without it) and the mention/recommendation gap (AI knows you, AI doesn't endorse you) are the two most common findings in home-services GEO audits. Review density gets you into the AI ecosystem. On-page differentiation, source coverage, and dedicated service pages are what convert that presence into recommendations from buyers who've never heard of you.
Block 05 — What Relevance Engineering Delivers

The measurable lift relevance engineering targets in a 90-day cycle

Below are the targeted deltas drawn from the May 2026 full audit playbook for the anchor operator — the same targets any window-cleaning operator running this work could aim for. The "from" column is measured. The "to" column is the playbook commitment. None of these are projected outcomes: they are the success metrics the audit explicitly defines, against which the 90-day re-audit (scheduled August 2026) will be scored.

Metric From (measured) Target (90-day) Lever
Discoverability brand-omitted visibility — the "they've never heard of you" buyer 8% 25% Source coverage
Perplexity recommendation rate how often Perplexity actually picks you, not just mentions you 12% 40% On-page content
ChatGPT recommendation rate currently the worst-performing engine, biggest single uplift opportunity 0% 20% Source coverage
Differentiator surfacing your strongest claim appearing in AI quotes (currently zero) 0% 20% On-page content
Consideration-stage visibility presence in the comparison and shortlist stage of the buyer journey 8% 25% Service pages
Passing-reference flips prompts where AI names you in passing, converted to a primary recommendation 0 of 4 2 of 4 Triaged content

Targets are calibrated against the full audit's confidence intervals (95% binomial). A 30-point uplift on Perplexity is significant at this sample size; a 5-point move would not be. The re-audit will score against the same prompt set so the comparison is apples-to-apples. We don't fabricate wins. If a target isn't hit, the next audit will say so on the page.

The arc. The patterns in Block 3 describe the disease. The moves in Block 4 are the treatment. The numbers in this table are the prognosis. Relevance engineering is not a synonym for "more SEO" or "more content." It is the discipline of measuring what AI actually recommends, identifying the root cause of where the brand is absent, and engineering the specific signals (source listings, on-page differentiators, service-page depth, schema) that flip a passing mention into a primary recommendation. This is what a $2,000 audit followed by a $1,500 quarterly engagement is designed to produce.
About BeCited

Want to see your numbers, not someone else’s?

BeCited is a $2,000 GEO audit service. 100–300 buying-intent prompts, 4 AI engines, 15 site-readiness checks, scored against your real competitors with 95% confidence intervals. Delivered in one week by a named analyst.