When we started building GEO Jetpack, the question every marketing director was asking us was “am I being cited by AI?”. We started in the opposite direction.
The instinct that pulled us in was a technical one. We’d been watching how the new generation of AI search engines actually work — ChatGPT, Claude, Perplexity, Google’s AI Overviews — and the more we looked, the more obvious it became that the conventional SEO mental model wasn’t going to survive contact with these systems. AI engines aren’t crawling pages for keyword density. They’re parsing pages into entities and the relationships between them, building a semantic understanding of what a page is about, and using that understanding to decide what to cite. The optimisation problem had quietly transformed underneath the industry’s feet, and most of the industry hadn’t noticed yet.
So we started with entities. The visibility work came later — and almost by accident — because it turned out to be what clients actually wanted to pay for first. But the journey from there to where we are now is, with hindsight, the story of how we came back to where we started, with much sharper tools.
The market pulled us toward visibility first
A few months into entity work, the same conversation kept happening. We’d show a client a thoughtful breakdown of how their content was structured semantically — what concepts it leaned on, what entities it surfaced, where the topical authority gaps were — and they’d nod politely and ask: “yes, but how often is my brand actually appearing in ChatGPT?”
That question turned out to be the urgent one. Senior marketers in 2025 didn’t yet have a vocabulary for entity-level optimisation, but they could absolutely feel the panic of not knowing whether AI engines were citing them. Their CEOs were asking. Their boards were asking. They needed a number.
So we built LLM visibility audits. Pose realistic customer questions to ChatGPT, Claude, Perplexity, Google’s AI Overviews. Capture the responses. Score citation rates. Track visibility over time. It worked. It gave clients the metric they needed for board reports and CEO updates, and it made GEO Jetpack a tool people actually wanted to use rather than a methodology people found intellectually interesting.
We ran a lot of visibility audits. And after a few months, we started getting a particular follow-up question on every single one.
“Okay, so why?”
A client would see they were being cited 12% of the time and say: okay, why? What is it about our pages that makes Claude pick us up sometimes but not others? Why does Perplexity prefer our competitor’s content even when ours is clearly stronger? What do we need to change?
We’d known this question was coming. The whole reason we’d started with entities was that we knew visibility on its own would only ever be a measurement layer — it would tell you whether you were being cited, but it couldn’t tell you why. And the conventional SEO answers wouldn’t fly either. AI engines don’t care about keyword density or title tag optimisation. The signal we needed to interrogate sat at a different layer.
We pulled our entity work back out and started using it as the diagnostic layer underneath visibility. The visibility audit told you the symptom. The entity analysis told you the cause.
That worked. But it also surfaced the next problem.
Entity extraction turned out to be the easy part
Google offers a Natural Language API that extracts entities from any chunk of text. We’d been using it from the start — it’s what most enterprise SEO tools that bother with entity work use, when they bother at all. Feed in the page content, get back a list of entities with confidence scores, type labels, and salience ratings.
But when we started running it on real client pages and showing the results back, clients had the same reaction every time: okay, but what do I do with this?
The categories Google’s NLP returns are general-purpose: ORGANIZATION, PERSON, LOCATION, EVENT, WORK_OF_ART, CONSUMER_GOOD, and a catch-all called OTHER. These are perfectly fine if you’re building a knowledge graph or moderating content. They’re useless if you’re advising a financial services client on how to improve a page for AI search.
A pension fund manager’s website returns lots of “ORGANIZATION” — but some of those organisations are competitors, some are regulators, some are partner firms, some are the brand itself. The GEO recommendation is completely different for each. Calling them all ORGANIZATION wastes the data. And most damning of all, Google’s categories had nowhere to put the actually interesting stuff — the service types, the industry concepts, the regulatory frameworks, the technologies, the certifications. Those all got dumped into OTHER, where they were impossible to action.
So we built our own classification layer. ENQ — Entity Qualification — sits on top of the raw extraction and translates Google’s categories into ones that map to GEO recommendations. Brand. Competitor. Service. Industry term. Regulator. Concept. Technology. Fourteen categories in total, each one chosen because if we see a lot of entities in that category, we know what to recommend.
That solved the categorisation problem. And then we ran into the real one.
The thing nobody talks about: single-engine extraction is unreliable
A few weeks into using ENQ, we started noticing it was getting things wrong in subtle, frustrating ways. Entities Google had labelled as ORGANIZATION turned out, on inspection, to be services with company-shaped names. Entities labelled OTHER turned out to be perfectly recognisable industry terms the model had simply missed. Pages would produce entity maps that looked sensible at first glance but fell apart when we sense-checked them against the actual page content.
We dug in, and the answer was both obvious and uncomfortable. Single-engine entity extraction — using only Google NLP, or only OpenAI, or only Claude — is unreliable. Each engine has different blind spots, different biases, different training data. Google NLP misclassifies B2B services as companies because most of its training data was consumer content. LLM-based extractors hallucinate plausible-but-wrong entity types when content is industry-specific. Even on the same page, different engines disagree on basic classifications.
Every GEO tool we’ve audited in this space — and there are several with bigger marketing budgets than ours — relies on a single engine for entity classification, then reports the results as if they were definitive. They aren’t. This is the part most GEO tools quietly don’t tell you.
This was the moment our original instinct paid off. We’d been doing entity work long enough to know what reliable classification looked like, and we knew single-source results weren’t it.
Three engines, two-of-three agreement, and the rehabilitation of OTHER
So we changed how ENQ works. Every entity surfaced by our audits is now classified independently by three AI engines. We then run a consensus check: at least two of the three engines must agree on what category the entity belongs to before ENQ assigns a confident classification.
If three engines agree, the classification is high-confidence and we mark it as such. If two agree and one disagrees, the classification still stands at our minimum trust threshold. But if all three engines disagree — or if only one engine even recognised the entity in the first place — ENQ refuses to classify it and assigns the category OTHER.
This is where something interesting happened.
OTHER stopped being a junk drawer.
Under ENQ’s 2-of-3 consensus, OTHER is a diagnostic finding about the content, not a limitation of the tool. It means three independent AI extraction engines couldn’t agree on what an entity is. That’s semantically ambiguous content — content that AI engines find hard to read confidently — and that has direct implications for citation.
We now report an Entity Definition Score on every audit: the proportion of detected entities that pass the 2-of-3 consensus threshold. A strong site typically scores 80% or above. A site full of aspirational marketing copy and abstract terminology — the kind that humans skim past and AI engines can’t parse — can score under 50%. The gap is measurable. The recommendations follow naturally: tighten up the vague terms, anchor concepts to specific industry vocabulary, reduce reliance on the kind of generic abstractions that make AI engines hedge.
- AI engines parse pages into entities, not keywords — the optimisation layer has moved
- Single-engine entity extraction is unreliable, but every major GEO tool relies on it
- ENQ’s 2-of-3 engine consensus turns entity ambiguity into a diagnostic signal
- The OTHER category, correctly used, is the most strategically valuable output of an audit
The arc, in retrospect
Looking back, the journey ran like this. We started with a thesis: AI search is going to be won at the entity layer, not the keyword layer. Clients pulled us into visibility work because that’s what they needed to measure first. Visibility worked, but it kept asking the question we’d built the entity work to answer. So we came back to entities — sharper, more methodologically serious, and with the consensus-based classification system that became ENQ.
The thing that surprised us most was how the OTHER category transformed in the process. We’d inherited it from Google NLP as a junk drawer. We’ve ended up using it as the most strategically interesting part of an audit. It tells you exactly where your content is failing to land semantically. It turns “your page needs improvement” into “your page contains 23 entities, and 11 of them are semantically ambiguous to AI engines — here they are, and here’s what to do about each one.”
Most senior SEOs we work with are still one full layer of abstraction above where the work needs to happen. They’re talking about keywords and rankings while AI engines are parsing entities and relationships. That gap is going to close — every agency we know is now building entity-aware capability — but right now, agencies that can do this work credibly have a real window.
That’s why we built ENQ. And that’s why we started where most people are now ending up.