Asking AI assistants about AHA without saying AHA

Buyers can ask an AI assistant which home automation company to hire. A tracker asks 31 real buyer questions without AHA’s name, checks who gets named, and turns the gaps into content briefs.

27 Oct 2026 3 min readCase study · Growth intelligence platform

The problem

Nobody knew whether AI assistants named AHA when buyers asked them for a company.

The solution

Ask 31 buyer questions without AHA’s name, score every answer, and brief the gaps.

31buyer questions, AHA’s name removed
13competitors checked in every answer
1 briefper gap: why, what to publish, a draft

A buyer can now type “best home automation company in Mumbai” into an AI assistant and get a shortlist back. In June 2026 nobody at AHA knew whether we were on it, or what to publish if we weren’t. So I built a tracker inside the growth-intelligence platform, directing the work while Claude Code wrote much of the code.

The practice is called GEO, generative engine optimisation. Before optimising anything, I needed a measurement that couldn’t flatter us.

Don’t ask about yourself

Ask an assistant “Is AHA Smart Homes any good?” and it will mention AHA, because you did. That proves nothing. So every question in the bank has AHA’s name stripped out. If AHA appears in the answer, the assistant put it there, and the mention is earned.

The bank holds 31 questions. 21 are the top questions buyers asked on AHA’s sales calls, taken from an earlier analysis of the calls. The other 10 are discovery, comparison and FAQ queries researched on the web. Together they span six types, from brand discovery and comparisons to features and location.

Scoring one answer

Claude answers each question with live web search, up to 5 searches per answer. The tracker keeps the full answer and the pages it cited, then scores it:

  • Is AHA named? Matching is whole-word and case-insensitive. A plain substring search would find “AHA” inside “Maharashtra”, exactly the kind of word an answer about Mumbai contains.
  • How early? The position of the first mention divided by the answer’s length: 0 means named first, 1 means named last.
  • Who else? The same check runs for 13 competitors from a list I curated. Some names collide with everyday text, so one competitor is matched only by its full name and another is flagged as noisy.

The same question can get a different answer twice, so a run can ask each question more than once to average out the noise. Failed calls are logged but left out of the numbers, so an error never looks like a gap.

Claude is the engine the tracker was built around. Adapters for Perplexity and OpenAI are written, and switch on as soon as their API keys are added, with no code change.

From a gap to a brief

A score says where you’re missing, not what to do about it. A gap is a question where AHA turns up in fewer than half the answers. Gaps are ranked by how many competitors were named instead, and up to 25 per run get a brief from Claude:

for each gap:
    why AHA is missing
    what to publish to break in
    a draft opening, in AHA’s voice
then: one overall summary

This step does no web search. It reasons over answers already stored, so it’s cheap. Claude also gets a short fact sheet about AHA, so the drafts use real differentiators instead of generic claims.

Each of the 31 questions also has a model answer: factual, specific, naming AHA and sticking to what AHA really does. They’re exported to a spreadsheet the team can adapt into pages, FAQs and listings, and each question type says where its content should live, from a comparison post to a local landing page.

Paying for search only when it’s needed

Web-search calls are billed per run, so the tracker isn’t part of the nightly sync. One command runs both steps on demand. If it’s ever put on a schedule, it throttles itself to once every 7 days.

One page, three readers

Each section of the results page says who it’s for. Marketing gets one number to watch, the share of AI answers that name AHA, with a weekly trend. The keyword manager gets every question, AHA against each competitor, and a click-through to the real answers behind each score. Engineering gets the method and the time of the last run.

There’s no headline percentage in this post, on purpose. A visibility score is only worth reading if you trust how it was measured, and the measuring is the part worth copying.

Rules I’d keep

  1. Strip your name from the question. A mention you asked for isn’t a mention.
  2. Match whole words. Brand names collide with place names and ordinary words.
  3. Keep the raw answer. A score you can’t trace back to text can’t be argued with or learned from.
  4. End every gap in a brief. Measurement that doesn’t say what to publish is just a scoreboard.
  5. Keep the expensive step separate. Search is billed per run; reasoning over stored answers is cheap.

More problems, more solutions.

All posts

Non-brand clicks are the SEO number that matters

+183% non-brand clicks

A path-traced showroom in a TV browser

22 renders, path-traced offline in about 2 hours