A FIELD STUDY · AUGUST 2026
2,475 businesses · 281,646 data points · 13 million Google reviews represented · 4,080 live AI answers · 10 categories · 12+ metros
Researched and written by Glenn, StyleForge. Shared in the hope the patterns are useful. Quote and share freely with attribution. If you spot an error, tell me and I’ll correct it.
Why this study exists
I’ve spent about 40 years in the creative industry. I’ve owned agencies, worked at agencies, and hand-built hundreds of websites over the years. The last couple of years I’ve been building software, and somewhere along the way I got genuinely curious about a question I couldn’t find good data on: as buying decisions start flowing through AI assistants, how well positioned are the businesses that are winning today?
Not the average business. The winners. The companies at the top of their market, with the most reviews, the strongest reputations, the ones everybody assumes have this handled.
So over one weekend in August 2026 I audited 2,475 of them. Six local categories (HVAC, plumbing, roofing, electrical, med spas, restaurants) across a dozen major US metros, pulled by review volume so the sample skews deliberately toward the market leaders. Four ecommerce categories (premium supplements, budget supplements, skincare, pet) pulled from public Shopify store directories. The same technical audit ran against every one of them: site health, structured data, review implementation, visible tracking pixels, AI-crawler policy, page speed, and for a stratified subsample, 4,080 live answers from ChatGPT, Claude, Gemini and Perplexity.
I went in assuming the leaders had this handled and the little guys didn’t. That is not what came back.
This document is the full record: the findings, the tables behind them, and exactly how the checks were run so you can verify any of it on any site in a few minutes, including your own. Nothing here requires my tooling to reproduce on a single site; the tooling just made it possible to do it 2,475 times in a weekend.
How to read these numbers
- The sample is review-volume-sorted market leaders, not a random draw. Every rate in this report describes the leader cohort of each market. Read every stat as “even among the leaders…”
- 2,475 businesses passed the completeness bar; 2,345 of them produced a full technical audit and are the denominator for the technical stats. Where a smaller denominator applies (probes, advertisers), it’s stated inline.
- Recognizable consumer brands appear in the sample (names like Rhode, Fenty Beauty, Glossier, Thrive Causemetics, AG1, BARK). To keep this fair, I name brands only as examples of who’s in the sample. Individual findings are stated without attribution, and local businesses are never named at all.
- Every claim carries its numerator and denominator. Where a check has a known blind spot (server-side tracking, probe variance), the caveat is in the finding, not a footnote.
The six headline findings
Each of these gets its own section below. The short version:
- 89.2% of the audited leaders carry none of their reviews as machine-readable markup on their own site. 12.2 million reviews are affected.
- 79.7% of the businesses actively running Meta ads show no browser-detectable Meta pixel on their public site.
- 87.9% have made no decision about any of the five major AI crawlers in robots.txt.
- Yet 35% of local leaders already publish an llms.txt file, a convention with no verified benefit. Adoption is running ahead of proof.
- 86% of probed ecommerce brands were never named in a single AI discovery answer, including brands with six-figure review counts. Recognition is not discovery.
- Premium and budget brands fail at statistically identical rates. Price does not buy execution.
The headline rates at a glance
Bar chart of the study's five headline rates: 89.2% of 2,345 fully-audited market leaders have no review schema markup on their own site; 87.9% of 2,345 have no robots.txt directive for any major AI crawler; 79.7% of the 636 businesses actively running Meta ads have no browser-detectable Meta pixel; 86.1% of probed ecommerce brands were named in zero of twelve unbranded AI discovery answers; 35.0% of 1,383 local market leaders publish an llms.txt file.
| Label | % of market leaders |
|---|---|
| No review schema (of 2,345 audited) | 89.2 |
| AI crawlers unaddressed (of 2,345) | 87.9 |
| Meta advertisers, no visible pixel (of 636) | 79.7 |
| Ecom brands never named in discovery (probed subsample) | 86.1 |
| Local leaders shipping llms.txt (of 1,383) | 35 |
Each rate is stated with its own denominator; the green bar (llms.txt adoption) is the one finding that runs the opposite direction of the others.
Finding 1 · The invisible reviews
These 2,475 businesses hold just over 13 million Google reviews between them. That’s the asset they spent years earning, review by review. And on their own websites, almost none of it exists in a form machines can read: 2,092 of the 2,345 fully-audited businesses (89.2%) have no review schema markup of any kind. Weighted by volume it’s worse: 95.8% of the reviews held by fully-audited sites sit on domains with no review markup.
It isn’t just markup. 464 businesses (19.8%) display no review proof on their site at all: no widget, no testimonials, nothing. For restaurants it’s 81.7%. The most-reviewed HVAC company in the entire 250-company HVAC cell, in a major southern metro, has 36,156 reviews at 4.9 stars, and its website shows zero of them.
One thing I want to be precise about, because it’s the first objection a technical reader will raise: Google ignores self-serving review markup on a local business’s own pages for star snippets, so adding schema will not magically put stars in a local company’s search results. True, and not the point. The point is twofold: a customer who lands on your site sees no reason to trust you without leaving for Google, and the AI systems increasingly answering “who should I call” get far less first-party context about the reputation you’ve earned than you could be giving them. Ecommerce is a different story: proper markup on product pages still qualifies for rich results, and 98.4% of the ecom brands don’t have it.
And these were not broken websites. 98% render fine server-side, and 60% carry an A or B SEO grade. The proof was earned. The website never got the memo.
The more reviews at stake, the worse it gets
Bar chart showing the missing-review-schema rate rising with reputation at stake: 89.2% across all 2,345 fully-audited market leaders (2,092 businesses), 91.7% among businesses with 1,000 or more Google reviews (1,048 of 1,143), and 95.8% of all reviews weighted by volume sit on domains with no review markup.
| Label | % with no review schema |
|---|---|
| All fully-audited leaders (2,092 of 2,345) | 89.2 |
| Businesses with 1,000+ reviews (1,048 of 1,143) | 91.7 |
| All reviews, weighted by volume | 95.8 |
The businesses with the most reputation capital at stake are slightly worse, not better.
Finding 2 · Paying for traffic you can’t see
636 of the audited businesses are actively running Meta ads right now (verified through Meta’s own Ad Library). 507 of them, 79.7%, have no browser-detectable Meta pixel on their public website. Among ecommerce brands, where the pixel is the backbone of optimization and retargeting, it’s 405 of 477 (84.9%).
The honest caveat: this check reads what a browser can see. Some of these businesses may run server-side tracking (Meta’s Conversions API) or send traffic to separate landing pages, and that’s invisible to this audit. But a public site with active ads and no visible measurement is at minimum a serious question to ask, and at four out of five leaders, it’s a pattern, not an accident.
The floor of the problem is firmer: 157 of the 1,579 businesses running ads on either platform (9.9%) show no tracking pixel of any kind. No Meta pixel, no GA4, no Tag Manager, nothing. Those are businesses paying for traffic with no browser-visible way of knowing what it does.
The pixel gap, category by category
Bar chart of the share of active Meta advertisers with no browser-detectable Meta pixel, per category: HVAC 69.2% (27 of 39), Plumbers 61.3% (19 of 31), Roofers 58.6% (17 of 29), Electricians 66.7% (10 of 15), Med spas 62.5% (20 of 32), Restaurants 69.2% (9 of 13), Premium supplements 82.7% (86 of 104), Budget supplements 86.2% (69 of 80), Skincare 85.9% (152 of 177), Pet 84.5% (98 of 116). Every ecommerce category is worse than every local trade.
| Label | % of active Meta advertisers with no visible pixel |
|---|---|
| HVAC | 69.2 |
| Plumbers | 61.3 |
| Roofers | 58.6 |
| Electricians | 66.7 |
| Med spas | 62.5 |
| Restaurants | 69.2 |
| Supplements (premium) | 82.7 |
| Supplements (budget) | 86.2 |
| Skincare | 85.9 |
| Pet | 84.5 |
Blue: local trades (small advertiser cells, 13–39 each). Purple: ecommerce. Every ecom category is worse than every local trade — where the pixel matters most.
Finding 3 · The robots.txt silence
I checked every site’s robots.txt for directives naming any of the five major AI crawlers: GPTBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot, Google-Extended, and CCBot (Common Crawl). 2,061 of 2,345 businesses (87.9%) have no directive for any of them, in either direction.
To be precise about what that means: silence in robots.txt blocks nothing and breaks nothing. These bots do different jobs, and Google-Extended doesn’t affect normal search at all. Leaving them unaddressed is not an SEO failure. What it shows is that almost nobody at the top of these markets has made a deliberate decision about how their content gets used for AI training, grounding, or retrieval. The doors aren’t open or closed. Nobody has checked whether there’s a door.
Interestingly, restaurants are the least silent category (73.2% unaddressed vs 84–89% for the trades), likely a side effect of the platforms many of them sit on.
Finding 4 · The llms.txt surprise
This is the finding that genuinely surprised me, and it points the opposite direction from the other five. llms.txt is a proposed convention: a plain-text file that tells AI systems what a site is about. Google has said publicly they don’t use it. Nobody has published a controlled study showing it lifts anything. It is, today, a bet.
484 of 1,383 local market leaders (35.0%) are already shipping one. Real files, brand-specific, clearly deliberate. Plumbers lead at 45.4%; restaurants trail at 15.0%.
I’m not claiming llms.txt works. The finding is that implementation is running well ahead of verified efficacy: a third of the local winners are placing bets before the payout table is printed. Whether each of those was a deliberate strategic call or an agency quietly rolling it out across a client base, I can’t tell from the outside. What I can tell is that implementation has moved from theory into the leader cohort.
(Ecommerce is excluded from this stat on purpose: Shopify now emits llms.txt at platform level, so its ~99% presence there says nothing about the merchant’s intent.)
Finding 5 · Recognition is not discovery
For a stratified subsample of 204 businesses, I asked ChatGPT, Claude, Gemini and Perplexity five questions each, live, with web access: three unbranded discovery questions (“what’s the best X in this market”, phrased the way a buyer would) and two brand-direct questions (“is X legit”). That’s 4,080 live answers. A mention means the business is named anywhere in the answer.
The two halves of the result belong side by side. Asked directly, the engines know these businesses: 86.8% are recognized by all four. Asked the discovery question, the engines mostly don’t say their names: 64.2% of all probed businesses, and 86.1% of the ecommerce brands, were named in zero of their twelve unbranded answers.
One beauty brand in the sample with roughly 195,000 reviews is recognized and accurately described by all four engines when asked by name, and was named in none of its twelve discovery answers. A pet brand with about 175,000 reviews, same pattern. This is what I mean by the gap: the AI knows who you are. It just doesn’t bring you up when a buyer asks the only question that matters.
Caveats, because this measurement deserves them: this is a dated snapshot, not a ranking. Answers vary between runs and locales. A zero here doesn’t mean an engine will never name the brand; it means that across twelve fresh chances on audit day, it didn’t. The pattern across 204 businesses is the finding, not any single brand’s score.
Known when asked, absent when it matters
Bar chart contrasting brand recognition with discovery visibility across 204 probed businesses: 86.8% are recognized by all four AI engines when asked about the brand by name, while 64.2% of all probed businesses and 86.1% of probed ecommerce brands were named in zero of their twelve unbranded discovery answers. Snapshot taken August 23–24, 2026; answers vary between runs and locales.
| Label | % of probed businesses |
|---|---|
| Recognized by all four engines when asked by name | 86.8 |
| Named in zero of 12 discovery answers (all probed) | 64.2 |
| Named in zero of 12 discovery answers (ecom brands) | 86.1 |
Green: the engines know these businesses. Red: they don’t bring them up when a buyer asks the discovery question. A dated snapshot (August 2026), not a ranking.
Finding 6 · Premium and budget fail identically
I split supplement brands into two deliberate tiers: premium (products $30 and up) and budget (under $25), roughly 190 audited brands in each. My assumption was that premium pricing would correlate with buttoned-up execution.
It doesn’t. No review schema: 98.4% premium vs 97.4% budget. No browser-detectable Meta pixel: 87.4% vs 89.7%. No GA4: 94.7% vs 91.8%. AI crawlers unaddressed: 92.1% vs 93.3%. The only visible difference is that budget sites are slightly faster (median mobile PageSpeed 49 vs 43) and slightly more likely to run zero pixels at all.
Charging more doesn’t buy better execution. Being bigger doesn’t either; that’s the running theme of this entire dataset.
Premium vs budget supplements: the same gaps
Grouped bar chart comparing premium ($30+) and budget (under $25) supplement brands, roughly 190 audited in each tier. No review schema: 98.4% premium vs 97.4% budget. No browser-detectable Meta pixel: 87.4% vs 89.7%. No GA4: 94.7% vs 91.8%. AI crawlers unaddressed in robots.txt: 92.1% vs 93.3%.
| Label | Premium ($30+) | Budget (under $25) |
|---|---|---|
| No review schema | 98.4 | 97.4 |
| No Meta pixel (browser-detectable) | 87.4 | 89.7 |
| No GA4 | 94.7 | 91.8 |
| AI crawlers unaddressed | 92.1 | 93.3 |
Roughly 190 audited brands per tier. Price does not buy execution.
The deeper cuts · By trade (local lanes)
| Trade | Audited | No review schema | AI crawlers unaddressed |
|---|---|---|---|
| HVAC | 239 | 179 (74.9%) | 212 (88.7%) |
| Plumbers | 238 | 178 (74.8%) | 208 (87.4%) |
| Roofers | 237 | 188 (79.3%) | 200 (84.4%) |
| Electricians | 216 | 192 (88.9%) | 184 (85.2%) |
| Med spas | 240 | 199 (82.9%) | 205 (85.4%) |
| Restaurants | 213 | 209 (98.1%) | 156 (73.2%) |
Plumbers and HVAC are the best trades on review schema (about a quarter have it). Restaurants are the worst by far: 1.9% have it, while holding over a million reviews between them.
By metro (local lanes, metros with 15+ audited businesses)
| Metro | Audited | No review schema | AI crawlers unaddressed |
|---|---|---|---|
| Denver | 116 | 75.9% | 83.6% |
| Nashville | 114 | 90.4% | 80.7% |
| Phoenix | 114 | 78.1% | 83.3% |
| Houston | 113 | 86.7% | 85.0% |
| Columbus | 111 | 84.7% | 82.0% |
| Tampa | 111 | 81.1% | 82.9% |
| Charlotte | 110 | 86.4% | 85.5% |
| Kansas City | 110 | 88.2% | 86.4% |
| Dallas | 106 | 81.1% | 82.1% |
| Seattle | 106 | 83.0% | 83.0% |
| Chicago | 105 | 78.1% | 83.8% |
| Atlanta | 104 | 82.7% | 88.5% |
| San Diego | 57 | 78.9% | 91.2% |
Denver is the best metro for review schema (75.9% missing), Nashville the worst (90.4%), a 14.5-point spread. On AI crawlers the metros are packed tight: nowhere has decided.
The consistency problem nobody audits
437 of 1,376 local businesses (31.8%) display a phone number on their own website that doesn’t match their Google listing. Among plumbers it’s 48.1%, nearly half. This is the classic local-search trust killer, it’s fully automatable to detect, and it costs nothing to fix.
A fair question about this number: aren’t some of those just call-tracking numbers, placed deliberately so the business can see where a lead came from? Some of them almost certainly are. Others are old numbers nobody went back and updated after a move or a rebrand. From the outside, this audit can’t split the two, and I won’t pretend it can.
Here’s the part that matters either way. This check compared the phone number in each site’s raw HTML against the Google listing — no JavaScript was executed. That isn’t a shortcut; it’s the same view most AI crawlers and assistants get, because they don’t render JavaScript either. Dynamic number-insertion services do their swap in JavaScript after the page loads, so a machine reading the raw page never sees the swap. Google has its own systems for reconciling who a business is. A machine reading your page does not. It sees two public sources that disagree, with nothing to tell it which one is right.
I’m not drawing a conclusion here, and this is not a claim about rankings. It’s an observation: the way machines read a site is not the way Google resolves one, and almost nobody is checking what the machines see. I’m digging into this further in the follow-up to this study.
Phone mismatch by trade
Bar chart of the share of local market leaders whose website phone number does not match their Google listing, by trade: Med spas 20.5% (49 of 239), Roofers 22.8% (54 of 237), Electricians 27.1% (58 of 214), Restaurants 30.3% (64 of 211), HVAC 41.2% (98 of 238), Plumbers 48.1% (114 of 237).
| Label | % with site ≠ Google listing phone |
|---|---|
| Med spas | 20.5 |
| Roofers | 22.8 |
| Electricians | 27.1 |
| Restaurants | 30.3 |
| HVAC | 41.2 |
| Plumbers | 48.1 |
A better-than-2× spread between the best trade (med spas, 20.5%) and the worst (plumbers, 48.1%). Measured in raw HTML — the machine’s view.
Fast content, slow sites
The median mobile PageSpeed score across the ecommerce leaders is 44; local leaders sit at 56. The sharper stat: 550 of the 1,996 scored sites pair a failing mobile speed score (under 50) with an A or B SEO grade. The content and structure are fine; the build is slow. That’s an execution gap, not a knowledge gap.
Where the mobile PageSpeed scores actually land
Grouped bar chart of the share of scored sites per mobile PageSpeed band. Local leaders (1,302 scored): under 30 5.0% (65), 30–49 30.0% (391), 50–89 60.7% (790), 90+ 4.3% (56). Ecommerce leaders (694 scored): under 30 11.7% (81), 30–49 50.9% (353), 50–89 36.2% (251), 90+ 1.3% (9). Across all 1,996 scored sites, only 65 (3.3%) reach the 90+ band Google calls good.
| Label | Local (of 1,302 scored) | Ecommerce (of 694 scored) |
|---|---|---|
| Under 30 | 5 | 11.7 |
| 30–49 | 30 | 50.9 |
| 50–89 | 60.7 | 36.2 |
| 90+ | 4.3 | 1.3 |
Only 65 of all 1,996 scored sites (3.3%) reach the 90+ band. The distribution is the story the medians hide.
The map-grid spot checks
For 26 local leaders I also measured Google Maps visibility on a 49-point grid across their metro. The pattern that emerged: review count doesn’t travel. One Phoenix HVAC leader with nearly 35,000 reviews appears in map results at only 15 of 49 measured points, with a single top-3 pin, while a rival with a fraction of the reviews holds nine. A Chicago HVAC leader ranks roughly #1.6 wherever it appears, and it appears at only 12 of 49 points. Dominance in reviews is not dominance on the map; proximity and relevance carve the metro into territories.
The counter-examples: the bar is reachable
The best part of the dataset, honestly. Scattered through every category are businesses proving none of this is hard at scale:
- A Denver plumbing company: just under 2,000 reviews, mobile PageSpeed 91, SEO grade A, live review schema.
- A Tampa HVAC-and-plumbing shop: PageSpeed 98, grade A, schema live.
- A Seattle plumber with under 800 reviews: PageSpeed 92, grade A, schema live.
- A Houston roofer: PageSpeed 98, grade A, schema live.
- A budget supplement retailer with over 110,000 reviews: PageSpeed 88, grade A, the cleanest large ecommerce site in the set.
Small shops are doing what 300,000-review brands aren’t. The gap isn’t money or headcount. It’s that nobody’s looking.
The five-minute self-check
Everything in this study can be checked on a single site, by hand, for free. Here’s the exact list, in the order I’d run it:
- Open your site like a stranger. Can they see your actual review proof without leaving for Google? That’s the trust test, before any technical one.
- View source on a product page (ecommerce) and search for “AggregateRating”. If you sell products and it’s not there, you’re leaving rich-result eligibility on the table.
- Load yourdomain.com/robots.txt and search for GPTBot, ClaudeBot, PerplexityBot, Google-Extended, CCBot. No mention means no decision has been made.
- Load yourdomain.com/llms.txt. See what your platform ships, or doesn’t.
- Ask ChatGPT, Claude, Gemini and Perplexity the question your buyer would ask (“best [what you do] in [your market]”), then ask about your brand by name. Note the difference between being known and being mentioned.
- Check that the phone number on your site matches your Google listing exactly.
- Run your homepage through Google’s PageSpeed Insights on mobile. Under 50 means your customers are waiting.
Methodology
Written out in full, because if I were reading this I’d want to check the work.
Sample construction
- Local (1,498 businesses): HVAC, plumbing, roofing, electrical, med spas, and restaurants, 250 per category, pulled from Google Places across 12 major US metros (Dallas, Phoenix, Atlanta, Chicago, Houston, Tampa, Denver, Charlotte, Nashville, Columbus, plus partial coverage of several others), sorted by review volume. This is deliberate: the sample is the leader cohort of each market.
- Ecommerce (977 brands): supplements split into premium ($30+) and budget (under $25) tiers, skincare, and pet, pulled from public Shopify store directories by category keyword.
- Cleaning: 2,730 rows were fetched; off-category businesses and contaminant domains were excluded by name, and 130 rows whose technical audit failed to complete were kept in headcounts but excluded from every technical denominator. Result: 2,475 clean businesses, 2,345 fully audited, 2,255 unique domains. Multi-category businesses are deduplicated in every grand total.
The checks
- Structured data: full-page scan of each site for schema markup, recording every type found (review/AggregateRating types are the basis of Finding 1).
- AI crawler policy: robots.txt fetched and parsed per site, looking for bot-specific directives naming GPTBot, ClaudeBot, PerplexityBot, Google-Extended, or CCBot. “Unaddressed” means no directive naming that bot in either direction.
- llms.txt: direct fetch of /llms.txt, verified non-404 with real content. The local stat counts only files that look brand-authored; ecommerce is excluded from the headline number because Shopify generates them at platform level.
- Tracking pixels: browser-level detection of the Meta pixel, GA4, Google Tag Manager, TikTok and Klaviyo on the public site. This cannot see server-side tracking; every pixel claim in this report is phrased accordingly.
- Ad presence: Meta Ad Library and Google Ads Transparency Center, used as booleans (actively advertising or not). Sampled ad counts were capped, so this report never cites ad totals.
- Page speed: Google PageSpeed Insights, mobile.
- Rendering: server/client/thin classification of each homepage, with the character count visible to a non-JavaScript crawler.
- Local consistency: name/address/phone comparison between the site and the Google listing, plus city-mention checks on the homepage.
- AI visibility probes: a stratified subsample of 204 businesses (25 per local category except restaurants, roughly 20 per ecom category). Five questions per business: three unbranded discovery questions and two brand-direct questions, asked live with web access to ChatGPT, Claude, Gemini and Perplexity. 4,080 answers total. A mention = the business named anywhere in the answer text. The discovery stat counts only the twelve unbranded answers.
- Map grids: for 26 local businesses, rank measured at 49 points on a grid across the metro for the category’s head term; only successfully measured points are counted.
- Each business also received an AI-written qualitative assessment of its digital presence, which is how patterns like the review-display gap were first surfaced before being counted properly.
Limitations, stated plainly
- Single dated run (August 23–24, 2026), US locale. AI answers vary between runs; the probe results are a snapshot, not a ranking.
- The sample overrepresents winners by design. Rates here should not be quoted as “X% of small businesses”; they describe market leaders.
- Pixel detection is browser-side only; server-side measurement is invisible to it.
Citing this study
Quote anything here freely, with a link back to this document. If you want a specific cut of the data that isn’t in these tables (a metro, a trade, a category), ask; if the dataset supports it, I’ll add it to this document so everyone gets it.
A personal note
I hope this was genuinely useful. It started as curiosity and turned into the most interesting weekend I’ve spent in years.
After 40 years in the creative industry and hundreds of websites, what struck me most isn’t that businesses are behind. It’s that the leaders are behind, evenly, everywhere, at every price point, while a handful of small shops quietly prove the bar is reachable. The next wave of discovery is being decided right now, mostly by default: robots.txt files nobody has opened, review proof nobody has carried home, measurement nobody has checked.
I ran this study on StyleForge, the platform I’ve spent the last couple of years building for agencies and the people who do this work for businesses like the ones in this sample. That’s the disclosure, and it’s the whole pitch. If you’re curious, it lives at styleforge.io.
Glenn · Founder, styleforge.io · August 2026
This study was run on StyleForge
Every check in this study — the site audits, the structured-data scans, the AI-crawler reads, the 4,080 live visibility answers, the map grids — ran on StyleForge. It’s the same tool agencies run on our platform for their clients.
Explore the AI Visibility Pulse