Skip to main content
Browse documentation

Integrations

Connect Google Analytics 4

GA4 supplies the behaviour side: sessions, page views, engagement and session duration, broken down by page, country and device. It is what turns “an AI assistant sent someone” into “and here is what they did next”.

Connect it

  1. Open LLM Analytics, expand Search & analytics connections on the Setup tab, and choose Google Analytics 4.
  2. Sign in with Google. Ranksify requests one read-only scope, analytics.readonly.
  3. Pick the GA4 property. Properties are listed by their display name alongside the numeric property id, and saving one starts the first sync.

How GA4 metrics are labelled

GA4 has no search queries and no ranking position, so the Traffic view relabels its columns per provider rather than pretending GA4 reports the same things Search Console does:

Search Console / BingGoogle Analytics 4
ClicksSessions
ImpressionsPage views
CTREngagement rate
Avg positionAvg session duration
Do not compare a GA4 column with a Search Console column of the same width on screen. They occupy the same table position and measure entirely different things — that is exactly why the headers change with the provider.

Troubleshooting

Sign-in works but the property list is empty

GA4 needs two Google APIs enabled on the project behind your OAuth client, not one. The Analytics Admin API is what lists your properties, and the Analytics Data API is what fetches the numbers. Enabling only the Data API produces a successful sign-in followed by an empty picker, because the call that lists properties is the one being refused.

Google blocks the sign-in

If the OAuth client is still in Testing mode, only accounts explicitly added as test users can complete the consent screen. Everyone else is refused at Google, before Ranksify sees the request. Add the account as a test user, or publish the client.

The card says “Sample data (mock)”

The connection is running on generated sample data. Disconnect it and reconnect through Google sign-in — a mock connection carries no credentials and never becomes live by itself.