# Changelog of Google AI Overview Citation & Brand Tracker (`datagrit/google-ai-overview-citation-tracker`) Actor

- **URL**: https://apify.com/datagrit/google-ai-overview-citation-tracker/changelog.md
- **Full Actor documentation**: https://apify.com/datagrit/google-ai-overview-citation-tracker.md

## Changelog

### 0.2

- Removed the late-AI-Overview retry and the `unresolved` status row. The `folsrch` block that 0.1 treated as a sign of a late AI Overview is the "people also search for" block: live checks showed it on stable pages without an AI Overview (weather tomorrow, notion templates) and never on a page with one, so those queries cost three requests and produced a free, wrong "undecided" row. A page without an AI Overview is now `aiOverviewPresent: false` with its organic results in a charged row after one request. The `deferredRetries` input is gone.
- Layout guards are evidence-based per page: a page with citation records or the AI Overview disclaimer ("AI responses may include mistakes") but no AI Overview container is a layout error. Frequency guards (no AI Overview in five or more queries, AI Overviews without citations) are not used, because Google shows an AI Overview on only about 40 % of queries and none on most local and navigational ones, so they failed correct runs. The run message still reports how many AI Overviews and citations were found.
- `queries: null` falls back to the default list.
- The `Google requests` counter now includes failed attempts, so the measured proxy cost is not understated.
- Removed unreachable code (`aiOverviewPresent: null`, dead tracking condition, duplicate counter in the run message).
- Test fixture for a page without an AI Overview is now a live capture of the production URL (with the `folsrch` block).

### 0.1

- First release: one row per Google query with the AI Overview text, the cited source pages in order (position, URL, domain, site name), the organic results of the first page, and tracking fields for your own domains (cited, citation position, organic rank) and brand names (mentioned, count inside the AI Overview text).
- Google market set by country (`gl`) and interface language (`hl`).
- A page whose AI Overview loads late is requested again up to the chosen number of times; if it stays undecided the query gives a free `unresolved` status row instead of a false "no AI Overview". Queries with no results or no readable page give a free status row with a reason.
- Run message reports AI Overviews found, citations parsed and organic results parsed with counts; a changed Google page layout (no organic results, or AI Overviews without any citation) fails the run instead of delivering empty rows.
- Tested inputs: two English queries with an AI Overview (typical, live), a Polish query list in the Polish market with domain and brand tracking where one query has no AI Overview and one never resolves (edge, live: one row with an AI Overview and citations, one row without, one free `unresolved` status row), and a query with no results (single free status row, local fixture).
