# Google Analytics is not syncing

> Fix a GA4 connection that shows no data: a first sync that never finishes, expired access, missing Viewer permission, the wrong property, history limits.

Source: https://ranqo.ai/docs/guides/troubleshooting/ga4-not-syncing

Ranqo reads your Google Analytics 4 data with a daily sync of the property you picked. When the Traffic page shows nothing, find what you see below: a banner, the sync status next to **Sync now**, or a connect card that never changes.

## How syncing works

- **The first sync** starts as soon as you pick a property. On a brand's first connection it fetches as much history as your plan's GA4 limit allows. A reconnect or a switch to another property fetches only the last 3 days.
- **After that**, Ranqo syncs every connected property once a day at 01:15 UTC. Each sync fetches the last 3 days again, because GA4 keeps revising recent data, so the latest days can change for a while after they first appear. A connection that shows a problem is skipped until a successful **Sync now** or a reconnect.
- **Sync now** sits next to the sync status in the header of the Google Analytics view, and nowhere else. It runs a sync while you wait and shows the error beside the button if it fails. That view appears only once the Traffic page has data to show.
- **What is fetched.** Only sessions whose GA4 session source is an AI platform or search engine Ranqo recognises, with their engagement and conversions. The rest of your GA4 traffic is not read.
- **Daily syncs need an active plan or trial.** When a trial ends without a plan, the daily sync stops. See [Billing and trials](https://ranqo.ai/docs/guides/billing).

## The first sync never seems to finish

The Traffic page shows its connect cards until Google Analytics or Site Tracking has data in the last 30 days, the range the page opens on, and that screen has no date picker. While the brand has a Google Analytics connection, the Google Analytics card on it reads **Connected — first sync in progress** whatever the connection's state: also after the sync has finished, and while syncs are failing.

Open **Integrations** first. Its **Google Analytics 4** card reads **Connected** when the connection is working and **Needs attention** when the last sync failed. The possible reasons:

- **The first sync is still running.** The card reads **Connected**. The first sync fetches your plan's whole history window, so give it a few minutes and reload the page.
- **You picked the wrong property.** The property must be the one that measures the site this brand tracks. If you have several, check which one receives your site's data in GA4.
- **GA4 has no matching sessions in the last 30 days.** The card reads **Connected**. The page needs at least one session from an AI platform or search engine Ranqo recognises in that range; older sessions do not count, because the connect screen cannot widen it. GA4 credits a session to an AI platform only through a campaign tag on the link or the referrer the visitor's browser sends, and many AI apps strip the referrer, so those visits land in *Direct*. Look at your traffic by session source in GA4: if no recognised sources appear there, Ranqo finds none either. [Site Tracking](https://ranqo.ai/docs/integrations/site-tracking) sees these visits, because it reads each request on your server.
- **The sync failed.** The card reads **Needs attention**. The reason, **Reconnect** and **Sync now** appear only once the Traffic page has data to show, so from the connect cards you cannot see the reason or retry. [Contact us](https://ranqo.ai/contact).

## "Sync stalled. Try Sync now."

The first sync had not finished while the page was waiting for it. Press **Sync now**. It runs the sync straight away and, if Google refuses, shows the reason next to the button.

## "Google Analytics connection expired"

This title appears after **Sync now** finds that Google no longer accepts Ranqo's access to the property, for example because the access was removed from the Google account. The automatic syncs record the same problem as a sync error instead (see the next section). Press **Reconnect** on the banner, sign in to Google again and pick the property. The picker selects the first property in its list, so check it is the one you had before pressing **Use this property**. Ranqo only asks for read-only access. If the reconnect is refused with "You have reached the limit for this feature on your current plan.", see [While connecting](#while-connecting).

## "Google Analytics sync error"

This is how the automatic syncs (the first one after you connect, then the daily ones) record every failure, and how **Sync now** records any failure other than an expired authorization. The banner shows the error message underneath:

- **A message mentioning `invalid_grant` or `UNAUTHENTICATED`.** Google no longer accepts Ranqo's access, for example because it was removed from the Google account. Press **Reconnect**, sign in again and pick the property.
- **A message mentioning `PERMISSION_DENIED`.** The Google account you connected does not have access to the property. Reconnecting with the same account does not fix it. Either give that account at least Viewer access in GA4, under **Admin**, then **Property Access Management**, and press **Sync now**; or press **Reconnect** and sign in with an account that already has access.
- **Any other message.** Press **Sync now** in the Google Analytics view. If it succeeds, the error clears and daily syncs resume.

Days missed while the connection was failing are not fetched afterwards, except those inside the last 3 days when it is fixed.

## While connecting

- **"You declined access to Google Analytics."** You chose not to allow access on Google's screen. Start again and allow it.
- **"Google rejected the connection request."** Make sure the Google account can see at least one GA4 property, then try again.
- **"No GA4 properties were found for this Google account."** You signed in with an account that has no GA4 properties. Only GA4 properties are listed. Start again with the account that has access to your site's Analytics.
- **"We couldn't find a pending Google Analytics connection."** The Google sign-in is held for a few minutes while you pick a property, so it may have lapsed. The same message appears when Ranqo could not list the account's properties. Start the connection again.
- **"Only the account owner can do this."** Only the account owner can connect or reconnect Google Analytics. When a team member presses **Connect**, **Continue with Google**, **Add Google Analytics** or **Reconnect**, the browser leaves the dashboard for a page that shows this message as raw text. Go back and ask the account owner. See [Team and seats](https://ranqo.ai/docs/guides/team).
- **"You have reached the limit for this feature on your current plan."** Your plan allows a set number of GA4 properties across all your brands, and the brand's existing connection counts toward it, so the message also appears when you reconnect or switch property with every property in use. It appears in the picker after you choose a property. On Starter, whose limit is 1, every reconnect gets it once the brand is connected; to reconnect, [contact us](https://ranqo.ai/contact). See [Plans and limits](https://ranqo.ai/docs/guides/plans-and-limits).

## History and plan limits

The Google Analytics view shows at most your plan's GA4 history, even if you pick a longer date range. On Starter that is 90 days and on Pro 180 days; every plan is in [Plans and limits](https://ranqo.ai/docs/guides/plans-and-limits).

History is fetched once, by the first sync attempt of a brand's first connection. Later syncs refresh only the most recent 3 days, so older days are not fetched from GA4 after upgrading to a plan with a longer window, after a first sync that failed, or after a reconnect. After a switch to another property, older days keep the previous property's figures. See [Reconnecting and switching property](https://ranqo.ai/docs/integrations/ga4#reconnecting-and-switching-property).

## Numbers that differ from GA4

- Ranqo counts only sessions from AI platforms and search engines it recognises, so its totals are a slice of what GA4 shows. Search engines are matched by source alone, so paid search clicks count too.
- The most recent days can still change for a while, because GA4 revises them and each sync fetches them again.
- The **Top landing pages** card can show several times GA4's session count for a page, because it adds up the landing-page totals stored with every day in the range. See [How AI and search sources are recognised](https://ranqo.ai/docs/integrations/ga4#how-ai-and-search-sources-are-recognised).

## Related

- [Google Analytics 4](https://ranqo.ai/docs/integrations/ga4): Connect a GA4 property.
- [Traffic](https://ranqo.ai/docs/guides/traffic): Read the Google Analytics view.
- [Site Tracking](https://ranqo.ai/docs/integrations/site-tracking): See AI visits GA4 cannot attribute.
