Google Search Console integration summary

Stitch’s Google Search Console integration replicates data using the Google Search Console API. Refer to the Schema section for a list of objects available for replication.

Google Search Console feature snapshot

A high-level look at Stitch's Google Search Console (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on September 2, 2020

Supported by

Stitch

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-google-search-console

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Google Search Console

Google Search Console setup requirements

To set up Google Search Console in Stitch, you need:

  • Admin access in Google Search Console. Admin access is required in your Google Search Console account to change settings required to connect Stitch.


Step 1: Set up your Google Search Console

  1. Login to your Google account and navigate to Google Search Console.
  2. Add the domains or websites for your organization. If adding a domain, it will cover all URLs across all of its subdomains. If adding a website, only the entered websites will be counted for.
  3. Verify your site ownership by clicking CONTINUE. Depending on your verification method, this can take up to a day.
  4. Once your link(s) are verified, add them to the sitemap.xml files in the Sitemaps section of your Google Search Console account. Click Submit.

Step 2: Create a Google Search Console project

  1. Login to your Google Cloud Console.
  2. Click Create New Project.
  3. Enter a Project name and select a project Location.
  4. Click CREATE.

Step 3: Enable Google Search Console API

  1. Login to your Google Cloud Platform account. Make sure you’re in the project that you want to use for your Google Search Console integration.
  2. Select APIs & Services from the left-hand menu panel. This will take you to the APIs & Services dashboard.
  3. In the dashboard, click ENABLE APIS AND SERVICES. You will be redirected to the API Library.
  4. Search for Google Search Console and select Google Search Console API.
  5. Click ENABLE.

Step 4: Verify API domain

  1. Staying in the APIs & Services section, click on Domain verification in the left-hand menu panel.
  2. Click Add domain.
  3. Add the domain you’re using for this project.
  1. Staying in the APIs & Services section, click on the OAuth consent screen in the left-hand menu panel.
  2. Select your project.
  3. Make the Application type Public.
  4. Make the Application name tap-google-search-console.
  5. Optionally, you can add an image for a logo to help you identify your app.
  6. In the Support email field, enter your email that you will use for this app.
  7. In the Scope section, click Add scope.
  8. Add the following scope: Google Search Console API ../auth/webmasters.readonly.
  9. In the Authorized domains section, add the domains that you added to Google Search Console in step 1.
  10. Click SAVE.
  11. You will be taken to a screen that says OAuth grant limits. The default limit is 100 grants per minute, per day. You can request to raise the grant limit for your project by clicking Raise limit. You can also change the time interval grant resets. The options for time intervals are: 1h, 6h, 1d,, 7d, and 30d.

Step 6: Create OAuth credentials

  1. Staying in the APIs & Services section, click on Credentials in the left-hand menu panel.
  2. Click on the Create credentials dropdown menu.
  3. Select OAuth client ID.
  4. In the Create OAuth client ID page, select Web application for the Application type.
  5. In the Name field, enter tap-google-search-console.
  6. In the Authorized redirect URIs section, add the domains that you added in step 1.
  7. Click CREATE.

Step 7: Add Google Search Console as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Google Search Console icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Google Search Console” would create a schema called stitch_google_search_console in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Site Urls field, enter the URLs you added to your sitemap file in step 1. The URLs should be comma delimited and begin with https:// or http://. Example: https://yoursite.com, http://yourothersite.com.

Note: If you get an error saying that the user doesn’t have sufficient permissions or that the URL is not a verified Google Search Console site, try replacing https:// or http:// with sc-domain:. Example: sc-domain:yoursite.com.

Step 8: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Google Search Console integration. This means that:

  • For tables using Key-based Incremental Replication, data equal to or newer than this date will be replicated to your destination.
  • For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your destination.

Change this setting if you want to replicate data beyond Google Search Console’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 9: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Google Search Console integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 10: Set objects to replicate

The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.

Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.

For Google Search Console integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up Google Search Console, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Google Search Console table reference

performance_report_country

Replication Method :

Key-based Incremental

Replication Key :

date

Primary Key :

site_url : search_type : country : date

API endpoint :

postPerformanceReport

The performance_report_country table contains information about the performance of your sites in Google searches. This particular table is filtered and grouped by country.

site_url
STRING

The site URL.

Reference:

search_type
STRING

The search type to filter for. Acceptable values are: discover, googleNews, image, news, video, and web.

Reference:

country
STRING

The country that the search came from.

date
DATE-TIME

The date and time your site appeared in a Google search.

clicks
INTEGER

The amount of clicks from a Google search that lead that landed a user on your site.

ctr
NUMBER

The click-through rate.

impressions
INTEGER

The amount of links to your sites that exist in a google search.

position
NUMBER

The average position of your site in the search result.


performance_report_custom

Replication Method :

Key-based Incremental

Replication Key :

date

Primary Key :

search_type : site_url : dimensions_hash_key : date

API endpoint :

postPerformanceReport

The performance_report_custom table contains information about the performance of your sites in Google searches. This particular table is filtered and grouped by your custom dimensions.

search_type
STRING

The search type to filter for. Acceptable values are: discover, googleNews, image, news, video, and web.

Reference:

site_url
STRING

The site URL.

Reference:

dimensions_hash_key
STRING

The MD5 hash key of your selected dimension values.

date
DATE-TIME

The date and time your site appeared in a Google search.

clicks
INTEGER

The amount of clicks from a Google search that lead that landed a user on your site.

country
STRING

The country that the search came from.

ctr
NUMBER

The click-through rate.

device
STRING

The type of device the user was using to search.

impressions
INTEGER

The amount of links to your sites that exist in a google search.

page
STRING

The final URL linked by a Search result after any skip redirects.

position
NUMBER

The average position of your site in the search result.

query
STRING

The query strings that the user searched for on Google. Only searches that returned your site are shown.


performance_report_date

Replication Method :

Key-based Incremental

Replication Key :

date

Primary Key :

search_type : site_url : date

API endpoint :

postPerformanceReport

The performance_report_date table contains information about the performance of your sites in Google searches. This particular table is filtered and grouped by date.

search_type
STRING

The search type to filter for. Acceptable values are: discover, googleNews, image, news, video, and web.

Reference:

site_url
STRING

The site URL.

Reference:

date
DATE-TIME

The date and time your site appeared in a Google search.

clicks
INTEGER

The amount of clicks from a Google search that lead that landed a user on your site.

ctr
NUMBER

The click-through rate.

impressions
INTEGER

The amount of links to your sites that exist in a google search.

position
NUMBER

The average position of your site in the search result.


performance_report_device

Replication Method :

Key-based Incremental

Replication Key :

date

Primary Key :

search_type : site_url : device : date

API endpoint :

postPerformanceReport

The performance_report_device table contains information about the performance of your sites in Google searches. This particular table is filtered and grouped by the user’s device type.

search_type
STRING

The search type to filter for. Acceptable values are: googleNews, image, news, video, and web.

Reference:

site_url
STRING

The site URL.

Reference:

device
STRING

The type of device the user was using to search.

date
DATE-TIME

The date and time your site appeared in a Google search.

clicks
INTEGER

The amount of clicks from a Google search that lead that landed a user on your site.

ctr
NUMBER

The click-through rate.

impressions
INTEGER

The amount of links to your sites that exist in a google search.

position
NUMBER

The average position of your site in the search result.


performance_report_page

Replication Method :

Key-based Incremental

Replication Key :

date

Primary Key :

search_type : site_url : page : date

API endpoint :

postPerformanceReport

The performance_report_page table contains information about the performance of your sites in Google searches. This particular table is filtered and grouped by your landing page URLs that show up in Google search results.

search_type
STRING

The search type to filter for. Acceptable values are: discover, googleNews, image, news, video, and web.

Reference:

site_url
STRING

The site URL.

Reference:

page
STRING

The final URL linked by a Search result after any skip redirects.

date
DATE-TIME

The date and time your site appeared in a Google search.

clicks
INTEGER

The amount of clicks from a Google search that lead that landed a user on your site.

ctr
NUMBER

The click-through rate.

impressions
INTEGER

The amount of links to your sites that exist in a google search.

position
NUMBER

The average position of your site in the search result.


performance_report_query

Replication Method :

Key-based Incremental

Replication Key :

date

Primary Key :

search_type : site_url : query : date

API endpoint :

postPerformanceReport

The performance_report_query table contains information about the performance of your sites in Google searches. This particular table is filtered and grouped by the users’ search queries that resulted in your sites appearing in the search results.

search_type
STRING

The search type to filter for. Acceptable values are: image, news, video, and web.

Reference:

site_url
STRING

The site URL.

Reference:

query
STRING

The query strings that the user searched for on Google. Only searches that returned your site are shown.

date
DATE-TIME

The date and time your site appeared in a Google search.

clicks
INTEGER

The amount of clicks from a Google search that lead that landed a user on your site.

ctr
NUMBER

The click-through rate.

impressions
INTEGER

The amount of links to your sites that exist in a google search.

position
NUMBER

The average position of your site in the search result.


Replication Method :

Full Table

Primary Key :

site_url : path : last_submitted

API endpoint :

listSitemaps

The sitemaps table contains information about the sitemap entries in your Google Search Console.

site_url
STRING

The site URL.

Reference:

path
STRING

The URL of the sitemap.

last_submitted
DATE-TIME

The time the sitemap was last downloaded.

contents
STRING

The type of content in the sitemap. Acceptable values are:

  • androidApp
  • image
  • iosApp
  • mobile
  • news
  • pattern
  • video
  • web

errors
INTEGER

The number of errors in the sitemap.

is_pending
BOOLEAN

Whether or not the sitemap has been processed. If true, the sitemap as not been processed.

is_sitemaps_index
BOOLEAN

Whether or not this is a sitemap index file. If true, it is a sitemap index file.

last_downloaded
DATE-TIME

The time the sitmap was last downloaded.

type
STRING

The type of sitemap. Acceptable values are:

  • atomFeed
  • notSitemap
  • patternSitemap
  • rssFeed
  • sitemap
  • urlList

warnings
INTEGER

The number of warnings for the sitemap.


Replication Method :

Full Table

Primary Key :

site_url

API endpoint :

getSites

The sites contains information about your Google Search Console sites at a permission level.

site_url
STRING

The site URL.

Reference:

permission_level
STRING

The user’s permission level for the site. Acceptable values are:

  • siteFullUser
  • siteOwner
  • siteRestrictedUser
  • siteUnverifiedUser


Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.