The Service Area Problem for Trade Contractors

ChatGPT can name a contractor without recommending them. The distinction matters. When a homeowner types "best plumber near me" into ChatGPT, the AI pulls from Bing's business index, review platforms, and crawled web pages. It can identify a business by name from a Google Business Profile listing or a directory entry. But recommending that business as the top answer to a homeowner requires something more: confidence that the business serves that specific location and offers that specific service.

A contractor with a Google Business Profile, 40 reviews, and a five-star rating might still get passed over. ChatGPT needs to confirm the service area matches the homeowner's location and that the services listed match the request. When the service area on a website says "serving the tri-state area" or "we come to you," the AI cannot parse that into a geographic boundary. When the services page lists "residential and commercial work" without specifying what kind of work, the AI cannot match it to a "burst pipe repair" query.

The result: ChatGPT knows the business exists. It just will not put its name forward.

How AI Matchmaking Works for Local Contractors

ChatGPT, Perplexity, and Google AI Overviews all follow a similar pattern when answering local contractor queries. They retrieve candidate businesses from their index, then filter those candidates against the specific ask. A plumber in Hackensack, New Jersey with 60 Google reviews and a completed Google Business Profile appears in the candidate pool. Whether that plumber makes the final answer depends on three matching signals.

1. Service area specificity. The AI needs to confirm the business operates in the location the user asked about. Google Business Profile includes a service area field, but many contractors leave it blank or list entire states. ChatGPT reads service areas from multiple sources: the Google Business Profile, the website's contact or service area page, Bing Places for Business listings, and directory entries. When these sources conflict or use vague language, the AI defaults to businesses whose service area is clear and specific.

A contractor who lists "Bergen County, NJ including Hackensack, Paramus, Teaneck, Englewood, and Fort Lee" on their website, mirrors that same list on their Google Business Profile, and matches it on their Bing Places listing gives the AI three consistent data points. A contractor who writes "serving Northern New Jersey" on their site and lists "NJ" as their service area on Google gives the AI nothing specific enough to match against a town-level query.

2. Service description clarity. The AI matches the homeowner's request to the services a business offers. "HVAC repair" on a services page tells the AI the company does HVAC repair. "We handle all your heating and cooling needs" tells the AI nothing it can match. When a homeowner asks "who fixes a leaking water heater in Bergen County," the AI looks for businesses whose services include water heater repair and whose service area includes Bergen County. A contractor whose services page says "water heater installation, repair, and replacement" wins that match. A contractor whose services page says "full-service plumbing" does not.

3. Corroboration from third-party sources. The AI does not trust a single source. It looks for agreement. If Google Business Profile says a plumber serves Bergen County but the website says "serving all of New Jersey" and there is no Bing Places listing at all, the AI weighs against that business. Three or more sources agreeing on the same service area and services creates the confidence the AI needs to put a name in its answer.

The Audit: Fixing What ChatGPT Cannot Find

A contractor who suspects the AI visibility problem is a service area mismatch can run a self-audit in about 20 minutes. Open the Google Business Profile. Check the service area field. Does it list specific towns and counties, or does it say "within 50 miles"? Does it list the primary services, each one described in plain language? "Drain cleaning" beats "plumbing solutions." "Furnace installation" beats "heating services."

Next, open the website. Find the service area page, if one exists. Many contractors bury service area information in the footer or on the contact page. A dedicated service area page listing every town served, each as an H3 heading, gives the AI clean, crawlable text it can match against location queries. The services page should list each service as a separate item with a two to three sentence description. Not a marketing paragraph. A factual description: what the service is, what it covers, what areas it serves.

Then check Bing Places for Business. ChatGPT pulls from Bing's index, not Google's. A contractor with a perfect Google Business Profile and no Bing Places listing is invisible to ChatGPT for any query where Bing is the retrieval source. Bing Places is free. Creating a listing takes 15 minutes. It mirrors the same information as the Google Business Profile: business name, address, service area, services, hours, phone number.

Finally, check the website against Bing. Type "site:yourdomain.com" into Bing search. If nothing comes back, Bing has not indexed the site. Submit the sitemap through Bing Webmaster Tools. Without Bing indexing, the website content does not reach ChatGPT's retrieval pipeline at all.

What Happens When the Signals Align

A contractor in Passaic County, New Jersey ran this audit in August 2026. The business had a Google Business Profile with 47 reviews and a 4.8 rating. The service area was listed as "within 30 miles of Paterson." The services page said "residential and commercial plumbing and heating." The website had no Bing Places listing and was not indexed by Bing.

The fixes took three hours across two evenings. The service area on Google Business Profile was updated to list 14 specific towns. The services page was rewritten with 11 separate service descriptions, each under its own H3 heading. A Bing Places listing was created with identical information. The sitemap was submitted to Bing Webmaster Tools.

Within two weeks, ChatGPT started naming the business when asked "best plumber in [town name]" for four of the 14 listed towns. Perplexity included the business in answers for three towns. Google AI Overviews surfaced the business in two town-level queries where it had never appeared before.

The business did not add new reviews. It did not build backlinks. It did not publish blog content. It corrected the service area data, clarified the services, and added the Bing listing that ChatGPT's retrieval pipeline depends on.

Common Patterns That Block AI Recommendations

Several patterns show up across trade contractor websites that prevent AI recommendation even when the business is legitimate, established, and well-reviewed.

Service area pages that list counties without towns. "Serving Essex, Hudson, and Union Counties" gives the AI a county-level match but not a town-level match. A homeowner asking about a specific town triggers a query the AI cannot map to that business.

Service descriptions written as value propositions. "Reliable HVAC you can trust" is marketing copy. The AI cannot match it to "AC not cooling" or "furnace replacement cost." Plain-language service descriptions like "central air conditioning repair, installation, and maintenance" give the AI matchable terms.

Missing or inconsistent phone numbers. The AI uses phone numbers as an identity signal across sources. If the Google Business Profile lists one number, the website lists another, and the Bing Places listing has no number at all, the AI treats these as potentially different businesses or an unreliable source. One phone number, consistent across every listing and page.

JavaScript-rendered service pages. Some modern website builders load service information through JavaScript after the page loads. ChatGPT's crawler, like Bing's, may not execute JavaScript the same way a browser does. If the services text only appears after a JavaScript call, the crawler sees a blank page. The fix is either server-side rendering for critical content or ensuring the services are in the initial HTML payload.

The Cost of Doing Nothing

Contractors who ignore this problem lose more than the occasional ChatGPT referral. AI-assisted search is growing as a share of how homeowners find local services. A homeowner who once would have scrolled through Google Maps and called the top three results now asks ChatGPT or Google AI for a shortlist and calls the first one or two names that come back. If a business is not in that shortlist, the phone does not ring. No amount of Google ranking compensates for being absent from the AI answer.

The contractors who fix service area clarity, service description specificity, and Bing indexing now will hold the recommendation slot while competitors figure out why their phones stopped ringing.


Frequently Asked Questions

Why does ChatGPT know a business exists but never recommend it?

ChatGPT can identify a business from a Google Business Profile or directory listing. Recommending it requires confidence that the business serves the location the user asked about and offers the service the user requested. Vague service areas and generic service descriptions prevent that confidence match.

Does ChatGPT use Google Maps data?

ChatGPT's local search results come from Bing's index, not Google's. A contractor with a strong Google Business Profile but no Bing Places listing may be invisible to ChatGPT. Bing Places is free and takes about 15 minutes to set up.

How specific should a service area be on a contractor website?

List individual towns and cities, not just counties or regions. "Serving Hackensack, Paramus, Teaneck, and Englewood in Bergen County, NJ" gives the AI town-level matching that "serving Northern New Jersey" cannot provide.

How long does it take for AI visibility changes to show up?

Changes to service area data, service descriptions, and Bing listings typically surface in AI answers within two to four weeks. The AI crawlers need to re-index the updated pages and cross-reference the new data across sources.

Should a contractor list every service on their website separately?

Yes. Each service should have its own heading and a two to three sentence factual description. "Water heater repair, installation, and replacement" as a heading with a description underneath gives the AI matchable terms. "Full-service plumbing" does not.