Analytics
Google Search Console
AvailableConnect Google Search Console via OAuth to sync clicks, impressions, CTR, and average position directly into KwikScaleAI. The same data powers automated keyword research, ranking insights, and content prioritization.
Prerequisites
- A Google account with verified ownership of the site in GSC.
- A site added to Search Console. Domain property (e.g.
sc-domain:example.com) recommended over URL-prefix.
Setup guide
- In KwikScaleAI: Integrations → Google Search Console → Connect.
- You're redirected to Google's OAuth consent screen. Choose the Google account that owns the GSC property.
- Review the requested scope (read-only access to Search Console) and click Allow.
- KwikScaleAI is redirected back. The adapter automatically matches your KwikScaleAI site to a GSC property by domain (trying domain-based first, then URL-prefix).
- Done. First sync kicks off within a few minutes.
How it works
OAuth flow:
- KwikScaleAI redirects you to
accounts.google.com/o/oauth2/v2/authwithaccess_type=offlineandprompt=consent(ensures we get a refresh token even if you've authorized before). Thestateparameter is encrypted and short-lived (10 min). - You consent. Google redirects back to our callback URL with an authorization code.
- We exchange the code at
oauth2.googleapis.com/tokenfor an access token, refresh token, and expiry. - Tokens are encrypted at rest in the KwikScaleAI database. The refresh token is used automatically when the access token approaches expiry.
- A background worker polls the Search Analytics API every 6 hours to sync the last 90 days of query + page data.
What data we sync
From the Search Analytics endpoint:
- Clicks — number of clicks from Google search results.
- Impressions — how often your URLs appeared in results.
- CTR — clicks ÷ impressions.
- Position — average ranking position.
- All four, broken down per query and per page (URL).
What we don't sync in v1: URL Inspection (indexability), Sitemaps, Index Coverage, Core Web Vitals, Enhancements reports, Security Issues, Manual Actions.
Permissions and scopes
KwikScaleAI requests exactly one OAuth scope:
https://www.googleapis.com/auth/webmasters.readonly— read-only access to Search Console data.
This scope cannot:
- Submit or delete sitemaps.
- Request URL indexing.
- Modify property ownership or access.
- Read Google Analytics, Ads, or any other Google product.
You can audit exactly what we accessed at myaccount.google.com/permissions.
Troubleshooting
OAuth redirect returns an error
Usually a state parameter mismatch — either the OAuth link expired (10 min TTL), or you opened the consent screen in one browser session and completed it in another. Try again from scratch: disconnect if partially connected, restart the Connect flow.
Connected, but no data appears
Three causes, in order: (1) brand-new GSC property with 0 clicks/impressions — GSC has 48–72 hour data delay; (2) the wrong property was auto-matched — check Integrations → GSC → Property and select the correct one; (3) Google's API itself returned an empty response for the window we're syncing. Initial sync runs every 6 hours, so check back.
Property type mismatch (URL vs Domain)
You may have multiple GSC properties for the same site — Domain-based (
sc-domain:example.com) and several URL-prefix (https://example.com/, https://www.example.com/). Domain-based is canonical and includes everything. If KwikScaleAI matched a URL-prefix property with sparse data, switch it in the dashboard.'Site not verified' error during match
The Google account you connected doesn't have verified ownership of the site. Go to Search Console → Property Settings → Users and permissions, and make sure your account is listed as Owner or Full user. Then re-run the connect flow.
Refresh token revoked
If you revoked KwikScaleAI at myaccount.google.com/permissions, or if Google rotates tokens for security, the sync will start failing with invalid_grant. Reconnect — the flow issues fresh tokens. We use access_type=offline + prompt=consent specifically so a re-consent always yields a new refresh token.
FAQ
What data does KwikScaleAI pull from GSC?
Search Analytics: clicks, impressions, CTR, and average position — broken down per page and per query. We do not touch URL inspection, sitemaps, or Index Coverage data in v1.
How often does data refresh?
Every 6 hours. Note that GSC itself has a 48–72 hour data latency — a search that happened today won't show up in GSC for 2–3 days. This isn't KwikScaleAI's delay; it's Google's.
Which property type should I connect — Domain or URL?
Domain property is strongly recommended. It includes all subdomains and protocols (www, non-www, http, https) in a single property. URL-based properties are more fragmented and you may end up connecting the wrong one.
What OAuth scope does KwikScaleAI request?
Only webmasters.readonly. This is read-only access to Search Console data. KwikScaleAI cannot submit sitemaps, request indexing, or modify your GSC configuration through this scope.
Can I disconnect later?
Yes, in two places: (1) KwikScaleAI dashboard → Integrations → Google Search Console → Disconnect, or (2) at myaccount.google.com/permissions, revoke KwikScaleAI's access. Either removes the stored tokens.
Related
- Integrations overview — publishing integrations paired with GSC give the full rankings+content loop.
Ready to automate publishing?
Connect your site once. KwikScaleAI researches, writes, and publishes SEO content on autopilot.