We scanned 23 real DFW small businesses across HVAC, medical, legal, home services, fitness, and professional services. Only 8 of them (35%) got named when a web-grounded AI was asked "who is the best [their category] in [their city]?" — the exact way real customers now search. The other 15 were not recommended at all.
Conducted by Altitude Media Group · July 22, 2026 · First cohort · Expanded study forthcoming
We paired every AI scan with a website audit that recorded four signals. Only one showed a decisive gap between the two groups.
Structured data was the differentiator. Every single business that appeared in an AI answer had a <script type="application/ld+json"> block on its homepage. Under half of the invisible businesses did. FAQ content mattered less than expected, and page speed didn't matter at all — invisible sites were actually slightly faster on average.
The practical read: structured data isn't a nice-to-have SEO checkbox anymore. It's the machine-readable signal that lets AI assistants pull a business into the recommendation set in the first place.
Percent of scanned businesses in each industry bucket that appeared in the AI's top-3 recommendation. Small samples are labeled.
| Industry bucket | Sample | Visible | Visible % |
|---|---|---|---|
| HVAC & plumbing | 6 | 1 | 17% |
| Dental & medical | 7 | 2 | 29% |
| Home services (roofing, landscaping, handyman, electrical) | 4 | 0 | 0% n=4 |
| Legal | 2 | 1 | 50% n=2 — small sample |
| Fitness & salon | 2 | 2 | 100% n=2 — small sample |
| Professional services (insurance, accounting) | 2 | 2 | 100% n=2 — small sample |
Read this table carefully. The 100% "visible" cells at the bottom are on tiny samples (n=2 each) and should not be treated as industry-wide claims. The most robust signal is the top: 1 in 6 HVAC/plumbing businesses appeared, and 0 of 4 home-services businesses did. Those categories should be treated as high-risk for AI-search invisibility until larger cohorts confirm or contradict.
Per-city visibility from the same 23-business cohort. Every city cell is small — treat as illustrative, not definitive.
| City | Sample | Visible | Visible % |
|---|---|---|---|
| Dallas | 4 | 0 | 0% n=4 |
| Fort Worth | 5 | 2 | 40% |
| Arlington | 5 | 2 | 40% |
| Mansfield | 3 | 2 | 67% n=3 |
| Grand Prairie | 3 | 1 | 33% n=3 |
| Lewisville | 1 | 1 | 100% n=1 — single business |
| Plano | 2 | 0 | 0% n=2 |
Fort Worth and Arlington had the largest samples (n=5 each) and both landed at 40% visible. Dallas businesses in this cohort had a clean-sweep 0% — a striking number, but on only 4 businesses. A larger Dallas sample is the highest-priority follow-up.
Everything we did, in enough detail to reproduce.
Sample. 23 real DFW small businesses across seven industry buckets (HVAC & plumbing, dental & medical, home services, legal, fitness & salon, professional services — restaurants were in the original design but not included in this first cohort) and seven cities (Dallas, Fort Worth, Arlington, Mansfield, Grand Prairie, Lewisville, Plano). Every business has a working website; contact-level information (email, phone, contact name) was not used in this study.
AI visibility scan. For each business we asked a web_search-grounded Claude Sonnet model, verbatim: "Who is the best [their category] in [their city]? List your top 3 recommendations with a brief reason for each." The model was allowed to search the live web before answering (real-time grounding, not corpus recall). We recorded the full answer text and checked whether the target business's name appeared in it, with case-insensitive matching and common corporate-suffix normalization (LLC, Inc, PC, etc.). Every scan was persisted to a Supabase table with a timestamp, so results are reproducible on request.
Website audit. For each business's homepage we recorded four signals within the same session: (1) presence of a <script type="application/ld+json"> block, (2) whether schema.org was referenced anywhere in the HTML, (3) presence of FAQ content (via keyword and FAQPage schema detection), and (4) homepage HTTP response time from our audit endpoint.
What we did not do. We did not check page performance beyond a single HTTP timing. We did not audit page depth beyond the homepage. We did not attempt to model why a specific business was or wasn't named — the AI's reasoning is a separate research question. We did not use any Google Search Console or Google Business Profile data.
First cohort — expanded study forthcoming. This is phase 1. A larger n=50+ cohort including restaurants is scheduled as follow-up research and will re-test the schema-differentiator finding at a sample size that supports individual-industry claims. Small-sample cells in the industry and city tables above (n≤3) are flagged inline and should not be treated as definitive.
Answers to the methodology questions we've been asked already.
We selected 23 real DFW small businesses across 7 industry buckets and 7 cities from a pre-existing pool of DFW prospects. Every business had a working website — we used the homepage for the structured-data audit signals. Restaurants were in the original design but not included in this first cohort.
For each business, we asked a web_search-grounded Anthropic Claude model "Who is the best [their category] in [their city]?" The AI returned real named businesses. We checked whether the target business appeared via case-insensitive name matching with corporate-suffix normalization. Every scan is persisted for reproducibility.
This is the first cohort. Our source database covered 23 across the target categories. We planned to fill 27 more via Google Places API but hit a daily rate limit mid-fill. Rather than delay or fabricate numbers, we're publishing the real n=23 today, clearly labeled as phase 1, with an expanded cohort as follow-up.
No. All findings are aggregate. The point of the study is what separates visible from invisible sites — not to name any single owner.
The dataset is described in the Dataset schema on this page under CC BY 4.0. For anonymized row-level data (business names redacted), email matt@altitudemediagrp.com.
Run a free scan against the same web-grounded AI we used in this study. You'll see the exact answer AI gives when a customer asks who's best in your category and city.
Run a free scan →