siteline Start free trial Log in

Search Console plus on-site analytics

See your data

Search Console answers four questions: how often Google showed you, how often people clicked, what share that is, and whereabouts you sat in the results. On-site analytics answers a different four: who arrived, which page they landed on, what they did, and whether they converted. Treating either as a substitute for the other is how teams ship "SEO reports" that cannot explain a traffic drop.

SiteLine is built as both ledgers in one subscription. That only helps if you keep them honest.

Two ledgers, one date, one page

The join key is not "organic." It is a date plus a landing page URL.

Ledger Grain Headline metrics What a row means
Search Console site totals One row per day per search type Clicks, impressions, CTR, position The whole property on Google that day
Search Console queries / pages Up to 25k rows/day/report Same four, for that slice A query, a page, or a pair — not the site
On-site analytics Pageviews and events, same day Visitors, pageviews, events, goals A browser hit your origin

Read GSC headlines from site totals. Read the long tail from the dimension tables. Read behaviour from analytics. If a page gained impressions and lost clicks, that is a SERP problem (snippet, position, intent). If it kept GSC clicks and lost on-site conversions, that is a site problem (speed, offer, form). Mixing those diagnoses is how you rewrite a title when the checkout is broken.

Position on a GSC row is already impression-weighted for that slice. CTR is clicks ÷ impressions. Never average either across days, queries, or clients. To roll position up: SUM(position × impressions) / SUM(impressions). To roll CTR up: SUM(clicks) / SUM(impressions). SiteLine does not store a CTR column, so nobody can AVG one by accident.

Why the two totals will not match

A Search Console click is not an analytics session. The gap is not a bug in either product. Typical, specific causes:

The longer version is Search Console clicks vs analytics sessions. If you came from GA4's Organic Search channel, read organic traffic vs Search Console.

What SiteLine actually stores

Google access is read-only: the webmasters.readonly scope. SiteLine cannot submit sitemaps, request indexing, or change Search Console settings.

On connect, it backfills the 16 months Google still holds. Search Console drops each day once it is 16 months old; SiteLine keeps every imported day for as long as you subscribe. Every night it re-imports the last 7 days, because Google revises recent figures after first publish.

Alongside that, cookieless analytics: no first-party analytics cookie, unique visitors from a daily hash of truncated IP + user agent + a rotating salt. Install the script or the React SDK. The privacy model is in /docs/privacy.

Agents query both over MCP. Search Console tools return data_from, data_through and a notes line so a model does not treat the two-day lag as a collapse, and does not sum the top-N query rows as if they were the site. Details: the Google Search Console MCP guide.

A working reading order

When something looks wrong, use this order. Skip it and you will "fix" the wrong layer.

  1. Site totals, Web search type, last 28 complete GSC days (ending two days ago). Is the property actually down?
  2. Time series against the prior period, still on site totals. Is it a day, a week, or a slope?
  3. Pages dimension, still not the query table. Which URLs moved?
  4. Queries for those pages. Intent and cannibalisation live here. Remember the query table is incomplete.
  5. On-site for the same URLs, same calendar dates, knowing GSC is two days behind. Did landed visitors bounce, fail a goal, or never hit the snippet?

That is a habit, not a slide. Search Console is not enough on its own; analytics without queries is also not enough. See combining GSC with cookieless analytics for the join keys.

Cost, sites, and what you are not buying

Unlimited Search Console properties. Unlimited analytics domains. Plans are Starter $4.99, Growth $19.99, Scale $99.99, billed on events not sites. See /docs/billing. Trial at /register.

You are not buying session replay, a tag manager, or Google Ads. You are buying the two ledgers most SEO work actually needs, stored so you can still ask questions after Google's 16-month window and past the 1,000-row UI.

FAQ

Should I use GSC clicks or analytics visitors as the KPI?

Use clicks when the question is "did Google send us the visit?" Use visitors or goals when the question is "did the visit do anything?" Put both on the page. Do not pick one and pretend it is the other.

Why is the query report's click total lower than the site?

Google anonymises rare queries, and SiteLine caps 25,000 rows per day per report. Those rows are a sample of the visible tail, ranked by clicks. Quote site totals for the headline. Say "of the queries we can see" for the rest.

Can I average position across a folder of pages?

No. Re-weight with impressions, or use the position SiteLine already computed for that slice. A folder with one high-impression page at position 2 and fifty thin pages at position 40 is not "position 21."