Skip to main content
LLM Metrix
Back to tutorials

Tracking Google Search Performance

Connect Search Console on any plan, backfill 16 months of daily totals plus 90 days of query and page data, and compare what you rank for against what AI engines actually say.

Level

Beginner

Format

Guide

Duration

11 min read

Sections

7 sections

The Search page is the one place in LLM Metrix that shows Google’s own measurement of your site rather than a derivation from AI answers. It reads Google Search Console: clicks, impressions, CTR, average position and your top queries.

It is worth setting up on day one for two reasons. Search Console is available on every plan, including free, unlike the GA4 connector, which needs Agency, and Cloudflare zone ingestion, which is Agency only and has no dashboard card at all. And it is the only source in the product that backfills real history the moment you connect it, rather than making you wait a week for a trend to exist.

Be precise about which history, though: the backfill is two windows, not one. Daily totals go back about 16 months; query-level and page-level rows go back about 90 days. Step 3 explains why.

Step 1: Connect Search Console to your workspace

Go to Integrations in the Sources group of the sidebar and open Google Search Console. You need to be a workspace owner or admin: the page shows “Only workspace owners and admins can connect or manage integrations” to everyone else.

Click Connect. You are sent to Google’s consent screen and asked for one read-only scope (webmasters.readonly). With that grant LLM Metrix cannot change anything in your Search Console account.

The neighbouring Google Analytics 4 card is gated to Agency; Search Console is not, on any plan. An amber “Google integration is not configured on this deployment” warning means the environment is missing its Google OAuth credentials: an operator fix.

app.llmmetrix.com/dashboard/integrations/gsc
Illustrative, sample figures in the product's real layout

Integrations

Connect Google Analytics 4, Search Console and Cloudflare to attribute real traffic to AI assistants. Tokens are encrypted at rest; syncs run hourly.

Google Analytics 4
Connect

Pulls sessions by source/medium and classifies ChatGPT, Perplexity, Gemini, Claude, Copilot and Meta AI referrals into an AI-Assistant channel.

Google Search Console
Connect

Pulls your clicks, impressions, CTR and average position straight from Google the moment you connect: up to 16 months of daily totals, plus the last 3 months broken down by query and page. Available on every plan.

Live component, sample data. Search Console and Google Analytics 4 cards before either is linked. Search Console is on every plan; Analytics is gated to Agency.

Step 2: Bind a property and a project

After the OAuth round-trip the card shows a green connected status badge and two fields.

The first is GSC site URL. You can type it (the placeholder shows the two accepted shapes, sc-domain:example.com for a domain property and https://example.com/ for a URL-prefix property), but don’t. Click Choose from my Search Console properties instead: it lists the properties this Google account can actually read, with unverified-user properties filtered out because they cannot be queried anyway. A typo in the text field does not fail here; it fails silently two days later as an empty dashboard. Enter manually switches back if you need it.

The second field is Project (where synced metrics land). Pick the project whose domain matches the property: the Search page reads whichever project is selected in the top bar, so a connection bound to the wrong one shows an empty page while quietly filling another. Both fields save immediately, with a “Property saved” / “Project bound” toast.

app.llmmetrix.com/dashboard/integrations/gsc
Illustrative, sample figures in the product's real layout
Google Search Consoleconnected

Pulls your clicks, impressions, CTR and average position straight from Google the moment you connect: up to 16 months of daily totals, plus the last 3 months broken down by query and page. Available on every plan.

Last synced 2026-05-14
Live component, sample data. The property picker open, listing what this Google account can actually read. The select works; "Enter manually" switches back to the text field.

Step 3: Let the first sync backfill your history

The Sync now button stays disabled until the connection is connected and a property is bound. Once both are true, click it. It enqueues an ordinary queue job; an hourly sweep enqueues the same job for every bound connector afterwards, so you only ever click this to hurry things along.

The first sync pulls two backfill windows, deliberately different lengths:

  • Date-only totals: about 480 days (~16 months). One row per day, never anonymised, cheap to store: this is what gives you a 16-month clicks-and-impressions trend on day one.
  • Per-query and per-page rows: about 90 days. These are far bulkier, and Google withholds their long tail anyway, so a shorter window carries the top-query table and the page-level half of the Google-vs-AI comparison without pulling six figures of rows on first connect. This is why the 16-month range shows a full trend chart but a query table that stops around three months back (expected, not a failed sync). It is also why the Search × AI join in Step 6 has ~90 days of history behind it, not 16 months: that join runs on query rows.
  • Everything ends two days ago. Search Console finalises with a lag and LLM Metrix asks for final data only, because a figure that changes under a chart you already screenshotted is worse than one that arrives two days late. The two most recent days are never present; the “final through” date in the page header tells you exactly where the data really stops.

Every later sync re-pulls only the most recent week and overwrites what it finds, so re-syncing is free and never duplicates a day. Days are bounded in America/Los_Angeles, the timezone Search Console reports in: UTC would shift every figure by one day for part of every day.

Step 4: Read the four headline numbers

Open Search in the Monitor group of the sidebar. The header reads Google Search performance, followed by your project’s domain and a “final through” date derived from the data itself. The range picker on the right offers 28 days, 3 months and 16 months presets plus a custom window picked on a calendar (any span up to 16 months, bounded by the last day with data). At the widest range the trend normally goes back the full 16 months, while the query rows still only reach back about 90 days (see Step 3).

Four stat cards follow: Clicks, Impressions, CTR and Avg. position. That last one is impression-weighted (the sum of position × impressions divided by total impressions), not a plain mean across queries, which would let a query with three impressions pull as hard as one with thirty thousand.

One caveat that only bites high-volume properties, and it is worth recognising because it looks like a broken sync. The page reads a bounded number of rows per request, and on a property with enough query and page detail the 16-month window can exceed it. When that happens the page shows a notice saying the figures describe only the most recent part of the window. It is the trend chart and these four cards that thin out first, not the query table, because they are the ones built from the whole-property daily rows. An empty trend above a full Top queries table is that state, not a failure. Narrow the range and the picture is complete again.

app.llmmetrix.com/dashboard/search
Illustrative, sample figures in the product's real layout
28d
4.2K
Clicks
visits from Google Search
28d
214.9K
Impressions
times your results appeared
clicks per impression
1.9%
CTR
how often an appearance earns a visit
impression-weighted
14.2
Avg. position
mean rank across all appearances
Live component, sample data. Clicks, Impressions, CTR and Avg. position for the window. The last is impression-weighted, not a plain mean across queries.

Step 5: Work the query, branded and striking-distance tables

Top queries lists what people searched to reach you. Under it you may see “These queries account for N% of your clicks”. That is not a bug: Google withholds queries searched by only a few people, so itemised query rows always undercount the property total, commonly by 18–50%. Google documents this behaviour in its performance-data filtering and limits guide. The gap is reported rather than hidden by summing the query table and calling it “total clicks”.

Branded vs non-branded splits your clicks using your brand name plus the registrable part of your domain (“acme” from acme.com). The share is taken against itemised clicks, never the property total (against the total, the two halves never reach 100%). A project with neither a brand name nor a usable domain reports everything as non-branded rather than guessing.

Striking distance produces a to-do list rather than a scoreboard: queries ranking between positions 4 and 20 with at least 10 impressions, sorted by impressions. Positions 1–3 take roughly half of all clicks, so a high-volume query sitting at 11 is the cheapest win available to you.

Every table can be sorted by clicking its column headers, expanded row by row to the day-by-day series behind a single query or page, and exported to CSV: the export carries exactly the rows you are looking at, never a silently larger set. When the previous period has data, the four stat cards show percentage change against it, the trend chart can overlay the previous period (dashed lines, day-aligned), and each table gains a Δ Clicks column. A Devices panel and Top countries table show the same four measures broken down by Google’s own Device and Country dimensions.

Step 6: Compare Google against the AI answers

The Google vs AI answers panel is why this page lives here rather than in Search Console. It joins your Search Console queries to the prompts your last completed brand scan ran, requiring every significant token of the query to appear in the prompt. Two disagreements come out:

  • Ranked but not cited: Google’s first page for a query, no engine mention in the matching prompt. Sorted by impressions: the biggest audience seeing a page AI will not cite comes first.
  • Cited but not ranking: engines mention you for the prompt, Google ranks you outside the top ten for the matching query. Sorted by the deepest Google position.

Underneath, a note counts what could not be judged: queries with no matching prompt (nobody asked the engines about them) and AI-mentioned prompts with no matching query (Google withholds low-volume terms). Those are reported as coverage, never asserted as findings.

A dashed note may say page-level comparison needs engines that return real cited links. Without search grounding, answers name your domain but not which page, so there is nothing to match your ranking URLs against; with grounded scans, Pages ranked but not cited and Pages cited but not ranking appear too. Before your first completed scan the panel simply says so.

app.llmmetrix.com/dashboard/search
Illustrative, sample figures in the product's real layout

Google vs AI answers

Run a scan to compare what you rank for in Google with what AI engines actually say about you.

Live component, sample data. The Google vs AI answers panel, with the coverage counts underneath. Page-level comparison is shown in its unavailable state, which is what an ungrounded scan produces.

Step 7: Keep the connection alive

The card shows Last synced with a timestamp, or Never synced, and leaves a failed sync’s message beside it in amber. Watch the status badge: a red revoked badge means the Google grant is dead (access removed in the Google account, or the refresh token expired), and a Reconnect button appears beside it, running the same OAuth flow as Step 1. The property picker reports the same state, returning “Google access was revoked. Reconnect the account” rather than pretending to load. Disconnect (owners and admins only) removes the connection and best-effort revokes the token at Google.

Step 8: Where to go next

The Search page is deliberately separate from AI Rankings: that page means your position inside an AI answer, this one your position in Google. Read them side by side rather than merging them.

Ready to put this into practice?

Start optimizing your AI visibility with the techniques you've learned.