# Google Search Console

> Import Google Search Console: queries, pages, rankings and index status, next to what search visitors do on your site.

Connect Google Search Console and the **Google Search** page shows what people search on Google before they find your site: every query and page with its clicks, impressions, click-through rate (CTR) and average position, by country, device and search appearance, for the 16 months Google keeps. Next to each page you see what those visitors did on your site: visits, goal conversions and revenue, from your own tracking.

## Connect it

- In your site's **Settings → Google Search**, click **Connect with Google** and sign in with an account that can see the site in Search Console. Access is read-only: nothing changes in your Search Console.
- The property matching your site's domain is picked for you (domain properties like `sc-domain:example.com` first, since they cover every subdomain), and you land on the report. You only choose when none matches.
- The last week arrives within a minute or two, then the rest of the 16 months in the background. New days follow every few hours.

> **Note**
>
> Owners and admins connect and disconnect. Disconnecting deletes the imported data and revokes AnyAnalytics' access at Google.

## What's imported

| Data | Detail |
| --- | --- |
| Performance | Clicks, impressions, CTR and position per day, query, page, country, device and search appearance, for web, image, video, news, Discover and Google News. |
| Sitemaps | The sitemaps Google knows, when it last read them, and their errors. |
| Index status | Whether Google indexed your most visited and most shown pages (or why not), their canonical and last crawl. Checked weekly, within Google's daily limit. |

Google publishes each day about two days later and keeps revising the last few, so they're imported again every few hours. Days are Google's, in Pacific Time.

## Reading the numbers

- **Queries don't add up to the totals.** Google hides rare queries for privacy. Totals, pages, countries and devices are imported on their own, so they're complete.
- **Position** is the average of your top position in each search (1 is the first result); lower is better.
- Click a query to see the pages it shows, or a page to see its queries. Countries, devices and search appearance stay site-wide: Google doesn't export them per query.
- **Visits**, **Conv.** and **Revenue** count sessions that came from organic Google search and started on that page, from your site's script. Conversions use your goals.
- **Opportunities** lists queries and pages that rank on page one but get few clicks for their position (rewrite the title and description), ones just off page one (positions 11 to 20), and ones that lost ranking since the previous period.

## In the read API and MCP

The read API answers `POST /search` (the whole report) and `POST /search/breakdown` (one dimension, with filters and sorting). AI agents connected over MCP get `get_search_report`, `get_search_performance`, `get_search_opportunities`, `get_page_search_detail` and `get_search_console_status`, so you can ask things like "which queries bring people to /pricing, and do they convert?".

## Self-hosting

Google sign-in needs your own Google OAuth client, created once. In the admin console, open **Settings → Google Search**: it walks you through the Google Cloud steps with the exact redirect URI to paste, and checks the client ID and secret with Google before saving them (the secret encrypted). No restart needed. `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET` environment variables work too; the console's client wins.

---

Web version: https://anyanalytics.org/docs/search-console. All docs: https://anyanalytics.org/docs.md
