Skip to main content

Google Search Console integration

Pull your clients' Google search clicks, queries, sitemap status and URL index status into reports, and submit sitemaps.

What it does

The Google Search Console integration brings a client's Google Search data into a workflow. Connect the Google account that has access to the client's Search Console property, then read clicks, impressions, click-through rate and average position by query, page, country, device or date, check whether a URL is indexed, and list, submit or remove sitemaps. Pair it with the Schedule trigger for a weekly search report.

Connect a Google Search Console account

  1. Start the connection

    In your workspace, open Apps, choose Google Search Console and click Connect account. You can also click Connect on any Google Search Console step in the workflow editor.

  2. Sign in with the right Google account

    Use the Google account that is an owner or user of the client's Search Console property.

  3. Grant access

    Google asks for two permissions in one screen: to view your Search Console data, and to manage your Search Console data. The manage permission is used only by Add Site, Delete Site, Submit Sitemap and Delete Sitemap; every other action uses the read permission.

The connection stays signed in: TaskJuice renews its access automatically, so scheduled workflows keep running. Google Search Console is a separate connection from Google Analytics; you can connect either one without the other. To revoke access, open Google Account permissions and remove TaskJuice.

Pick the site

The Site picker lists the Search Console properties the connected account can see. To type or map a site instead, use the exact form Search Console shows:

  • A domain property: sc-domain:example.com
  • A URL-prefix property, with its trailing slash: https://www.example.com/

Get Sitemap and Delete Sitemap have a Sitemap picker that lists the chosen site's submitted sitemaps.

Search Analytics dates

Query Search Analytics takes dates as YYYY-MM-DD only, in Pacific time. Unlike Google Analytics, Search Console does not accept yesterday or 28daysAgo. For a rolling window, map an expression into Start Date and End Date:

{{ $formatDate($subtractTime($today("America/Los_Angeles"), 28, "days", "America/Los_Angeles"), "yyyy-MM-dd", "America/Los_Angeles") }}
{{ $formatDate($subtractTime($today("America/Los_Angeles"), 1, "days", "America/Los_Angeles"), "yyyy-MM-dd", "America/Los_Angeles") }}

The first line is 28 days ago and the second is yesterday, both in Pacific time. Leave out any of the time zones and the dates follow UTC, which runs a day ahead of Pacific every evening and shifts a day around daylight saving changes. See Expression functions for the date functions. Search data arrives with a delay of about two days, so a window that ends yesterday may have no rows for its last day; set Data State to All (includes fresh data) to include fresh, incomplete data.

Actions

Search performance

  • Query Search Analytics returns clicks, impressions, CTR and average position for a site and date range. Group rows by query, page, country, device, date, searchAppearance or hour (hour needs Data State set to Hourly). Choose the Search Type (web, image, video, news tab, Discover or Google News), add Filters such as [{"filters":[{"dimension":"query","operator":"contains","expression":"agency"}]}], and set Row Limit (default 1,000, up to 25,000) with Start Row for paging. Rows come back sorted by clicks, highest first.

URL inspection

  • Inspect URL returns Google's index status for one URL of the site: whether it is indexed, when it was last crawled, the canonical Google chose, and its rich result checks. The URL must belong to the site you pick.

Sitemaps

  • List Sitemaps lists a site's submitted sitemaps with their status, error and warning counts, and submitted and indexed counts. Set Sitemap Index to list only the sitemaps inside one index file.
  • Get Sitemap returns one sitemap's details.
  • Submit Sitemap submits a sitemap URL, such as https://www.example.com/sitemap.xml, so Google crawls it.
  • Delete Sitemap removes a sitemap from the Sitemaps report. Google can keep crawling it, and the sitemap file is not touched. Submit it again to undo.

Sites

  • List Sites lists the properties the connection can see and its permission level on each.
  • Get Site returns one property and the connection's permission level.
  • Add Site adds a site to the connected account's Search Console. It still has to be verified in Search Console before data is available.
  • Delete Site removes a site from the connected account. The account loses its verification and access to the site's data, which cannot be undone from TaskJuice. Set the step to Pause for approval if a person should confirm it first.

The four actions that change data (Add Site, Delete Site, Submit Sitemap, Delete Sitemap) succeed with an empty result.

What a search report returns

Query Search Analytics returns Google's rows as is. Each row's keys holds the values of the dimensions you grouped by, in the same order:

{
  "rows": [
    {
      "keys": ["agency reporting"],
      "clicks": 17,
      "impressions": 34,
      "ctr": 0.5,
      "position": 1.06
    }
  ],
  "responseAggregationType": "byProperty"
}

ctr is a fraction (0.5 is 50%), and position is the average ranking position. When nothing matches, the result has no rows. To turn rows into records such as { "query": "agency reporting", "clicks": 17 }, add a Transform step after the report.

Send a weekly search report

Add a Schedule trigger that runs weekly, then Query Search Analytics grouped by query with Row Limit 25 and the rolling dates above, a Transform step that reshapes the rows, and a Slack message or Google Sheets append. The Google Analytics page walks through the full version, which adds the client's top organic landing pages from GA4 to the same message.

Errors

ErrorWhen it happens
INVALID_INPUTGoogle rejected the request, for example a date not in YYYY-MM-DD form, an unknown dimension, or a URL outside the site.
AUTH_EXPIREDThe connection's Google access was revoked or has lapsed. Reconnect the account.
FORBIDDENThe connected account has no access to the site, or it has read access and the action manages the site or its sitemaps.
NOT_FOUNDThe site or sitemap does not exist in the connected account.
RATE_LIMITEDToo many requests in a short time, or the daily URL Inspection quota is spent. TaskJuice retries with backoff.

A site value that does not match a property exactly, such as example.com instead of sc-domain:example.com, fails with FORBIDDEN.

Known limitations

  • There are no Google Search Console triggers. Search Console has no webhooks, and a "daily report ready" trigger is the Schedule trigger followed by Query Search Analytics. Alerting when clicks or position cross a threshold is not available as a trigger; run the report on a schedule and add a Branch step that compares the value.
  • Search Analytics dates must be YYYY-MM-DD; use the expression above for rolling windows.
  • One query returns at most 25,000 rows. Page with Start Row for more.
  • URL Inspection is limited by Google to 2,000 inspections per site per day and 600 per minute.
  • Requesting indexing of a URL, the Search Console button, is not available through Google's API.
  • The Mobile-Friendly Test was retired by Google and is not available.
  • Report rows come back in Google's format. Reshape them with a Transform step.
Was this helpful?