GEO-025·Issue 03·Technical Foundation·25 / 132

The Product Graph: AI Doesn't See a SKU, It Sees a Graph

A flawless product page still leaves AI holding fragments. How entity, variant, attribute, and relation data decide whether your product enters the answer.

5 min readGEOTechnical Foundationcross-border

Issue focusGet Understood: Product Entities, Structured Data, and the Product Graph

A US-facing DTC team sells under-sink water filters. A buyer asks an assistant which cartridge replaces the F-9 in an A100 housing; the answer names three marketplace brands. Theirs is missing. The product page is clean: micron rating, thread size, hundreds of reviews. The gap is between pages: nothing states which housings it fits, which discontinued model it replaces, or that it is a consumable.

AI files a product as an entity with variants, attributes, and edges, not as a page — perfecting single pages hands it fragments it cannot cross-check.

A perfect page still adds up to nothing

Judgment: AI assembles products the way a cataloger does, not the way a search engine ranks.

The model merges what the product page, feed, retailer listing, and third-party review say about one product into one record. That needs a stable identifier (brand plus MPN, or a GTIN), attribute keys and units that agree, and relations in plain sight. Remove one and it guesses; when guessing costs too much, it quotes whoever stated the relation clearly — usually a retailer or review site.

Budget goes into copy and photography while the model decides one layer up. The layers are not substitutes, and the order cannot flip: entities and edges first, answer units after.

Four parts, one of them irreversible

Judgment: the entity is the only part you cannot redo cheaply; pick the identifier badly and three parts get rebuilt.

PartQuestionMinimum viable formCommon failure
EntityWhat is this?Brand + MPN or GTIN + categoryMarketing name as the only ID, spelled five ways across pages
VariantWhich option?Variant axes plus one addressable ID eachEvery variant its own product, no shared parent
AttributeWhy compare it?Key–value pairs, one unit systemSpecs only inside images
RelationWhat does it fit or replace?Subject, edge type, object ID, evidence“Fits most systems” in a FAQ

The entity is the anchor; without a stable ID the other three attach to nothing, and a replatform can read as a new product. Variants are branches: URL count is negotiable, shared identity is not. Product variants and out-of-stock pages covers the URL layer.

Three edges decide which questions you can win

Judgment: attributes get you into a comparison table; edges get you into questions that never name you.

EdgeHow buyers askWhat must be on the pageCost of omission
Substitution“The F-9 is discontinued — now what?”Old and new model, difference, migrationRetired-model demand goes to a competitor
Compatibility“Will it fit my A100?”Model list, thread or interface spec, exceptionsThe model guesses, and a wrong guess is a return
Accessory and consumable“What else do I need?”Host product ID, replacement interval, kit relationsYou read as a one-off; basket size stalls

Compatibility breaks most often because the object must be named the way someone else names it: A100 must match the string the housing maker and retailers use, and one character off snaps the edge. The test: can both ends be pointed to by the same string on a page you do not control?

Verifiability is the second test. Thread size is a fact; “works with most brands” is silence in structured data, and the model skips it. Schema.org’s Product type carries isAccessoryOrSparePartFor, isConsumableFor, and isSimilarTo; compatibility has no single property and needs an attribute table. Validators check shape, not truth.

From pages to a graph in four steps

Judgment: do not start with schema. Fields are the graph’s exit, not the graph.

StepActionOwnerPasses when
1 AnchorOne sellable unit, one entity; pick an ID; merge duplicatesProduct data, engineering50 sampled SKUs, one record each
2 DictionaryOne table of keys, units, allowed values; page, feed, markup read itMerchandising, engineering20 records match at all three exits
3 EdgesSubstitution and compatibility only, evidence per edgeContent, engineering“On what basis?” answered on the spot
4 Retest20 relation questions; check host product and edgeGrowthA before-and-after; a wrong edge traces to a page

Step 3 gets cut first and pays most. Most teams can say what they are, not what they connect to, and connection is the door to long-tail questions. Retest with the same prompts, region, and language: see the AI visibility baseline.

Reversed, it fails quietly: every Product block validates while isAccessoryOrSparePartFor points at your own previous SKU instead of the housing that accepts it. Do the fields later — Product schema in 2026 — or reconnect every edge twice.

Example: one cartridge, three edges

Judgment: an edge without evidence is a liability, not an asset.

Example — a hypothetical filter brand: F-10 fits A100 and A120 housings, replaces the discontinued F-9, is a consumable for the A100 system, and ships as a two-pack on a six-month interval. No real brand or data.

SubjectEdgeObjectEvidenceWhere it lives
F-10compatible withA100, A120Thread spec, housing manualPDP table, feed, structured property
F-10replacesF-9Same dimensions and threadComparison page, retired model’s page
F-10consumable forA100 systemReplacement intervalCategory, subscription, kit pages

It must read identically at four exits: page table, feed, property, category filter. Write A120 as A12 in one and the model sees a second object. Acceptance is not rank: F-10 appears in relation questions, correctly, and a wrong answer traces to a page.

Where this breaks

First, a few dozen SKUs with no variants or accessory ecosystem: a graph earns little; answer units earn more.

Second, revenue concentrated in a marketplace, where the entry point is the category tree and listing fields. Align platform attributes first; the internal graph stays private.

Third, unverifiable relations — fit proven only by testing, or touched by safety or regulation. A guess promoted to structured fact gets repeated, and the return exposure is yours.

Fourth, broken master data: one product, several codes; several products, one code. Fix that first; a net costs more to untangle than an empty table.

Fifth, fast SKU turnover: maintain substitution only. A graph you cannot maintain decays faster than none.

A graph needs crawlable, renderable pages — see how AI search splits e-commerce traffic and the technical foundation hub.

This month, take one category with accessories or consumables, export the top 50 SKUs, and add two edges only: what each replaces, what it fits, with one checkable piece of evidence each. Put the table on the product page and in the feed, re-ask 20 relation questions, and fix every wrong edge until it names a page.