Onboarding — signup to first briefing in about a minute.
One Google consent screen connects GA4 and Search Console. You pick a property, we pull data, and the dashboard renders your first findings. This page walks through exactly what happens and what you need in hand before you start.
Before you start
You need a Google account that has access to:
- A Google Analytics 4 property on the site you want to track.
- A verified Search Console site covering the same domain.
Read-only access is enough — SignalGuide never writes back to Google. If you don't own the property directly, ask whoever does to grant your Google account Viewer on the GA4 property and Full/Restricted user access on the Search Console site.
The flow, step by step
Sign in with Google
Open /login and click Continue with Google. The button hits/api/auth/google/urland redirects you to Google. See api/routes/auth.py.
Grant the OAuth scopes
Google shows the consent screen with all scopes in one batch. Approve once — SignalGuide stores an access token and a refresh token so it can keep pulling data on your schedule without you re-authing. Scope list below.
Land on /onboarding
First-time users are redirected to /onboarding. Returning users go straight to the dashboard. The onboarding page calls /properties/ga4 and /properties/gsc to populate the dropdowns.
Name your site and describe it
Give the site a name (e.g. knowi.com) and write one line in the What matters field — what the business does, where conversions happen, who the audience is. This text is fed into anomaly weighting, cluster suggestions, and the report writer, so be specific about conversion paths.
Pick a GA4 property and a GSC site
Both are optional individually, but you need at least one to get anything useful. Pick them from the dropdowns — every property your Google account can see is listed. Click Create site & start analyzing.
Run your first analysis
You land on the dashboard. Click Auto-configure & analyze. That single action (a) calls the cluster suggester in api/services/cluster_suggest.py — Claude reads your top pages plus the line you wrote at signup and proposes 3–6 content clusters — then (b) runs a full analysis over the last 7 days. First briefing lands in seconds.
What SignalGuide reads
The consent screen requests these scopes (source: api/services/google_auth.py):
analytics.readonly— page views, sessions, users, bounce rate, channel funnels, AI referrals.webmasters.readonly— Search Console impressions, clicks, CTR, average position, and query × page grain.adwords— Google Ads account list. Reserved for the upcoming Ads integration; no data is pulled yet.userinfo.emailanduserinfo.profile— used to create your SignalGuide account on first sign-in.
Every scope is read-only. Revoke them any time at myaccount.google.com/permissions.
Your first briefing
The analysis engine in api/services/analysis.py pulls GA4 page data, AI referrals, and site totals, plus GSC page and query-level data. It correlates the two, aggregates by cluster, scores opportunities (striking-distance queries, CTR holes, conversion leaks, cluster momentum), and writes a snapshot row to Postgres.
From that snapshot, the report writer in api/services/report_generator.py drafts the plain-English briefing you see at the top of the dashboard — prioritized findings, specific next steps, written against your business context.
api/services/site_maturity.py: fewer than 30 GSC queries, fewer than 10 ranking pages, and fewer than 500 total sessions in the window. When it trips, the snapshot sets low_data_mode = true and the engine generates foundation moves (what to publish, what to fix structurally) instead of striking-distance optimizations. The dashboard hero copy changes to match.Next steps
Once you have a briefing on screen:
- Read Connecting your data for what each source gives you and how to fix access errors.
- If you want to ask about your traffic from Claude, ChatGPT, or Cursor, set up MCP. It's included on the free tier.
Something went wrong?
If the onboarding page shows “No GA4 properties found,” your Google account probably doesn't have access to any GA4 property. Log into analytics.google.com to confirm, then sign out of SignalGuide and sign back in with the right Google account. Same for Search Console at search.google.com/search-console.