Feature · Integrations

One Google click. Both data sources connected.

Most tools make you wire GSC and GA4 separately. Slope grants both scopes in a single OAuth grant, then auto-matches the right Search Console property and GA4 property to your project's domain.

What

What it does

When you click 'Connect Google' on a Slope project, you grant read-only access to two Google APIs at once: Search Console (webmasters.readonly) and Analytics (analytics.readonly). Slope then queries both APIs to enumerate the Search Console sites and GA4 properties you have access to, and tries to auto-match the right one based on your project's domain. If it can't unambiguously match — e.g. you have both a www and bare-domain property in GSC — you get a picker.

Why it matters

The job to be done

  • Two clicks become one. The seamless OAuth is the most important UX moment in Slope's onboarding.
  • Auto-matching uses a preference order: sc-domain (covers all subdomains/protocols) first, then https://, then https://www. Most users never see the picker.
  • Read-only scopes — Slope can never delete, update, or send anything via your Google account. Your audit log will show 'Slope' as the actor for read operations, with the exact scopes used.
  • Disconnect at any time from the Integrations page. We drop your refresh token immediately and purge synced metrics within 30 days.
  • Token refresh handled automatically. If a token expires, the sync worker refreshes silently. If a token is revoked (you clicked 'remove access' on Google's side), we mark the integration as 'error' and surface a reconnect button.

How

What happens under the hood

  1. 1

    Click Connect Google

    The button POSTs to /integrations/google/connect-url, which returns a signed OAuth URL with both scopes requested. State param is HMAC-signed to prevent CSRF.

  2. 2

    Grant consent

    Standard Google consent screen — you'll see 'View Search Console data' and 'View Analytics data'. Click Allow.

  3. 3

    Auto-match

    Callback hits our backend, exchanges the code for a refresh token, then enumerates GSC sites + GA4 properties. We pick the best match for your project's domain. If exactly one match → set automatically. If ambiguous → show picker.

  4. 4

    First sync

    A gsc_sync and ga4_sync job get enqueued. Workers pull last 7 days of data. Subsequent syncs run daily at 03:00 UTC and incrementally fetch only new days.

Start finding opportunities tonight.

Connect your domain, GSC, and GitHub. First detection runs within minutes. Free tier requires no card.