AI Overview tracking that explains what changed
Every Friday this report pulls a client's Google numbers and their visibility across five AI surfaces, checks the two against each other, and writes a message the client can read in two minutes. The surfaces are ChatGPT, Gemini, Perplexity, Google's AI Overviews and Google's AI Mode.
It runs as a Claude Code skill. The data comes from Search Console and Google Analytics, and from the AI visibility tracker that runs the prompts. It currently reports on three clients, including VoiceOrder and Awesomic.
Why AI Overview tracking needs more than a dashboard
A dashboard shows that clicks fell. It doesn't show why. When impressions rise, position holds and clicks still drop, the likely cause is an AI Overview answering the question on the results page, and the client's page may be the one it quotes.
That story is only worth telling if the data supports it, and that takes combining two sources that count time differently. So this report does the joining, the arithmetic and the sanity checks before anyone writes a sentence.
What gets pulled, and from where
Two sources feed every run:
Source | What it contributes |
|---|---|
Search Console and Google Analytics | Clicks, impressions, CTR, position, sessions by source, engagement, key events, pages gaining and losing, and visits referred by AI assistants |
AI visibility tracker | Visibility, mentions, share of voice and average position, scores per surface, results per run, top prompts, cited pages and competitor comparisons |
The tracker side also shows which of the client's own pages AI Overviews cite. That is the link that turns "clicks are down" into something a client can act on.
Two clocks, one report
The two sources don't agree on what "the last 14 days" means. Search Console data for the most recent day or so is incomplete, so its window ends two days back. The tracker's window has to include today, because that's when the week's prompts ran.
The report labels both windows rather than forcing them to match, because clients often paste screenshots of both dashboards next to the message. Getting this wrong once dropped a run from the window and reported a visibility figure that didn't match what the client saw on screen.
Comparing runs, not totals
The tracker runs its prompts weekly in these workspaces, so a window really means how many runs fall inside it. On a Friday, a 14-day window holds three runs and the window before it holds two.
Rates like visibility and share of voice compare fairly across that gap. Raw mention counts don't, so they are compared per run. On one report the headline card showed mentions up by about 72%, while per run the rise was closer to 15%.
The checks that run before the message
Most of the report's value is in what it refuses to say. A few of the checks and the mistake each one prevents:
- The run dates listed must match the expected runs, or a silently missing run drags every figure down
- The total scans must match the client's usual count, or a run still in progress looks like a collapse
- Direction is read run by run, because a card can show growth while the last three runs fell
- A spike on one surface in one run is isolated, rather than read as a trend
- Citations are grouped by root domain and filtered to the client's own site, or shared page names inflate the count
- Every page linked in the message must return a live page with the title quoted
The checks also caught a counting bug in the tracker itself: its sources view summed all-time counts over a filtered date range, inflating some domain totals by up to 4.5 times. It was fixed on 4 September 2026.
The message the client gets
The output is a metric sheet and a Slack-ready message of about 60 lines, shown for approval before anything is sent. It covers Google first, then traffic from AI assistants, visibility, the top prompts as simple ratios, the cited pages linked by title, and overall position.
The AI Mode tracking and AI Overview sections only claim what the numbers show. On one client, two of the four pages losing clicks were pages AI Overviews quoted, so the message said that, and didn't blame AI Overviews for every lost click. The closing "what's next" section is the strategist's plan, marked for confirmation, never written by the report.
What it deliberately doesn't do
It doesn't estimate. A figure that can't be pulled is shown as unavailable. It doesn't carry numbers forward from last week's report, compare against a window with no runs in it, or compare share of voice between brands measured against different competitor sets.
It isn't a monthly client deck either. For a spreadsheet of keyword and page tables, automated SEO reports do that job.
Brands this report suits
The report suits a brand that is already being tracked across AI surfaces and wants a weekly read someone will actually act on. It is most useful when search clicks and AI visibility are moving in different directions, which is exactly when a dashboard alone misleads.
Before tracking starts there's nothing to report. The first report needs at least two runs to compare, so the prompts and competitors have to be set up a couple of weeks ahead.
What a weekly report costs
The report runs on data sources the engagement already pays for, and a run takes minutes. The time goes into reading the checks.
It's part of execution capacity, the agents route at $2,000 a month flat, added to a fractional Head of Content retainer. Setting up a new client takes a few days: choosing prompts and competitors, then waiting for the first runs to land.
Start with the prompts that matter
Bring the questions your buyers ask AI assistants and the competitors you lose to. We'll turn them into a tracked prompt set on a call, and the first report follows once two runs are in.
Related automations
AI SEO agents built in Claude Code
Claude Code subagents that research articles, directory entries and market pages in parallel, while one orchestrator checks their work and writes.
Read the build →
Automated indexing for new pages
Walk your sitemap, ask GSC which URLs still aren't indexed, submit the eligible ones to Google's Indexing API and flag the rest.
Read the build →
Backlink monitoring
Check the live page behind every link you've earned or placed each day, keep the history, and get an email only when a working link breaks.
Read the build →