Quick Answer: An AI engine decides which business you are before it decides whether to recommend you. Asked for the best dentists in Toronto, the four engines named five clinics and only one surfaced in more than one engine. In Formative Digital's May 2026 scrape of 1,732 Ontario citations, 83.7% of cited sources were unique to a single engine, because each resolves your entity through a different grounding layer.

This page is about one specific job: proving, in machine-readable terms, that your business is a single entity to four systems that each read a different slice of the web. It is narrower than a general schema walkthrough, which covers how the markup is written, and narrower than a knowledge-graph primer, which covers what the graph is. Here the question is only resolution: does each engine arrive at the same business, and how do you check that it did. That makes this Formative Digital's Vector 2, Anchor, fixing your local entity so it resolves to one thing for every retrieval system at once.

Most writing on the subject stops at a sound but untestable instruction: keep your name, address, and phone matching so the knowledge graph trusts you. We make it testable instead. Below is a table built from our own citation scrape, the per-signal validation that follows from it, and a falsifiable way to confirm whether your entity work actually moved an AI citation. Truth, not tricks.

Which grounding layer each engine disambiguates you against (Formative Digital scrape, 1,732 citations, May 2026)
Engine Layer it resolves your entity through Top anchor domain (times cited) The consistency that decides you here
ChatGPT (OpenAI) Google Maps / Knowledge Graph google.com (130) Google Business Profile NAP and category
Claude (Anthropic) Curated editorial directories threebestrated.ca (116) Your details on the shortlist that named you
Gemini (Google) Vertex AI Search grounding vertexaisearch.cloud.google.com (384) Crawlable schema the Vertex pipe can parse
Perplexity Review and rating aggregators homestars.com (17) NAP matching across many review surfaces

Read the right-hand column as four exams set by four examiners who never compared notes. ChatGPT grades the Google entity behind your profile. Claude grades how you appear on the one directory page it pulled. Gemini grades whether its pipeline could fetch and parse your structured data at all, since it cited the Vertex wrapper 384 times and almost no publisher by name. Perplexity grades the agreement of your details across a spread of review sites. The same business can pass one exam and fail the next, not because it is worse, but because the examiners disagree about which web to read. That is the empirical core of entity disambiguation in AI local search, and what follows is the method that answers it.

What does an AI engine resolve about your business before it ranks anything?

To an AI engine, entity consistency means your business resolves to exactly one machine-readable identity no matter which source it reads, where an older crawler could tolerate far more mess and still rank you on keywords. A classic crawler matched the words on a page against the words in a query, then ordered by links and relevance. It was ranking strings, not resolving things, so a name that wandered across your pages still indexed. An AI engine works the other way around. It first binds every mention it finds, your site, your Maps card, a directory line, a review, to a single underlying entity, and only then reasons about whether to recommend that entity. If the binding fails, there is nothing coherent to recommend.

This is the strings-to-things shift, and it has a concrete mechanism. Engines run Named Entity Recognition over the sources they fetch, pull out the business names, then reconcile those names against a knowledge layer. Claudia Tomina, in Search Engine Land in January 2026, documented the local version inside Google: a parser she names the NlpSemanticParsingLocalBusinessType reads your business name and category together as one semantic unit and decides what your business is before the ranking systems decide how relevant it is. Her line is worth keeping in view: Google decides what you are before it decides how relevant you are. Get the what wrong and relevance never gets a turn.

Why this turned urgent for local businesses is positional, and it comes from the citation data. Kevin Indig's February 2026 Growth Memo found a "ski ramp" in where citations land: 44.2% of ChatGPT citations come from the first 30% of a page, so the material near the top is what gets pulled. An engine resolving your entity in that first slice of retrieval has a few sentences to work with. State your identity cleanly there and you resolve; scatter or bury it and the engine reaches for a source that states some other business plainly. So our working definition is narrower than the folklore: entity consistency is supplying enough corroborating, machine-readable evidence that four engines reading four different webs each arrive at the same single business. That reframes the job from copy-editing to engineering, which is why we file it under Anchor.

Why does one business name resolve four different ways across the engines?

Disambiguation breaks in local AI because the four engines resolve your entity off non-overlapping source pools, so a business one engine renders correctly can be incomplete, mislabelled, or absent in another. We measured the overlap directly, running the queries through DataForSEO's LLM endpoints against the live engines: across 583 distinct domains cited over 44 city-and-vertical cells, only 95, or 16.3%, were cited by two or more of the four engines, leaving 83.7% of every cited source unique to one engine. When the evidence pools barely touch, the resolutions barely agree, and you feel that most sharply inside a single real query watched across all four engines.

Take dentists in Toronto, straight from the scrape. ChatGPT, resolving against google.com, named The Richmond Dental Centre, Chaplin Dental, Clinton Dental, The Dentistry Place, and Portrait Dental. Claude, reading curated lists, returned Dr. Judy Sturm and Associates via yorkvillesmiles.com, Metropolitan Dental, Artin Dental Clinic, and an Opencare shortlist. Gemini, wrapping its sources through Vertex AI Search, surfaced opencare.com, donddental.ca, therichmonddentalcentre.com, and a Reddit thread. Perplexity returned an Opencare page, Bite Dental, hellodent, Dr. Judy Sturm again, and a 123Dentist listing. Exactly one practice, The Richmond Dental Centre, surfaces in two of the four engines. Every other clinic was resolved by one engine and invisible in the other three for the identical question.

The Hamilton roofing set exposes a failure mode that matters for entity work specifically. ChatGPT named local firms off google.com, including Silva's Roofing and Siding and Boucher's Roofing. Gemini, by contrast, resolved against manufacturer and directory entities instead of local businesses at all, surfacing gaf.ca, dangeloandsons.com, guildquality.com, and roofing.ca. When an engine cannot confidently resolve enough distinct local entities from the layer it reads, it falls back to the safest entities it can resolve, which are often national brands and directories rather than the contractor down the road. That fallback is what being unresolvable looks like from outside: you are not refused, you are skipped in favour of an entity the engine could pin down. The Mississauga HVAC set repeats it, with UrbanTasker bridging Claude and Perplexity yet no single contractor named by all four. We trace this fallback across every vertical in the pillar study on the consensus gap between competing AI engines.

A second, quieter break has nothing to do with which web an engine reads: the namesake problem. Two roofers can share a name in two cities; one owner can run a numbered company, a trading name, and a franchise unit that all look like the same outfit. The engine has to split or merge these on the corroborating signals around the name. Where your address, phone, category, and external profile links are unique and consistent, you are cleanly separated from a namesake and cleanly merged with your own other mentions. Where they are muddy, the engine fuses you with a stranger or fractures you into several weak half-entities. Neither gets you recommended.

Which signals actually carry the disambiguation load: NAP, category, sameAs, and the MID

Four signals carry the disambiguation load, and in our data they are not equal: NAP and category are the broad-spectrum signals every engine reads, sameAs is the corroboration layer that raises confidence, and a Google Knowledge Graph ID is the resolved-entity outcome rather than an input you set. Calling them load-bearing is deliberate, because when they fail the whole resolution sags. The table is the result of asking, per signal, which engines act on it in the scrape and what you actually control.

The four entity signals, ranked by where they do their work
Signal What it does for disambiguation Where it bites hardest You control it via
NAP Baseline evidence that merges scattered mentions and splits you from a namesake Every engine; most directly ChatGPT and Perplexity Google Business Profile, your site, every directory line
Category tokens Bind the name to what you do, read as one semantic unit by Google's local parser ChatGPT and Gemini, where a wrong category misfiles you Primary GBP category plus matching schema sub-type
sameAs anchors Corroborate identity by linking your entity to trusted external profiles Gemini (parses your schema) and the Knowledge Graph ChatGPT reads Organization / LocalBusiness JSON-LD sameAs array
Knowledge Graph ID (MID) The stable identifier Google assigns once it has resolved you; proof you are one entity The Google layer feeding ChatGPT and Gemini; shown as the Knowledge Panel Earned, not set: corroborated NAP + schema + sameAs

NAP is first because it is the cheapest to get right and the most expensive to get wrong, and the data implicates it most often: ChatGPT's 130 google.com citations and Perplexity's spread across homestars.com, opencare.com, and bbb.org are all, underneath, reading a name, address, and phone someone populated. Peer-reviewed work agrees this is engineerable, not incidental. Pranjal Aggarwal and colleagues, in GEO: Generative Engine Optimization (arXiv:2311.09735, KDD 2024), showed that targeted source-level signals, including citable corroborating detail, can lift a source's visibility inside generative answers by up to 40%. Clean, agreeing identity data is exactly that kind of detail.

Category tokens earn their place because Google reads name and category as a single object. Tomina's account of the NlpSemanticParsingLocalBusinessType makes the stakes plain: a roofer filed under the vague "contractor," or the wrong "air conditioning repair service," is a different entity in the parser's eyes than the same roofer filed correctly. Pick the single most specific category that describes the core business, and make your LocalBusiness schema name the matching sub-type, so the classification is reinforced wherever an engine looks. The Knowledge Graph ID, the MID, is the odd one out because you do not set it. Google mints it once it has enough corroborated evidence to commit you to one node, and the Knowledge Panel is the visible face of that. Read the MID as a scoreboard, not a lever: when it appears, your NAP, category, schema, and sameAs have done their job. You build the evidence; the identifier is the receipt.

What is the minimum sameAs anchor set that makes a local entity machine-resolvable?

The minimum sameAs anchor set that makes a local entity machine-resolvable is three corroborating links, your Wikidata entry, your Google Business Profile entity, and your LinkedIn company page, widened with the directories your category actually gets cited from. Three is the floor because disambiguation is a corroboration problem: one external reference can be coincidence, but three independent authoritative records describing the same business, at the same address, in the same category, are hard to misread. Schema.org defines the property this way exactly, as the URL of a reference web page that unambiguously indicates the item's identity, naming a Wikipedia page, a Wikidata entry, or an official website as the canonical examples.

Each anchor does a distinct job, which is why the floor is three rather than one repeated thrice. Wikidata is the open, structured node many systems reconcile against, giving your entity a stable public identifier others can point back to. Your Google Business Profile entity is the record ChatGPT reads hardest, 130 google.com citations in our scrape, so anchoring to it ties your schema to the layer one engine resolves you through. LinkedIn corroborates you as a real operating business with people attached, the kind of signal an engine weighs when separating a genuine entity from a thin listing. Google's Organization structured data documentation backs the approach: it has you list your official profiles and references through sameAs, and frames that structured data as helping Google understand and disambiguate your organization.

Above the floor, the right anchors are not generic, they are whatever your engine data names, and this is where our scrape becomes the instruction. An Ontario roofer's corroborating layer includes threebestrated.ca and homestars.com, because those are the directories Claude and Perplexity resolve roofers through. A dentist's set includes opencare.com, one of the few domains that surfaced across more than one engine. Benu Aggarwal, in Search Engine Land, sets out that external corroboration through sameAs, to Wikipedia, Wikidata, LinkedIn, and the Google Knowledge Graph, is what lets AI systems trust and cite a brand. We add the local refinement the national advice cannot: corroborate into the sources your engines already read, not a generic best-practice list. The markup mechanics, the JSON-LD that carries these anchors, are covered separately in our guide to writing the sameAs and Organization schema an engine reconciles against.

Not sure which entity an engine actually resolves when it reads your business? A Formative Digital AI Visibility Audit runs your name and city through all four engines and shows you, source by source, where you resolve cleanly and where your identity fractures. Request Your Free AI Visibility Audit and start from your real per-engine entity, not a guess.

Why does the grounding layer decide which inconsistency you fix first?

The grounding layer an engine uses decides which inconsistency can actually hurt you there, because a contradiction in a layer an engine never reads is invisible to it, while a contradiction in its preferred layer is what breaks your resolution. This is the practical pivot of the page, and the thing generic entity advice misses by treating the web as one undifferentiated place. It is not. The opening table already showed four engines reading four largely separate slices, so the same fix carries four different values depending on which engine you are trying to win, and the order you work in matters more than the length of the list.

The operational rule is the opposite of "fix everything everywhere": repair the inconsistency in the layer grounding the engine you are losing, first. Absent from ChatGPT, whose 130 google.com citations point at the Google entity, the highest-return move is your Google Business Profile NAP and primary category, not a schema rewrite. Absent from Gemini, it is your crawlable structured data, because the engine cited the Vertex wrapper 384 times and almost no publisher by name, so whether the pipe can parse you is the only consistency you can act on. Absent from Claude, it is how the curated directory it pulled describes you, which may mean earning a place on a list rather than touching your site at all. Absent from Perplexity, it is your NAP agreeing across the review surfaces it spreads over. Generic advice spends your effort evenly across a web that pays out unevenly.

One honest qualifier: none of this is a switch that flips identically for every business, and outcomes depend on your industry, competition, and existing digital presence. Our Brantford retail client Mattress Miracle grew from roughly 1,000 to more than 82,400 monthly organic visits (SEMrush, April 2026) through sustained structured-content and entity work, and as owner Brad put it, "In 40 years of advertising I've never seen anything like this. It's a completely new business." That is one industry and one starting point; the method generalizes, the number does not.

How do you audit entity drift, then prove a fix moved a citation?

You audit your entity by collecting every public description of your business an engine could read, then hunting the contradictions between them, because each contradiction is a unit of what Benu Aggarwal calls entity drift, and drift quietly lowers the confidence an engine has that your scattered mentions are one business. Aggarwal's framing in Search Engine Land is precise: when a website contradicts its Google Business Profile, that disagreement creates entity drift and the entity's confidence score falls. A lower score does not announce itself. It shows up as you simply not being cited, which is why drift has to be found by audit rather than waited for.

The audit follows the four-signal list in order of how much each contradiction costs. Pull your name, address, and phone from four places side by side: your Google Business Profile, your site's contact and footer, your top two cited directories from the scrape, and your LinkedIn record. Differences a human reads as trivial, "Street" versus "St," a suite number present in one place and missing in another, an old phone number a directory never updated, are exactly what fractures an entity for a machine. Next, check category agreement: does your primary Google category match the type your LocalBusiness schema declares, and do both match how your key directory files you. Then confirm your sameAs anchors resolve and point back, since a link to a Wikidata entry that does not mention you corroborates nothing. Finally, check whether a Knowledge Panel exists and whether its facts are the facts you intend, because the panel is Google showing you, in public, the entity it currently believes you are. The most common drift is not exotic: a business changed a phone number, fixed it on the website, and left the old number alive in a directory an engine still fetches, invisible in ChatGPT and load-bearing in Perplexity. This audit is Vector 1, Diagnose, feeding Vector 2, Anchor; the structured starting move is a per-engine read of where your business currently resolves.

Once the fix is in, you prove it the same way the problem was found: run the real local queries through all four engines on a fixed schedule, before and after, and track two things, whether you are named and which source resolved you. This is the falsifiable loop that separates entity validation as engineering from entity advice as folklore. Two facts from the scrape constrain it. Because 83.7% of cited sources are unique to one engine, you cannot collapse the result into a single "AI rank"; you track four scores, since a win on ChatGPT tells you almost nothing about Claude. And the engines are non-deterministic, so one check on one day is noise: SparkToro's research, led by Rand Fishkin, found that an engine asked the same question one hundred times has a less than one in a hundred chance of returning the identical brand list in any two responses, so you sample each several times and read the trend. Watch the source as much as the name, because if Claude begins naming you via threebestrated.ca after you earned that placement, the citation and its source together confirm the mechanism where the citation alone would not.

Timing differs by layer, and knowing the lag stops you declaring failure early. Perplexity and Gemini resolve against live-fetched sources and tend to reflect a corrected fact within weeks of the source updating, while a Google Business Profile correction has to propagate into the Google entity ChatGPT reads, and a directory correction has to be re-indexed before Claude sees it. So expect staggered results rather than one clean before-and-after. This per-engine, repeated, source-aware method is Vector 11, Measure, and we run the whole sequence, diagnosis through measurement, through the Formative Forces, our orchestrated multi-agent system, so one business is validated across all four grounding layers in parallel rather than one engine per quarter. The reason this is not magic ranking dust is built into the loop: every claim it makes about your entity is checkable against exactly the kind of citation scrape that produced these numbers. And the audience is no longer a rounding error. Statistics Canada reported that 12.2% of Canadian businesses used AI to produce goods or deliver services in the twelve months to the second quarter of 2025, double the 6.1% a year earlier, which is the share of buyers a business unresolvable to three of four engines is quietly invisible to. The wider numbers on that shift sit in our roundup of the AI-search adoption statistics that matter for 2026.

Frequently Asked Questions

How does ChatGPT know my business exists?

ChatGPT holds no private record of your business. It learns you exist when you ask, by fetching sources it can reach and reading the business names inside them. In Formative Digital's May 2026 scrape, ChatGPT grounded local answers in google.com 130 times, so for most Ontario businesses the thing it reads is the Google entity behind your Google Business Profile. If your Maps record, your website, and your directory listings describe the same business the same way, ChatGPT resolves you cleanly. If they disagree, it may never connect them to one entity at all.

Why is my business missing from AI Overviews?

Usually because the engine could not resolve a single, trusted entity for you from the sources it read, not because your content was judged and rejected. AI Overviews assemble answers from a thin set of sources they can ground against. If those sources carry conflicting names, addresses, or categories for you, the engine sees ambiguity and reaches for a competitor whose record is unambiguous. Entity drift, where your own site contradicts your Google Business Profile, is a common and fixable cause.

What is entity disambiguation in local SEO?

Entity disambiguation is the step where a search or AI system decides which real-world business a name refers to before it ranks or recommends it. Two clinics can share a name; one owner can run three brands. Disambiguation resolves the name into one specific entity using corroborating signals such as address, phone, category, and sameAs links to authoritative profiles. Claudia Tomina, writing in Search Engine Land, describes Google deciding what a business is before it decides how relevant it is, which makes correct disambiguation a prerequisite to visibility, not an optional polish.

How does NAP consistency affect AI search rankings?

Name, address, and phone consistency is the baseline evidence an engine uses to merge your scattered mentions into one entity. When your NAP matches across your site, your Google Business Profile, and the directories an engine trusts, the engine can confidently attribute every mention to the same business and is freer to cite you. When it does not match, the mentions fragment into what looks like several weaker entities, and Benu Aggarwal in Search Engine Land calls the resulting confidence loss entity drift. For AI it matters per engine, because each reads a different source layer: a mismatch one engine never sees cannot hurt you there, while a mismatch in its preferred layer can.

What is the sameAs property and how does it help AI identify my business?

The sameAs property is a Schema.org field that links your business entity to authoritative reference pages that unambiguously identify it, such as your Wikidata entry, your LinkedIn company page, and your verified profiles. Schema.org defines it as the URL of a reference web page that unambiguously indicates the item's identity. For an AI engine, sameAs is a machine-readable set of corroborating anchors: it ties your name to external records the engine already trusts, which raises confidence that scattered mentions describe one real business. A minimum workable set is Wikidata, your Google Business Profile entity, and LinkedIn, widened with the directories and review sites your category actually gets cited from.

Sources

  1. Schema.org. sameAs property. Defines sameAs as the URL of a reference web page that unambiguously indicates the item's identity, naming a Wikipedia page, Wikidata entry, or official website as canonical examples. Link
  2. Google for Developers. (2026). Organization structured data | Google Search Central Documentation. States that Organization markup helps Google understand and disambiguate your organization, and that sameAs helps verify official profiles and references. Link
  3. Aggarwal, B., Search Engine Land. (2026, March 16). Why entity authority is the foundation of AI search visibility. Introduces "entity drift," the confidence loss from a site contradicting its Google Business Profile, and the role of sameAs corroboration. Link
  4. Tomina, C., Search Engine Land. (2026, January 21). The local SEO gatekeeper: How Google defines your entity. Documents the NlpSemanticParsingLocalBusinessType deciding what a business is before deciding how relevant it is. Link
  5. Aggarwal, P., Murahari, V., Rajpurohit, T., Kalyan, A., Narasimhan, K., & Deshpande, A. (2024). GEO: Generative Engine Optimization (KDD 2024, arXiv:2311.09735). Source-level signals can lift visibility in generative answers by up to 40%. Link
  6. Fishkin, R., SparkToro. (2025, December 10). Never Ask an AI Tool How It Came Up with That Answer. Running the same prompt about a hundred times returns almost no two identical brand lists, so AI-visibility tracking has to sample each engine many times. Link
  7. Statistics Canada. (2025). Analysis on artificial intelligence use by businesses in Canada, second quarter of 2025 (Analysis in Brief). Reports 12.2% of businesses used AI to produce goods or deliver services, up from 6.1% a year earlier. Link

Get Your Free AI Visibility Audit

Formative Digital, Brantford, Ontario

We will resolve your business the way each engine does, through its own grounding layer, and show you where your entity holds together and where it drifts apart across ChatGPT, Claude, Gemini, and Perplexity. You leave with the specific inconsistencies costing you a citation, ranked by which engine they affect.

Request Your Free AI Visibility Audit