ChatGPT names a plumber when it can match one business across Google, Yelp, Bing, Angi, and the website. If the name, address, or phone disagrees, the model often skips the shop. SOCi's 2026 Local Visibility Index put ChatGPT profile accuracy at about 68 percent, against 100 percent on Gemini. ChatGPT recommended 1.2 percent of locations in that same study.
That 68 percent number is the listing problem in one figure. Google Maps can be right. ChatGPT still reads the old Angi page, the Yelp card with the house address, and the website footer with the cell from 2019. When those strings do not match, the shop never makes the short list.
What NAP means on a job truck, not in an SEO deck
NAP is name, address, and phone. Local SEO people have repeated that for fifteen years because Google used it to confirm a place was real. AI search uses the same three fields as a trust check, with less patience for near-matches.
"Joe's Plumbing" on Google and "Joes Plumbing LLC" on Yelp is not close enough. "201 Main St" and "201 Main Street, Suite 2" is not close enough. The office line on the truck wrap and the owner's cell on Angi is not close enough. The model is not a dispatcher who knows both numbers reach the same van. It is matching strings.
How ChatGPT picks local businesses starts with entity resolution. That step fails before reviews, schema, or blog posts get a vote.
A Passaic County HVAC example
Summit Air HVAC runs four trucks out of a warehouse in Wayne, New Jersey. The owner set the Google Business Profile as a service-area business and hid the street address, which is the right call for a shop that does not want homeowners showing up at the warehouse.
Yelp still has the Clifton house he used in 2019, because a data broker copied it and nobody claimed the page. Angi lists "Summit Air Heating & Cooling" with the old shop phone. The website footer says "Summit Air HVAC LLC" and a Google Voice number he added last winter.
A homeowner in Totowa asks ChatGPT for an HVAC company that can replace a 20-year-old furnace this week. The model finds three near-matches and cannot prove they are one company. It names the franchise with the same legal name, the same phone, and the same address on Google, Bing, and Yelp. Summit Air never hears the call. The owner still ranks in the map pack for "furnace repair Wayne NJ." Ranking on Google did not travel over.
5WPR's HVAC and Plumbing AI Visibility Index found 87 percent of independents with zero citation share on "service near me" prompts. Franchise listings tend to be identical. Independent listings tend to be a pile of old names.
Why service-area shops get split in half
Most plumbers, electricians, and HVAC companies are service-area businesses. Google lets them hide the street address so the public profile shows a service radius instead of a pin on the owner's house.
Directories do not follow that rule. Yelp, Angi, BBB, and data aggregators prefer a street address. If one exists in their file, they publish it. ChatGPT then sees:
- Google: Summit Air HVAC, no street address, (973) 555-0142
- Yelp: Summit Air, 48 Oak Street, Clifton, (973) 555-0199
- Website: Summit Air HVAC LLC, Wayne, NJ, Google Voice number
Those are three entities. Gemini, which SOCi found grounded in Google Maps, often still looks right because it trusts Google. ChatGPT and Perplexity cross-check. SOCi measured that accuracy gap at 68 percent versus 100 percent. The service-area setting is the usual reason a trades listing falls on the wrong side of it.
The fix is a policy, not a plugin. Either publish one street address everywhere (a shop, a registered agent office, a commercial mailbox the shop actually uses) or hide the address on Google and strip the residential pin off Yelp, Angi, Apple, and Bing. Mixing the two is how a four-truck company becomes invisible.
Duplicate cards do the same damage
A second Google listing from an old DBA, a closed shop, or a "create" click on Apple Business Connect splits the record. Reviews sit on the dead card. Hours sit on the live one. ChatGPT reads both and loses confidence.
Yext found 86 percent of AI citations come from sources the business already controls: the website and claimed listings. If those sources disagree, models often name a competitor with cleaner data. Search for the existing place first. Merge or mark the extra listing permanently closed.
Bing Places is the 15-minute version of this job. Type the name exactly as it appears on Google. Same phone. Same address policy. ChatGPT pulls Bing as a corroborating source. A misspelled Bing card is worse than no Bing card.
A listing audit a shop can finish on a Saturday
Write down the exact name, address policy, and phone. Then make these match character for character:
- Website footer, contact page, and LocalBusiness schema
- Google Business Profile, including the hidden-address toggle
- Bing Places
- Apple Business (business.apple.com)
- Yelp
- Angi
- BBB, if the shop has a profile
- Nextdoor
- Any trade directory the shop paid for in the last five years
Search the legal name, the DBA, the old shop name, and the phone. Old pages show up under the phone more often than under the current brand. Request edits. Small mismatches that fail the check: St. vs Street, an extra LLC, a tracking number left as the primary phone.
After a name change, a shop move, or a new main number, do this the same day. Otherwise every quarter. Stale listings are how a business stays out of AI answers even after the website looks fine.
What this does not fix
Clean NAP does not buy a recommendation by itself. Star ratings, review replies, crawlable service pages, and schema still matter. A shop at 3.4 stars with perfect listings still gets skipped. SOCi found ChatGPT recommendations clustering around 4.3 stars.
Clean NAP is the floor. Without it, the rest of the work is attached to the wrong entity. FirstCall's plain-English AI visibility guide puts listings next to schema and reviews for that reason. The audit is free. The listing pass is the part most independent shops have not done.
FAQ
What is NAP consistency for a trades business?
NAP is name, address, and phone. Consistency means those three strings match exactly on the website, Google Business Profile, Bing Places, Yelp, Angi, Apple Business, and trade directories. St. versus Street, an LLC suffix on one listing, or an old cell number on Angi is enough for ChatGPT to treat the shop as two different companies.
Does a service-area business still need a matching address?
Yes. Google lets a plumber hide the street address on the public profile. Yelp, Angi, and old data brokers often still publish the house or the old shop. ChatGPT then sees one entity with no address and another with a residential pin. Pick one public address policy and push it everywhere, or keep the hidden-address setting and scrub the street address off every other listing.
How accurate is ChatGPT on contractor listings?
SOCi's 2026 Local Visibility Index found business profile data was about 68 percent accurate on ChatGPT and Perplexity, against 100 percent on Gemini, which is grounded in Google Maps. ChatGPT recommended only 1.2 percent of locations in that study. Dirty listings are a large part of that gap.
Do duplicate Google listings hurt AI recommendations?
Yes. Two Google cards for the same van, one from an old DBA and one from the LLC, split reviews and hours. AI systems that cross-check Google against Yelp then fail the match. Claim the live listing, mark the extra one as permanently closed or request a merge, and stop creating a second card when claiming Apple or Bing.
How often should a contractor audit listings?
After any phone, name, or shop move, the same day. Otherwise quarterly. Yext's listings research found 86 percent of AI citations come from brand-managed sources such as the website and claimed listings. If two of those sources disagree, the model often skips the shop and names a competitor with cleaner data.