ai-overviewtrackinggoogle-io

AI Overview Tracking After Google I/O Changes

AI Overviews are default for 1B+ users post-I/O. Track which queries trigger overviews and whether your domain gets cited. Build tracking for under $15/month.

8 min

After Google I/O 2026, AI Overviews are shown to 1B+ monthly users by default. Tracking which queries trigger AI Overviews and whether your domain gets cited requires a SERP API that returns AI Overview data as structured JSON. Traditional rank trackers miss this entirely. Here is how to build AI Overview tracking into your SEO pipeline.

What changed post-I/O 2026

  • AI Mode is default for all users (not opt-in anymore)
  • Gemini 3.5 Flash powers the AI summary generation
  • Citation selection uses the same signals as organic ranking
  • Information Agents extend AI Overviews to push-based monitoring

Track AI Overview presence and citations

Python
import requests
import json

def track_ai_overviews(keywords: list, domain: str) -> list:
    """Daily AI Overview tracking for a keyword set."""
    results = []

    for kw in keywords:
        resp = requests.post(
            "https://api.scavio.dev/api/v1/search",
            headers={"x-api-key": "YOUR_KEY"},
            json={
                "query": kw,
                "include_ai_overview": True,
                "num_results": 10
            }
        )
        data = resp.json()

        ai_overview = data.get("ai_overview", {})
        has_overview = bool(ai_overview)
        citations = ai_overview.get("citations", [])

        domain_cited = False
        citation_pos = None
        for i, c in enumerate(citations):
            if domain in c.get("url", ""):
                domain_cited = True
                citation_pos = i + 1
                break

        results.append({
            "keyword": kw,
            "has_ai_overview": has_overview,
            "total_citations": len(citations),
            "domain_cited": domain_cited,
            "citation_position": citation_pos,
            "competitor_citations": [
                c["url"] for c in citations
                if domain not in c.get("url", "")
            ][:3]
        })

    return results

report = track_ai_overviews(
    ["best saas tools 2026", "crm comparison for startups"],
    "mydomain.com"
)
print(json.dumps(report, indent=2))

Alert on citation changes

JavaScript
// Compare today vs yesterday: alert on gained/lost citations
async function citationChangeAlert(keywords, domain, yesterdayData) {
  const today = [];

  for (const kw of keywords) {
    const resp = await fetch("https://api.scavio.dev/api/v1/search", {
      method: "POST",
      headers: {
        "x-api-key": process.env.SCAVIO_KEY,
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        query: kw,
        include_ai_overview: true,
        num_results: 10
      })
    });

    const data = await resp.json();
    const cited = (data.ai_overview?.citations || [])
      .some(c => c.url.includes(domain));

    today.push({ keyword: kw, cited });
  }

  // Diff against yesterday
  const gained = today.filter(t =>
    t.cited && !yesterdayData.find(y => y.keyword === t.keyword)?.cited
  );
  const lost = today.filter(t =>
    !t.cited && yesterdayData.find(y => y.keyword === t.keyword)?.cited
  );

  if (gained.length > 0) {
    console.log("GAINED citations:", gained.map(g => g.keyword));
  }
  if (lost.length > 0) {
    console.log("LOST citations:", lost.map(l => l.keyword));
  }

  return { gained, lost, today };
}

Key metrics to track daily

  1. AI Overview presence rate: % of keywords that have an AI Overview
  2. Citation rate: % of AI Overviews that cite your domain
  3. Citation position: first citation gets the most click-through
  4. Competitor citation tracking: who gets cited when you do not
  5. Week-over-week trend: is your citation rate improving?

Cost for daily tracking

100 keywords tracked daily = 3,000 queries/month = $15/month on Scavio ($0.005/credit). Enterprise AI visibility tools charge $300-1,000/month for similar coverage. The data is the same -- you just build the dashboard yourself.