Google Search Console and GA4
Search performance, index status, sessions and key events, read-only, by signing in with Google.
What a member can do
With Google connected, a member can read the Search Console sites and the GA4 properties of the Google account it was connected with. It has eight tools:
| Tool | What it reads |
|---|---|
search_console_sites_list |
The Search Console sites the account can read |
search_console_search_analytics |
Clicks, impressions, CTR and average position for one site over a date range, by query, page, country, device and date |
search_console_url_inspect |
Whether one URL is indexed, how Google crawled it, and its canonical |
search_console_sitemaps_list |
A site's sitemaps, and when Google last read each |
ga4_properties_list |
The Google Analytics accounts the account can read, with their GA4 properties |
ga4_run_report |
A GA4 report over a date range, such as sessions and keyEvents by date |
ga4_run_realtime_report |
What is happening on a property in the last 30 minutes |
ga4_custom_definitions_list |
A property's custom dimensions and metrics, under the names a report takes |
It is read-only. The sign-in asks Google for only two permissions, and neither can change anything: Zero Human reads only your Search Console data and your Google Analytics data. Google's own names for the two, which its screens may show, are:
https://www.googleapis.com/auth/webmasters.readonly, to read Search Console;https://www.googleapis.com/auth/analytics.readonly, to read Google Analytics.
No tool adds, changes or removes anything in Search Console or Google Analytics.
A call returns 100 rows unless it asks for more, and at most 1000. To read further, it pages on with startRow
(Search Console) or offset (a GA4 report). A call that asks for more than 1000 is refused and told how to page.
Name each Google tool a task needs, such as google.search_console_search_analytics and google.ga4_run_report,
or google for all eight. A tool the task does not name is refused, whatever the connection allows.
Who connects it
A Google connection acts as the Google account that signed in when it was connected. It reads the sites and properties that account can reach in Search Console and Google Analytics, and no others. A member names the site or property on each call, after listing them; you can also fix one on the connection, so that every call reads it.
Connecting it uses Zero Human's own Google app. There is no server to run, no key, and no Google Cloud project of your own.
A connection can sit on the enterprise, a team, a member, a role or a task, and the one further down replaces the one above. A connection on anything but a task also reaches the chat of every member it covers.
What waits for you
Nothing. Every Google tool only reads, and each is marked read-only, so a chat does not ask you before one runs. You can still put a gate on any of them on a task, so that you approve each call before it is made. See Gates and tool scopes.
Setup
Connect it
Google is an Express tool: one you connect by signing in, with nothing to set up. Work in one browser window throughout: Google returns to the portal in the window you started from.
Until Google approves Zero Human's app. Google reviews apps that read Search Console or Google Analytics data. Until it has approved Zero Human's, Google's sign-in may show a screen saying Google hasn't verified the app, or stop the sign-in for your account. That is Google's review, not a fault in your account or your settings. If you see either, write to [email protected] before you go on.
- In the portal, open Tools in the sidebar, or a member's page → Tools.
- Under Express, find Google and choose Connect. You are asked who uses it: one member, a team or the whole enterprise.
- Google's sign-in opens: Sign in with Google, choosing the account that can see your Search Console sites and GA4 properties.
- Google lists the two read-only permissions. Allow both.
- You are back on Tools, and Google shows as connected.
- Name the tools on the task,
googlefor all of them or each by name. - Check it. Run a task that lists your Search Console sites and your GA4 properties
(
search_console_sites_listandga4_properties_list). The run page shows the sites and properties Google returned.
The connection keeps working in the background: the sign-in asks Google for access that renews itself.
To disconnect Google, delete the connection on Tools in the portal, or remove Zero Human OS from your Google Account's list of connected apps. Either takes the access back. Reconnect is different: it keeps the connection and has you sign in with Google again.
Give the account access
The connection reads only what the Google account that signed in can read. To read another site or property, an owner of it adds that account: in Search Console under Settings → Users and permissions, and in Google Analytics under Admin → Property access management. Viewer access is enough.
Troubleshooting
What a call returns shows on the run page. The quoted words are taken from each message, so you can search this page for the words on your screen.
| What you see | Why | What to do |
|---|---|---|
| The result says this Google account has no access to this property or site, and names it: "…refused: this Google account has no access to the GA4 property…" or "…to the Search Console site…" | The account that signed in is not a user of that site or property, or the name is wrong | Ask an owner of it to add the account (see Give the account access), or list the account's own sites and properties (search_console_sites_list, ga4_properties_list) and pick one |
| A URL inspection says "…or" the URL "is not part of that site" | The URL does not start exactly as the site does in the sites list: for a site added as a URL, http and https, or www and no www, are different sites. Or the account has no access to the site |
Inspect a URL that starts exactly as the site does in the sites list, or ask an owner of the site to add the account |
| "This Google account has no Search Console sites" or "This Google account has no GA4 properties" | The account that signed in owns or shares none | Add the account to a site or property, or choose Reconnect and sign in as an account that has them |
| The run stops and asks you to sign in again | Google no longer accepts the sign-in: the access was removed, or the account's password or security settings changed | Choose Reconnect and sign in again |
| The result says the Google sign-in "did not grant read access to Search Console" (or to Google Analytics) | One of the two permissions was not allowed when the account signed in | Choose Reconnect, sign in with Google again and allow both permissions |
| API not enabled: the result says an API "is not enabled in the Google Cloud project this connection signs in through" | One of Google's APIs is switched off in Zero Human's Google project, which the connection signs in through. It is not about your account's access | Write to [email protected]: it is fixed on our side, and the same call then works |
| The result says "the quota for this account or project is used up for now" | Google limits how many calls an account or project makes in a period, and that limit was reached | Try again later |
| The result says a call asked for "more than the 1000 rows one call returns" | One call returns at most 1000 rows | Ask for 1000 or fewer, and page on with startRow or offset |
The run stops and says no Google connection reaches it (tool_not_bound:google) |
Google is not connected anywhere this run reaches | Connect it at a layer the run reaches: its task, its member or the member's roles, its team, or the enterprise |
| Google says it hasn't verified the app, or stops the sign-in | Google has not finished reviewing Zero Human's app yet | Write to [email protected] |
| Google says your organisation has blocked the app | Your Google Workspace admin limits which apps may reach its accounts | Ask the admin to allow Zero Human OS, then choose Connect again |