How to Build a Workflow for AI Overview Tracking & SEO Reporting

Weโ€™ve all been starved of AI Overview and AI Mode references in our analytics.

The elephant in the room is Googleโ€™s new information retrieval (IR) pipeline for LLM agents, marking the fall of the public โ€œten blue linksโ€ SERP in favour of a system reliant on external APIs to pull data from Googleโ€™s cached web index.

The workflow outlined in this blog post is a bold attempt to track AI Overviews, despite clear evidence of volatility and inconsistency caused by the peculiar retrieval system known as RAG (โ€œRetrieval-Augmented Generationโ€).

โš ๏ธAs it goes, this workflow might get too complex for your needs. If it feels hard to use, thereโ€™s probably a simpler solution. Still, feel free to adjust and adapt it as you like.

Please, do make a copy of the primary Excel spreadsheet first

Technical Intro to AI Overviews

Since the rise of social media, search behaviour has eschewed from rich text-based content in favour of highly more visual formats that pledged quick and snackable answers.

Users now often rely on forums like Reddit and YouTube to fact-check or expand on these results.

As search activity grew sluggish, Google shifted strategy by reallocating resources to its proprietary platforms and cutting the expense of live index queries.

With constant behavioural signals from billion-user services like YouTube, Gmail, and Chrome, Google trains AI models at unmatched speed and scale.

Google can afford to rely on proprietary technical stack (TPUs), significantly reducing training costs and enabling faster inference.

In addition to that, Google relies on cached versions of its index instead of fetching fresh results each time (expensive!) to deliver faster, highly personalised answers.

The long and short is Google’s monopoly enables to experiment and deploy updates at unreal pace at lower costs, and feature AI Overview globally in a ridicolously short amount of time.

As nicely put by Max Geraci in his deep dive in deconstructing Google’s AI search insights, AI Overviews arenโ€™t actually powered by generic Gemini models. But by MAGIT, a Gemini variant fine-tuned on Googleโ€™s massive search query data.

Googleโ€™s use of Retrieval-Augmented Generation (RAG) through MAGIT allows it to generate AI Overviews on top of internally cached index data.

By tailoring outputs to factors like user’s location, device, and search history, MAGIT delivers varied answers while lowering costs, increasing speed, and giving Google tighter control over search result accuracy.

When Tracking AI Overview is Useful

Search performance from AI Overview is currently included in the Web Search report in Google Search Console, since Google has not yet provided a separate tracking channel.

Neither Gogle Analytics 4 or Google Search Console will unlikely provide access to AI-specific data, as the AI retrieval and synthesis pipeline operates outside the analytics data collection layer.

When a system like AI Overview retrieves passages, and merges them into an answer, none of that process is visible to your analytics tools.

Because platforms like ChatGPT don’t have a Gogle Analytics 4 or Google Search Console equivalent, the only viable path is to build our own measurement infrastructure.

This means integrating multiple data sources:

  1. Third-party clickstream data. By keeping an eye on queries likely to be affected by AI Overviews, you can estimate when your site is cited and what click-through rates look like.
  2. Server log checks can reveal how often AI bots are fetching your pages. By filtering logs for known AI user-agents, you can spot crawl patterns and notice changes that may point to shifts in retrieval.
  3. AI panel and citations tracking with web scraping. You can use third-party API services such as DataForSEO and save the full generative output, and extract the references.

๐Ÿ’กHang tight, we’re getting to the workflow!

Keeping a record of citations and AI Overview panel straight from the SERPs is the subject of the worklfow presented within this article.

But there are caveats.

Why my AI Overview Tracking doesn't move?!
Why my AI Overview Tracking doesn’t move?!

Using a SERP API alone isnโ€™t enough to measure AI panels, because generative search behaves very differently from traditional search.

In the past, search used to be “deterministic” meaning a query would reliably return the same ordered results, with changes tied to clear updates or competition.

Now, search has turned much more”probabilistic” as in the same query can produce different answers each time, even under identical conditions.

This makes visibility more about probability, as you need repeated testing and statistical modelling to understand your true โ€œshare of voiceโ€ as a range of outcomes, not a single snapshot.

How to Track AI Overview in Practice

In other words, I suggest the following methods to track AI Overviews.

  1. GTM (Google Tag Manager) โ€“ works on the client side, tracking when a user clicks an AIO link and lands on your site. It measures traffic from AIOs but can be unreliable, needs custom scripts (#:~:text=), and depends on user consent (GDPR).
    You can follow this step-by-step tutorial to set your GTM tracking system up and running.
  2. APIs (like SerpApi or DataForSEO) โ€“ work on the server side, scanning the entire SERP to see where AIOs appear. This gives broader visibility data, not user interactions.
AI Overview Tracking Stack
Method Type What it tracks
GTM Post-click (client-side) Traffic from AI Overviews (captures users who click an AIO link and land on your site)
API (e.g., SerpApi, DataForSEO) Pre-click (server-side) Visibility in AI Overviews (scans SERPs to show where AIOs appear)

While APIs tend to be more reliable for large-scale tracking, combining both approaches likely gives you the full picture.

How to Automate AI Overview Tracking

I used Make in tandem with DataForSEO APIs to build a workflow that would read in a set of keyword and return the outputs on a Google Spreadsheet.

In short,

  1. I used two DataForSEO endpoints โ€” one for advanced SERP results including AI Overviews, and one for AI Mode references.
  2. Tests were run with SERP location set to the UK and language to English.
  3. In Make, the DataForSEO endpoint for Advanced Results lets you choose to set AI Overview extraction to either:

load_async:True for live AI Overview results.
load_async:False for cached AI Overview history.

Not that the choice makes a lot of difference.

  • Live results are good for complex, specific queries but are extremely prone to volatility.
  • Open-breadth and generic queries, instead, may not require an up-to-date AIO box so they might be a bit less prone to volatility.

Requirements & Assumptions

You’re gonna look up to three documents in this automation workflow.

  1. SERP AI Extraction – input file
    Have an input file with the list of keywords you want to analyse. This is the entry point in the workflow on Make. Here’s how my template looks like. https://docs.google.com/spreadsheets/d/1R2Pwdel9ulV3R4vkOEiNoR5UFUkFDazk8zDVbwEog40/edit?usp=sharing
  2. AI Overview Tracker
    The main spreadsheet you’re gonna be working on in combination with Make.
    Be sure to make a copy of this spreadsheet before using it! https://docs.google.com/spreadsheets/d/1Cq6JAeDMEfQOXoT67JQrUM5JyuY0aK8Cwno6jscCyRw/edit?usp=sharing
  3. Make – a freemium platform that enables users to automate several types of workflows. Youโ€™ve got up to 1,000 operations each month for free, and I reckon itโ€™s very unlikely youโ€™ll hit this cap when replicating this workflow.
  4. Google’s Natural Language API Optional if you want to learn which entities are listed in the AI Overview text. You should have a billing account on Google Cloud, then enable the NLP API and create your credentials

To complete the setup, you’ll have to sign up with a pay-as-you-go model on DataForSEO.

I’m not paid to promoting this service, but I can tell you it’s the best among all SERP APIs – although their documentation is a bit irky to get along with.

Anyways, the service is very cheap and convenient. I spent $0,38 to setup the workflow over 6 consecutive days and making requests via the API for 6 terms.

Setting up DataForSEO Extraction on your Google Spreadsheet

To set up the extraction onto your google spreadsheet, open the Gsheet endpoint and populate the cells with the endpoint values from DataForSEO

Data IDs around those values are specified in the sorking spreadsheet in this tab

Once you’re satisfied with the extraction’s setup, press Run Once to kick-off the workflow on Make.

Have some patience and you’ll see the SERP API extractions populating the “DataForSEO Output” tab

โš ๏ธ N.b – never change the order or the content of the headers from the DataForSEO Output tab

A JavaScript Function to Extract Insights from the AI Overview Markdown

Next up, on top of the table hit the “AI Overview Extractor” button

A set of JavaScript functions will perform an extraction of links found within the DataForSEO Output tab

โš ๏ธ I found the markdown extrapolated from the AI Overview a reliable source of information to locate link URLs, link positions and their orginal domain.

Once the job is complete, you will see the spreadsheet populated with 2 new tabs:

  1. AI Overview Citations & Links
  2. Summary

โš ๏ธp.s – these tabs are coloured in red for you to understand they are automatically generated upon the JavaScript extraction.

AI Overview Citations & Links tab
Summary Tab

AI Overview Text Classification with Google Natural Language API

This step is optional, feel free to skip onto the reporting part!

For those who fancy some more digging, this stage is reserved to explore the last ring of the RAG pipeline powering MAGIT.

Can you influence how MAGIT generate information generate information and ship it on the SERP?

Gemini’s MAGIT synthesizes a cohesive answer primarily based on passages that can be easily lifted.

AI Overviews aim for concise, clear and self-contained text so synthesis is constrained to higlighting major entities, such as topics, organizations, and people.

To potentially influence how MAGIT generate an answer, you first need to source major entities from the AI Overview markdown pulled via DataForSEO

  1. Hop on the Text Classification Natural Language API tab
  2. Make sure you have Keyword and AI Answer columns fully populated from the extraction with DataForSEO
  3. Head to Extension on top of the spreadsheet > open App Script > submit your Google Natural Language API key in the script named “text classification AI Overview
  4. Click the button Text Analysis on the top of the spreadsheet and Run Text Analysis

So, how could you increase chances that Google feature your favourite content into AI Overview?

  1. Make sure your brand is featured and recognised by Google as a relevant entity.
  2. Analyze which entities show up most and with the highest salience.
  3. Compare that list to your own content to find gaps or misalignments.
  4. Compare that list to the AI Overview for your competitors to find gaps.

๐Ÿ’กPro Tip: You can use Python to easily identify entity gaps against your own content and your competitors

On to Reporting AI Overviews

Now onto some manual work, because vibe coding really nut me in.

  1. Copy the Summary table and paste it into the Summary for Reporting tab
  2. Under Timestamp on the Summary for Reporting tab you will manually insert the timestamp related to the time the AI Overview retrieval (using the DataForSEO API) actually occurred.
Summary for Reporting tab

Connect to a Looker Studio Dashboard

At this stage, you’ve got some data worth plotting.

Here’s a dead stupid AI Overview template you can use.

  1. Make sure to make a copy first of this Looker Studio dashboard – just like you did with the main spreadsheet!
  2. Connect the Summary for Reporting tab from your very own AI Overview Tracker spreadsheet

Feel free to adjust charts, backgrounds and of course remove the seodepths logo

Clean up the Table to Feast Again

To make the spreadsheet reusable, before starting a new investigation please do:

  1. Delete the TABS IN RED GREEN TAB IS EVERGREEN
  2. Delete content from the cells within the DataForSEO Output tab

Ping me on Linkedin if you have any feedback and are curious to explore new ways to improve the workflow.

Summarise this post