This integration is powered by Singer's Google Search Console tap and certified by Stitch. Check out and contribute to the repo on GitHub.
For support, contact Stitch support.
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 plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
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
- Login to your Google account and navigate to Google Search Console.
- 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.
- Verify your site ownership by clicking CONTINUE. Depending on your verification method, this can take up to a day.
- 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
- Login to your Google Cloud Console.
- Click Create New Project.
- Enter a Project name and select a project Location.
- Click CREATE.
Step 3: Enable Google Search Console API
- 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.
- Select APIs & Services from the left-hand menu panel. This will take you to the APIs & Services dashboard.
- In the dashboard, click ENABLE APIS AND SERVICES. You will be redirected to the API Library.
- Search for Google Search Console and select
Google Search Console API
. - Click ENABLE.
Step 4: Verify API domain
- Staying in the APIs & Services section, click on Domain verification in the left-hand menu panel.
- Click Add domain.
- Add the domain you’re using for this project.
Step 5: API OAuth consent
- Staying in the APIs & Services section, click on the OAuth consent screen in the left-hand menu panel.
- Select your project.
- Make the Application type
Public
. - Make the Application name
tap-google-search-console
. - Optionally, you can add an image for a logo to help you identify your app.
- In the Support email field, enter your email that you will use for this app.
- In the Scope section, click Add scope.
- Add the following scope:
Google Search Console API ../auth/webmasters.readonly
. - In the Authorized domains section, add the domains that you added to Google Search Console in step 1.
- Click SAVE.
- 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
, and30d
.
Step 6: Create OAuth credentials
- Staying in the APIs & Services section, click on Credentials in the left-hand menu panel.
- Click on the Create credentials dropdown menu.
- Select OAuth client ID.
- In the Create OAuth client ID page, select Web application for the Application type.
- In the Name field, enter
tap-google-search-console
. - In the Authorized redirect URIs section, add the domains that you added in step 1.
- Click CREATE.
Step 7: Add Google Search Console as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Google Search Console icon.
-
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. - 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://
orhttp://
. 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 data equal to or newer than this date will be replicated to your data warehouse.
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:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
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:
-
Individual tables and columns
-
All tables and columns
Click the tabs to view instructions for each selection method.
- In the integration’s Tables to Replicate tab, locate a table you want to replicate.
-
To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.
-
To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.
- Repeat this process for all the tables and columns you want to replicate.
- When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
- Click into the integration from the Stitch Dashboard page.
-
Click the Tables to Replicate tab.
- In the list of tables, click the box next to the Table Names column.
-
In the menu that displays, click Track all Tables and Fields:
- 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.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
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
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the Google Search Console integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
performance_report_country
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.
Key-based Incremental |
|
Primary Keys |
site_url search_type country date |
Replication Key |
date |
Useful links |
Google Search Console documentation |
Join performance_report_country with | on |
---|---|
sites |
performance_report_country.site_url = sites.site_url |
sitemaps |
performance_report_country.site_url = sitemaps.site_url |
performance_report_custom |
performance_report_country.site_url = performance_report_custom.site_url performance_report_country.search_type = performance_report_custom.search_type |
performance_report_date |
performance_report_country.site_url = performance_report_date.site_url performance_report_country.search_type = performance_report_date.search_type |
performance_report_device |
performance_report_country.site_url = performance_report_device.site_url performance_report_country.search_type = performance_report_device.search_type |
performance_report_page |
performance_report_country.site_url = performance_report_page.site_url performance_report_country.search_type = performance_report_page.search_type |
performance_report_query |
performance_report_country.site_url = performance_report_query.site_url performance_report_country.search_type = performance_report_query.search_type |
clicks INTEGER |
country STRING |
ctr NUMBER |
date DATE-TIME |
impressions INTEGER |
position NUMBER |
search_type STRING |
site_url STRING |
performance_report_custom
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.
Key-based Incremental |
|
Primary Keys |
search_type site_url dimensions_hash_key date |
Replication Key |
date |
Useful links |
Google Search Console documentation |
Join performance_report_custom with | on |
---|---|
sites |
performance_report_custom.site_url = sites.site_url |
sitemaps |
performance_report_custom.site_url = sitemaps.site_url |
performance_report_country |
performance_report_custom.site_url = performance_report_country.site_url performance_report_custom.search_type = performance_report_country.search_type |
performance_report_date |
performance_report_custom.site_url = performance_report_date.site_url performance_report_custom.search_type = performance_report_date.search_type |
performance_report_device |
performance_report_custom.site_url = performance_report_device.site_url performance_report_custom.search_type = performance_report_device.search_type |
performance_report_page |
performance_report_custom.site_url = performance_report_page.site_url performance_report_custom.search_type = performance_report_page.search_type |
performance_report_query |
performance_report_custom.site_url = performance_report_query.site_url performance_report_custom.search_type = performance_report_query.search_type |
clicks INTEGER |
country STRING |
ctr NUMBER |
date DATE-TIME |
device STRING |
dimensions_hash_key STRING |
impressions INTEGER |
page STRING |
position NUMBER |
query STRING |
search_type STRING |
site_url STRING |
performance_report_date
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.
Key-based Incremental |
|
Primary Keys |
search_type site_url date |
Replication Key |
date |
Useful links |
Google Search Console documentation |
Join performance_report_date with | on |
---|---|
sites |
performance_report_date.site_url = sites.site_url |
sitemaps |
performance_report_date.site_url = sitemaps.site_url |
performance_report_country |
performance_report_date.site_url = performance_report_country.site_url performance_report_date.search_type = performance_report_country.search_type |
performance_report_custom |
performance_report_date.site_url = performance_report_custom.site_url performance_report_date.search_type = performance_report_custom.search_type |
performance_report_device |
performance_report_date.site_url = performance_report_device.site_url performance_report_date.search_type = performance_report_device.search_type |
performance_report_page |
performance_report_date.site_url = performance_report_page.site_url performance_report_date.search_type = performance_report_page.search_type |
performance_report_query |
performance_report_date.site_url = performance_report_query.site_url performance_report_date.search_type = performance_report_query.search_type |
clicks INTEGER |
ctr NUMBER |
date DATE-TIME |
impressions INTEGER |
position NUMBER |
search_type STRING |
site_url STRING |
performance_report_device
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.
Key-based Incremental |
|
Primary Keys |
search_type site_url device date |
Replication Key |
date |
Useful links |
Google Search Console documentation |
Join performance_report_device with | on |
---|---|
sites |
performance_report_device.site_url = sites.site_url |
sitemaps |
performance_report_device.site_url = sitemaps.site_url |
performance_report_country |
performance_report_device.site_url = performance_report_country.site_url performance_report_device.search_type = performance_report_country.search_type |
performance_report_custom |
performance_report_device.site_url = performance_report_custom.site_url performance_report_device.search_type = performance_report_custom.search_type |
performance_report_date |
performance_report_device.site_url = performance_report_date.site_url performance_report_device.search_type = performance_report_date.search_type |
performance_report_page |
performance_report_device.site_url = performance_report_page.site_url performance_report_device.search_type = performance_report_page.search_type |
performance_report_query |
performance_report_device.site_url = performance_report_query.site_url performance_report_device.search_type = performance_report_query.search_type |
clicks INTEGER |
ctr NUMBER |
date DATE-TIME |
device STRING |
impressions INTEGER |
position NUMBER |
search_type STRING |
site_url STRING |
performance_report_page
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.
Key-based Incremental |
|
Primary Keys |
search_type site_url page date |
Replication Key |
date |
Useful links |
Google Search Console documentation |
Join performance_report_page with | on |
---|---|
sites |
performance_report_page.site_url = sites.site_url |
sitemaps |
performance_report_page.site_url = sitemaps.site_url |
performance_report_country |
performance_report_page.site_url = performance_report_country.site_url performance_report_page.search_type = performance_report_country.search_type |
performance_report_custom |
performance_report_page.site_url = performance_report_custom.site_url performance_report_page.search_type = performance_report_custom.search_type |
performance_report_date |
performance_report_page.site_url = performance_report_date.site_url performance_report_page.search_type = performance_report_date.search_type |
performance_report_device |
performance_report_page.site_url = performance_report_device.site_url performance_report_page.search_type = performance_report_device.search_type |
performance_report_query |
performance_report_page.site_url = performance_report_query.site_url performance_report_page.search_type = performance_report_query.search_type |
clicks INTEGER |
ctr NUMBER |
date DATE-TIME |
impressions INTEGER |
page STRING |
position NUMBER |
search_type STRING |
site_url STRING |
performance_report_query
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.
Key-based Incremental |
|
Primary Keys |
search_type site_url query date |
Replication Key |
date |
Useful links |
Google Search Console documentation |
Join performance_report_query with | on |
---|---|
sites |
performance_report_query.site_url = sites.site_url |
sitemaps |
performance_report_query.site_url = sitemaps.site_url |
performance_report_country |
performance_report_query.site_url = performance_report_country.site_url performance_report_query.search_type = performance_report_country.search_type |
performance_report_custom |
performance_report_query.site_url = performance_report_custom.site_url performance_report_query.search_type = performance_report_custom.search_type |
performance_report_date |
performance_report_query.site_url = performance_report_date.site_url performance_report_query.search_type = performance_report_date.search_type |
performance_report_device |
performance_report_query.site_url = performance_report_device.site_url performance_report_query.search_type = performance_report_device.search_type |
performance_report_page |
performance_report_query.site_url = performance_report_page.site_url performance_report_query.search_type = performance_report_page.search_type |
clicks INTEGER |
ctr NUMBER |
date DATE-TIME |
impressions INTEGER |
position NUMBER |
query STRING |
search_type STRING |
site_url STRING |
sitemaps
The sitemaps
table contains information about the sitemap entries in your Google Search Console.
Full Table |
|
Primary Keys |
site_url path last_submitted |
Useful links |
Join sitemaps with | on |
---|---|
sites |
sitemaps.site_url = sites.site_url |
performance_report_country |
sitemaps.site_url = performance_report_country.site_url |
performance_report_custom |
sitemaps.site_url = performance_report_custom.site_url |
performance_report_date |
sitemaps.site_url = performance_report_date.site_url |
performance_report_device |
sitemaps.site_url = performance_report_device.site_url |
performance_report_page |
sitemaps.site_url = performance_report_page.site_url |
performance_report_query |
sitemaps.site_url = performance_report_query.site_url |
contents
ARRAY
|
|||
errors INTEGER |
|||
is_pending BOOLEAN |
|||
is_sitemaps_index BOOLEAN |
|||
last_downloaded DATE-TIME |
|||
last_submitted DATE-TIME |
|||
path STRING |
|||
site_url STRING |
|||
type STRING |
|||
warnings INTEGER |
sites
The sites
contains information about your Google Search Console sites at a permission level.
Full Table |
|
Primary Key |
site_url |
Useful links |
Join sites with | on |
---|---|
sitemaps |
sites.site_url = sitemaps.site_url |
performance_report_country |
sites.site_url = performance_report_country.site_url |
performance_report_custom |
sites.site_url = performance_report_custom.site_url |
performance_report_date |
sites.site_url = performance_report_date.site_url |
performance_report_device |
sites.site_url = performance_report_device.site_url |
performance_report_page |
sites.site_url = performance_report_page.site_url |
performance_report_query |
sites.site_url = performance_report_query.site_url |
permission_level STRING |
site_url STRING |
Related | Troubleshooting |
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.