The short version: AI names shops, it does not rank them
Classic Google gives a homeowner ten links and lets them choose. ChatGPT, Gemini, Perplexity, Copilot, and Google's AI Overviews do something different. They read the question, pull from what they know plus a live search, and hand back a short answer that names a few businesses by name. There is no page two. If you are not in the answer, you do not exist for that homeowner.
That changes the game. Ranking #4 on Google still gets clicks, because a homeowner scrolls. Being the 4th-best-understood plumber in an AI's model gets you nothing, because the model only lists two or three and stops. The bar is no longer "be on the first page." The bar is "be one of the handful the machine is confident enough to name."
Confidence is the whole thing. A language model will not put a business name in front of a homeowner unless the surrounding data lines up. It is pattern-matching against everything it has read about contractors in your trade and your city. When your shop is a blur (unclear name, unclear service area, no corroboration), the safe move for the model is to name a competitor it understands better, or to give a generic "search Google or check reviews" non-answer that sends your lead somewhere else.
It helps to picture the homeowner. It is a Saturday, the AC quit, and instead of typing "AC repair near me" they open ChatGPT and ask, "who is a good HVAC company in my area for an emergency repair." They get back two or three names and a sentence about each. They call the first one that sounds solid. That entire decision happened before your website ever loaded, before your ad ever served, before your map pin ever showed. You were either in the answer or you were not in the room.
So the question is not "how do I trick ChatGPT." The question is "what makes an AI confident enough to say my name out loud to a homeowner who is ready to call." The rest of this guide answers exactly that, in the order the work actually gets done.
Reason one: the AI cannot tell who you are (entity confusion)
An entity is a thing the model can pin down: a specific business, at a specific place, doing specific work. Most contractor websites are surprisingly bad at this. The homepage says "Quality Service Since 1998," the footer has a phone number, and that is about it. The machine has to guess whether "Apex" on your site is the same Apex in a directory, the same Apex on Google, and the same Apex a homeowner just mentioned on Reddit. When it cannot connect those dots, it gets cautious.
Entity confusion has a few common causes on contractor sites:
- The legal name, the DBA, and the brand on the truck are all slightly different, and none of them match your Google listing exactly.
- The site never states, in plain words, what the business is. "We do it all" is not an entity. "Licensed electrical contractor serving Fort Myers and Cape Coral" is.
- Address, phone, and name are inconsistent across the site, the directories, and third-party listings. Machines read those as different businesses.
- The service area is implied, not stated. A homeowner two towns over cannot tell if you cover them, and neither can the model.
- There is no single page that acts as the canonical "this is who we are" source the model can anchor to.
Trades make this worse in their own ways. A roofer who does gutters and siding on the side can read as three fuzzy half-businesses instead of one clear roofing company. An HVAC shop that also does refrigeration and pool heaters muddies the core "HVAC company in this city" signal the model is trying to match. The instinct to list every service you have ever touched is exactly what dilutes the entity. AI rewards a business it can put in one clear box, not one that spills across ten.
The fix is entity clarity. State the business name the same way everywhere. Say the trade in plain nouns, lead with the core one, and let the secondary work be secondary. Name your service area explicitly, town by town, so both a homeowner and a model know where you go. Make the name, address, and phone identical across every place they appear, down to the suite number and the "St" versus "Street." This is not glamorous work, and it is the foundation. An AI will not confidently name a business it cannot confidently identify, no matter how good the rest of the site looks.
Reason two: your facts are not machine-readable (missing schema)
Humans read your homepage and understand it. A language model prefers structure. Schema (structured data in your page's code) is how you hand the machine your facts already sorted: this is the business name, this is the service area, these are the services, this is the phone, these are the reviews, here is the answer to that common question. Without it, the model is scraping prose and hoping it parsed correctly.
For AI visibility, the schema that matters most is not the fancy rich-result stuff. It is the plain identity and answer markup:
| Schema type | What it tells the AI |
|---|---|
| LocalBusiness / Service | Who you are, what you do, where you do it |
| FAQPage | Direct answers to the exact questions homeowners ask |
| HowTo | Step-by-step content the model can lift into an answer |
| BreadcrumbList | How your pages relate, so the model reads structure not soup |
Here is the part most agencies miss. Schema for rich results (stars in Google, that kind of thing) lives with your regular SEO. Schema built so a language model can cleanly parse and cite you is a different job with different priorities. Same tool, different target. Getting a homeowner a gold-star snippet is not the same as getting your business named inside a ChatGPT answer, and treating them as one task is why so many "we do schema" agencies still leave you out of AI answers.
What changes when you build it for the model. The FAQ markup carries the literal questions homeowners ask and a clean, quotable answer to each, so the AI has something to lift instead of guessing. The Service and LocalBusiness markup states your area and your work as data, not just as sentences a scraper might miss. Reviews, hours, and license details move from decorative to structured. The model stops interpreting your site and starts reading facts, and a fact it can read is a fact it will repeat.
Done right, structured data turns your site from a wall of text the model has to interpret into a set of clean, confident facts it can quote. That confidence is exactly what gets your name into the answer. Skip it, and you are asking the machine to reconstruct your business from prose while a competitor down the road hands it a clean data sheet. The competitor wins that comparison every time, and you never see it happen.
Reason three: nothing the AI trusts vouches for you (the citation layer)
Even with a clear entity and clean schema, a model still asks a quiet question before it names you: does anyone else back this up? Language models weigh corroboration heavily. Your own site saying you are the best plumber in town counts for very little. A third-party source the model already trusts saying you exist, do good work, and serve a real area counts for a lot.
This is the citation layer, and it is where most contractors are thinnest. The pages an AI pulls from when it answers a "who should I call" question tend to be corroborating sources: consistent directory listings, review platforms, local mentions, industry pages, and content substantial enough that the model treats it as a reference. When a homeowner asks Perplexity for a roofer in your city, watch the little citation links it shows. Those are the sources that decided the answer. If none of them point at you, you were never in the running.
Two things build the citation layer, and both take real work:
- Citation-worthy source pages on your own site. Substantive, specific, answer-shaped pages the model can quote directly. Not a 300-word service blurb. A page that actually answers the question a homeowner asked, cleanly enough that an AI would rather cite it than paraphrase around it.
- Third-party corroboration the model already reads. Consistent presence and mentions across the sources AI leans on, so the facts on your site are confirmed by facts off your site.
When your own clear entity, your machine-readable facts, and outside corroboration all agree, the model gets confident. Confident models name names. That alignment, across your site and the wider web, is the actual mechanism behind an AI mention.
Reason four: you are guessing, because nobody is tracking the mentions
Here is the trap. You cannot manage what you never measure, and almost no contractor is measuring AI mentions. You hear it anecdotally: a customer says "I asked ChatGPT and it never mentioned you," and it stings, but you have no idea how often it happens or whether last month's work moved it. So the whole channel stays a hunch.
Tracking whether a shop gets mentioned is its own discipline. It means running the real questions a homeowner would ask ("best HVAC company in [your city]," "who should I call for a roof leak near me," "licensed electrician in [town]") across ChatGPT, Gemini, Perplexity, Copilot, and Google's AI Overviews, and logging what comes back. Are you named? Is a competitor named instead? Which sources did the answer cite? Does the answer state your facts correctly, or does it have your service area wrong?
That log is worth more than any ranking report right now, because it tells you the truth about the channel that is quietly redirecting your leads. It shows which questions you already win, which ones a competitor owns, and whether the entity and citation work is actually landing. Without it, you are improving a number you cannot see.
None of this touches your Google ranking, your map pack position, or your paid ads. Those are real and they matter, and they each live in their own lane. AI mentions are a distinct layer with distinct mechanics, and they deserve their own tracking. If your "marketing report" has a rankings tab and a nice traffic chart but not a single line about whether ChatGPT says your name, you are flying blind on the fastest-moving slice of contractor search.
Check it yourself in ten minutes (and read the answer honestly)
You do not have to take anyone's word for whether you are invisible. You can see it today. Open ChatGPT, Gemini, and Perplexity, and ask each of them the questions a real homeowner would ask about your trade in your town. Use plain language, the way a customer talks, not the way a marketer talks.
Run questions like these, swapping in your city and trade:
- "Who is a good, licensed HVAC company in [your city]?"
- "I have a roof leak near [your town], who should I call?"
- "Best electrician in [your city] for a panel upgrade?"
- "Who does emergency plumbing in [your area] on weekends?"
Then read the answers like a shop owner, not like an optimist. Are you named at all? If a competitor is named and you are not, that is not bad luck, that is the model being more confident about them than about you. Look at the citation links Perplexity shows under its answer: those sources decided the outcome, and if none of them mention you, you were never a candidate. Check whether the answer gets your facts right when it does mention you. An AI that thinks you only serve one town when you cover five, or lists a trade you dropped years ago, is telling you your entity data is stale or contradictory.
One caution. Ask the same question a few times and across a couple of engines, because answers vary and a single lucky result is not a trend. What you are looking for is the pattern. If you are consistently absent, or consistently named with wrong details, that is the real state of your AI visibility, and it is fixable. This ten-minute check is also the honest baseline: do it before any work starts, so when the entity, schema, and citation work lands, you can see the answer change with your own eyes instead of trusting a report.
The order of operations: what actually moves the needle first
You do not need to boil the ocean. The work has an order, and doing it in order is what separates results from busywork. Rushing to "get cited by ChatGPT" while your entity is still a blur is like painting a truck door before you sand it.
The honest sequence looks like this:
- Fix the entity. One consistent business name, plain-noun description of the trade, explicit service area, matching name/address/phone everywhere. Nothing else works until the machine knows who you are.
- Make the facts machine-readable. Identity, service, and answer schema built for parsing and citation, not just for star ratings.
- Build citation-worthy pages. Real answer-shaped content the model would rather quote than skip, plus consistent corroboration across the sources AI trusts.
- Track the mentions. Run the homeowner questions across the answer engines on a schedule and log what changes.
On timeline, be realistic. This is not an ad you switch on. Entity and schema fixes can register in weeks. Getting named for competitive terms, where a well-known local shop currently owns the answer, is closer to the same 4-to-9-month arc that competitive organic terms take. AI models also refresh on their own cadence, so there is a lag between doing the work and seeing your name appear. Anyone promising you a ChatGPT mention next week is selling you something.
One more boundary worth keeping straight. If your real problem is "I am not #1 on the map" or "I am not on page one of Google," that is proximity ranking and organic SEO, close cousins that feed AI but are their own work. This guide is about one question only: why the AI does not say your name, and what makes it start.