The situation
Buyers had started asking ChatGPT and Perplexity the questions they used to type into Google. We could see the behaviour change in how people arrived and what they already knew before the first message. What we could not see was whether any answer engine named us.
HubSpot released its own answer engine tracking in April 2026, and it is a capable product. We built our own three months later anyway, for one reason: we wanted the AI answers sitting in the same table as our real organic rankings. A brand can be invisible in an answer engine and sitting on page one of Google for the same question. Those are two different problems with two different fixes, and a tool that only watches one of them cannot tell you which you have.
What we built
1. A question panel we chose
Twenty-nine questions, written from our own ideal customer profile rather than generated from our CRM records. Every new question a person suggests, or the system discovers, waits for approval before it enters the panel.
The panel is the asset. Measuring your visibility against questions nobody asks produces a number that moves and means nothing.
2. Two engines and a judge
Each question goes to more than one answer engine, and both answers are scored on the same five things: were we named, where did we place, did anyone link to us, who else was recommended, and in what tone.
That scoring is the only part of the system that spends money on AI. Everything around it is ordinary API work that costs nothing, which is the whole reason it can run every three days without anyone approving a budget.
3. The organic join
Every answer is matched against Search Console: are we ranking for that query at all, at what position, with how many impressions and clicks.
A couple of the larger SEO suites now show AI visibility beside their own rank estimates. Ours sits beside the real Search Console row for the property, which is the difference between an estimate of where you rank and the record of what happened. That join earned its place within the first month.
What moved
The 28 days to 19 September 2026, measured against the 28 days before them, on the site pages Search Console reports.
Pages ranking in the top twenty results went from 47 to 70, and the impressions those positions earned went from 610 to 1,630. Page-one impressions alone went from 319 to 740. Across the whole site, impressions rose by half, from 2,570 to 3,862, and the weighted average position improved from 43.7 to 40.2. Twenty-seven pages appeared in results that had never appeared before.
Individual pages moved a long way. Our CRM migration page went from position 88 to 56. A field note on self-reported attribution went from 39 to 17. Our pricing page went from 22 to 11.
The count of distinct queries fell from 293 to 205 while impressions rose by half. Fewer scattered phrases, more impressions landing on the questions we had written pages to own. That is what an owner-page strategy looks like when it works.
The uncomfortable part
Page-one clicks over the same period stayed at four.
The results producing those page-one impressions were already sitting in positions four to ten, so this is not a case of new pages entering at the bottom and dragging an average down. Holding the position band fixed, the click-through rate on those same results fell from 1.25 per cent to 0.54 per cent.
A visibility dashboard would have reported that month as a clean win, and it would have been telling the truth about the half it measures. Showing up and being chosen are two different things, and the cost of not knowing the difference is a quarter spent improving a number that was never going to pay.
The absolute counts behind those rates are small. Enough to change what we worked on next. Not enough to claim a general law about visibility and conversion.
So the work changed. Visibility is no longer the problem on this site. Titles, descriptions and the promise made in the first line are, and that is a different job with a different measurement.
What we do with it
The tracker runs on the same automation subscription that carries our other internal systems, so the marginal cost of measuring this is close to nothing. It reports every three days whether we asked for it or not.
What it does not do is decide what gets written. That decision is made separately, against the clusters and service pages already live, so a page filling a gap does not end up competing with one that already ranks. The measurement is automated. The judgement is not, and we would not want it to be.
We run the same lens on client systems: decide what the number is for before building anything that produces it, then keep the honest one in view even when a friendlier one is available. That is what a custom AI build is supposed to buy you.