Altitude Research · July 2026

65% of DFW small businesses tested were invisible when we asked AI to recommend them.

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

65%
15 of 23
did not appear in the AI's top-3 answer for their own category and city
35%
8 of 23
were named by the AI when a real customer-style query was asked
100%
8 of 8 visible
of the businesses that did appear had JSON-LD structured data on their homepage
47%
7 of 15 invisible
of the businesses that didn't appear had structured data

The one signal that separated visible from invisible

We paired every AI scan with a website audit that recorded four signals. Only one showed a decisive gap between the two groups.

Signal
Visible (n=8)
Invisible (n=15)
JSON-LD structured data on homepage
100%
47%
schema.org referenced anywhere
100%
53%
FAQ content on homepage
38%
27%
Average homepage response time
565 ms
447 ms

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.

Which industries were most invisible

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 & plumbing6117%
Dental & medical7229%
Home services (roofing, landscaping, handyman, electrical)400% n=4
Legal2150% n=2 — small sample
Fitness & salon22100% n=2 — small sample
Professional services (insurance, accounting)22100% 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.

Which cities showed the widest visibility gap

Per-city visibility from the same 23-business cohort. Every city cell is small — treat as illustrative, not definitive.

City Sample Visible Visible %
Dallas400% n=4
Fort Worth5240%
Arlington5240%
Mansfield3267% n=3
Grand Prairie3133% n=3
Lewisville11100% n=1 — single business
Plano200% 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.

Methodology

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.

Frequently asked questions

Answers to the methodology questions we've been asked already.

How was the sample selected?

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.

How did you measure whether a business appeared in AI search?

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.

Why is the sample size only 23?

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.

Are individual business names published?

No. All findings are aggregate. The point of the study is what separates visible from invisible sites — not to name any single owner.

Can I get the raw data?

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.

Want to know if AI recommends your business?

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 →