> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trysight.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Search Console Troubleshooting

> Diagnose and fix common Google Search Console connection and sync issues in Sight AI.

If the Sight AI dashboard is showing a "Search Console" warning banner, this page covers what each error means, why it happens, and how to fix it. The banner deep-links straight to the matching section below.

<Tip>
  After fixing any issue, the easiest path forward is almost always the same — click **Reconnect Search Console** on the dashboard banner (or visit **Integrations → Google Search Console**). Reconnecting clears every paused/error flag automatically and re-runs the daily sync within a few minutes.
</Tip>

## Access expired

The Google sign-in Sight AI uses to read your Search Console data has expired or been revoked. This can happen when:

* You haven't signed in to Sight AI for \~6 months (Google's refresh-token policy).
* You changed your Google password.
* You revoked Sight AI's access from your [Google Account permissions page](https://myaccount.google.com/permissions).
* Your organization's admin reset OAuth grants for your domain.

**Symptoms in Sight AI**

* Banner: *"Search Console access expired"*
* Underlying error contains `invalid_grant`, `Token has been expired or revoked`, or `401`.

**Fix**

1. On the dashboard banner, click **Reconnect Search Console** (or go to **Integrations → Google Search Console** and click **Connect Google Account**).
2. Sign in with the same Google account that originally connected Search Console — using a different account will fail unless that account is also a Search Console Owner / Full user on the property.
3. Grant Sight AI the requested Search Console permissions.
4. Within a few minutes the daily sync resumes and the banner clears automatically. Your historical data is preserved — nothing is re-pulled.

## Permission issue

The Google account connected to Sight AI no longer has **Owner** or **Full** access to the linked Search Console property. This is the single most common cause of a paused sync.

**Symptoms in Sight AI**

* Banner: *"Search Console permission issue"* (often with "sync paused" suffix).
* Underlying error contains `does not have sufficient permission`, `permission denied`, `forbidden`, or `403`.

**Why it happens**

* The property owner removed your account from Search Console.
* Your access was downgraded to **Restricted** (Restricted users can't read the API).
* The property was migrated from a URL-prefix to a Domain property and you weren't added to the new one.
* An organization admin pruned legacy users.

**Fix**

1. Open [Google Search Console](https://search.google.com/search-console) and select the property linked in Sight AI.
2. Go to **Settings → Users and permissions** and confirm the account is listed with **Owner** or **Full** access. Restricted is not enough.
3. If access is missing or restricted, ask a current Owner of the property to:
   * Re-add your Google account, or
   * Promote you to **Full** user.
4. Once access is restored, click **Reconnect Search Console** in Sight AI to lift the paused flag and trigger a fresh sync.

<Note>
  If you're not sure which Google account Sight AI is using, the **Integrations → Google Search Console** page shows the currently connected account next to "Connected as".
</Note>

## Property not found

The property linked to your Sight AI site can't be read right now. The OAuth grant is fine, but Google is returning no rows or a `404` for the property URL we have on file.

**Why it happens**

* The property was deleted from Google Search Console.
* The property was renamed (e.g., URL-prefix `https://www.example.com/` → Domain `sc-domain:example.com`).
* The property was unverified in Google.
* Your site's host changed (HTTP↔HTTPS, www↔root) and the original property no longer matches.

**Fix**

1. Open [Google Search Console](https://search.google.com/search-console) and confirm the property still exists and is verified.
2. If the property URL changed, in Sight AI go to **Integrations → Google Search Console** and click the **Re-link property** button to choose the current property.
3. If the property was deleted, recreate and verify it in Search Console first, then re-link in Sight AI.
4. After the property is fixed, click **Reconnect Search Console** on the dashboard banner.

## Temporary rate limit

Google enforces a per-user **100 queries/minute** quota and a per-project **1,200 queries/minute** quota on the Search Analytics API. If a sync runs into either limit, the daily run aborts mid-way and the banner appears.

**Symptoms in Sight AI**

* Banner: *"Temporary Search Console rate limit"* (warning, not paused).
* Underlying error contains `quota`, `rate limit`, or `429`.

**What to do**

* **Most cases — nothing.** Sight AI keeps retrying automatically on the next scheduler tick. The banner clears as soon as a sync succeeds, usually within 24 hours.
* If you also use other tools that hit the same Google account's Search Console API (e.g., a CLI script, Looker Studio dashboards refreshing aggressively), spacing those out reduces collisions.
* If the banner has been showing for **multiple days** despite normal usage, contact **[support@trysight.ai](mailto:support@trysight.ai)** with your site URL and the error timestamp so we can investigate.

<Tip>
  Rate-limit errors do **not** pause the sync — they're recoverable on their own. You don't need to reconnect for this category.
</Tip>

## Unknown error

The dashboard shows the verbatim error text from Google when we can't bucket it into one of the categories above. This usually means a transient API hiccup or something new on Google's side.

**What to do**

1. Take note of the error text shown in the banner.
2. Wait until the next scheduled sync (within 24 hours) — most "unknown" errors are transient and resolve themselves.
3. If the banner is still showing 24+ hours later, click **Reconnect Search Console**. Reconnecting forces a fresh OAuth grant and re-runs the sync immediately.
4. If reconnecting doesn't clear it, contact **[support@trysight.ai](mailto:support@trysight.ai)** with:
   * The exact error text from the banner
   * The site URL
   * When the issue started

## How Sight AI handles GSC sync errors

For context on what's happening behind the scenes:

* **Daily sync (cron):** runs every day around 03:00 UTC and pulls yesterday's clicks/impressions/queries/pages.
* **Backfill:** kicks off the first time you connect a property and pulls the last 90 days in 7-day chunks.
* **Permission errors auto-pause** the sync (`gsc_sync_paused = true`) so we don't keep hammering Google with requests we know will fail. Reconnecting always clears this flag.
* **Other errors** are recorded as `last_error` on the sync state but don't pause the sync — the next scheduled run gets a fresh attempt.
* **Successful syncs clear** the last error automatically. The dashboard banner disappears as soon as one sync succeeds.

## Still stuck?

Email **[support@trysight.ai](mailto:support@trysight.ai)** with the banner text, the affected site, and a screenshot. Including the [Google Search Console](https://search.google.com/search-console) **Settings → Users and permissions** screenshot is the single fastest way for us to diagnose permission issues.
