Google Search Console

Connect Search Console to unlock striking-distance, CTR and decay moves and daily rank data.

Google Search Console is where your best moves come from. It tells LogNorm which searches you already appear for, where you sit on the results page and how often people click. Connect it once per website and LogNorm syncs every day, turns the data into ranked moves and measures every move you ship against it.

Plan and role
Search Console is a plan feature. If your plan doesn't include it, Search shows an upgrade card instead of the connect button. Only workspace owners and admins can connect, sync or disconnect it; members see the data but are asked to find an owner or admin to connect.

Connect Search Console

LogNorm uses Google's OAuth sign-in with the read-only webmasters.readonly scope. It can read clicks, impressions and positions; it never writes anything to your Search Console account. The tokens are encrypted per workspace.

You can connect from three places, and they all run the same flow:

  • The last step of onboarding, Connect Google Search Console (optional; you can skip it and connect later).
  • SearchPerformance, with the Connect Search Console button.
  • SettingsIntegrations, on the Google Search Console card.
  1. Pick the website

    The connection belongs to one website. Switch to the right site in the site switcher first; each website in a workspace connects on its own.

  2. Click Connect Search Console

    You're sent to Google. Sign in with an account that has access to the site's Search Console property.

  3. Grant the Search Console permission

    Tick the Search Console permission on Google's consent screen. If you leave it unticked, LogNorm returns you with “Search Console access wasn't granted” and nothing is stored.

  4. Confirm the property

    LogNorm matches a property to your domain automatically. It prefers a domain property (sc-domain:example.com), then an https:// URL-prefix property on the bare or www host, then http://. If nothing matches, you see Pick the Search Console property for example.com: choose the property that covers the site and click Use this property.

  5. Wait for the first sync

    The first sync starts straight away. While it runs, the Performance tab shows “Your first sync is on its way”. Big sites can take a few minutes.

No properties listed?
The Google account you signed in with has no verified properties. Verify the domain in Search Console first, then reconnect. Unverified properties are never offered.
The sign-in link expires
Finish the Google consent screen within 20 minutes, and with the same LogNorm account that started it. Otherwise LogNorm asks you to try connecting again.

What syncs

LogNorm pulls Search Console's performance data broken down by date, query and page: clicks, impressions, click-through rate and average position for each combination.

SyncWindowWhen
First syncAbout 16 months, the most Search Console keepsRight after you connect or pick a property
Daily syncThe last 90 days, replaced in full so late corrections from Google landAbout once a day, automatically
Sync nowThe last 90 daysWhen an owner or admin clicks Sync now

LogNorm only takes Google's finalised numbers, so the most recent day is about two days old. That's normal Search Console lag, not a stuck sync.

The Performance tab

SearchPerformance shows the connected property, when it last synced and any error. Below that:

  • Clicks, Impressions, Avg. CTR and Avg. position for the chosen period, each compared with the previous period of the same length. The chart overlays this period against the previous one.
  • A period picker: 7 days, 28 days, 3 months, 6 months or 16 months.
  • Top queries and Top pages tables, with the change in clicks against the previous period.

The second tab, SearchSERP viewer, shows what the Google results page looks like for any search. Keyword planning itself lives in Keywords.

The moves it unlocks

After every sync LogNorm reads the last 28 days of data (and the 28 before, for decay) and creates or updates moves in your backlog. Each move carries the Search Console rows behind it as evidence, so you can see exactly which queries and pages triggered it. Queries you skipped in KeywordsDiscover never drive a move.

MoveWhat triggers itWhat to do
Striking distance
“Push … onto page one”
A page whose queries rank 8–20 with real impressions (at least 20 per query, 100 across the page in 28 days). Up to 12 pages, biggest first.Improve that page's coverage, title and internal links for those queries. Google already sees it as relevant.
CTR fix
“Rewrite the title and description of …”
A page in the top 10 with 300+ impressions whose click-through rate is under half of what its position usually earns. Up to 10.Rewrite the title and meta description to match the intent of the main query. Rankings stay; clicks come back.
Decay
“Refresh …: clicks down N%”
A page that had 30+ clicks in the previous 28 days and lost 30% or more in the last 28. Up to 10.Compare today's top results, update the content and resubmit it.
Orphan query
“Make … the page for” or “Write a dedicated page for”
A query of two or more words with 100+ impressions ranking past page one, served by a page that wasn't written for it. Up to 10 per sync.Either point the query at the right existing page, or write a new one. See below.
Cannibalisation
“Make … the one page for”
A query with 100+ impressions where two or more of your pages each take at least 20% of the impressions.Link the other pages to the chosen one with the query as anchor text, and trim the overlap so each page owns its query.

Every move comes with an expected impact, such as “+340 clicks per 28 days at position 3”, worked out from the impressions and a typical click-through curve.

One move per page
Striking-distance and decay moves on the same page share one move. If a page is both slipping and sitting on page two, you get a single refresh move with the latest evidence rather than two competing ones.

Orphan queries mapped to pages

When Google tests your site for a search but shows a page that isn't about it, LogNorm asks which of your pages should rank. It compares up to eight candidates: the pages Google already shows for the query, plus your pages whose title, H1 or path share its words. There are three outcomes:

  • A different existing page fits. You get a refresh move, “Make /pricing the page for …”, telling you to work the query into that page's title, headings and intro and to link to it from the page Google shows now. The move lists every page compared and how sure LogNorm is.
  • The page Google shows is already the right one. No orphan move; the striking-distance move covers it.
  • No page fits. You get a new-article move, “Write a dedicated page for …”, with the closest pages that were ruled out.

LogNorm only acts on a page choice when it is reasonably sure. When it isn't, it falls back to comparing the query's words with the URL of the page Google shows, and suggests a new page only if they don't match.

Cannibalisation

Cannibalisation moves appear only when LogNorm is sure which page should win. If it can't pick one with confidence there is nothing concrete to do, so no move is created. The move names the winning page, the pages to link from, and the pages that were compared.

Branded query detection

Searches for your own brand aren't content opportunities: you already own them. LogNorm judges each orphan and cannibalisation query and asks whether it is a search for your brand or product. Branded queries are left out of those moves.

The judgement uses your Brand identity in Company Brain: your site name and domain, the Brand terms you add (product names, old names, abbreviations) and your Owned sites. Keep that list complete so product-name searches are recognised as yours. If the judgement isn't available for a query, LogNorm falls back to checking whether the query contains any word of your site name.

Daily rank data

Search Console also feeds rank tracking. After every sync, LogNorm records a daily position for each targeted keyword from the last 90 days of data: the impression-weighted average position for that exact query, plus the page that earned the most impressions that day. When you target a new keyword, its history is filled in right away.

You see this in KeywordsTracking, next to the weekly Google check that covers every targeted keyword, including ones with no impressions. Daily Search Console positions only exist for queries where you actually got impressions; the weekly check fills the gaps. See Keywords for how tracking works.

Search Console data also flows into the rest of LogNorm:

  • Keyword suggestions. Keyword research uses queries with at least 10 impressions in the last 90 days as candidates, then checks them against search volume and difficulty before suggesting them in Discover.
  • Results. When a move ships, LogNorm records a 28-day baseline from Search Console and measures again at 28 and 90 days. See Results and measurement.
  • Growth Plan. Each sync triggers a fresh look at your backlog, so new moves are ranked against the rest. See Growth Plan.

Reconnect, switch account or disconnect

If Google revokes access or a token expires, the status bar turns red with the error and the Sync now button becomes Reconnect. Automatic syncing pauses for that site, and after a failed sync LogNorm waits a few hours before trying again.

To use a different Google account, open the … menu on the status bar and choose Reconnect or switch account. To stop syncing, choose Disconnect there or on SettingsIntegrations.

What disconnecting keeps
Data already synced stays, so charts and move evidence keep working. New Search Console moves, daily rank data and outcome measurement pause until you reconnect.

Troubleshooting

MessageWhat it means
Search Console access was declined.You cancelled Google's consent screen. Connect again and allow access.
Only owners and admins can connect Search Console.Ask a workspace owner or admin to connect it.
Search Console isn't included in your plan.Upgrade in SettingsBilling. See Credits and billing.
Search Console access expired / Google revoked access.Click Reconnect and sign in again.
That property isn't available in the connected Google account.The account you signed in with can't see that property. Reconnect with the right account.