Skip to main content

Google Search Console connector reference

Beta

This feature is in Beta. Workspace admins can control access to this feature from the Previews page. See Manage Databricks previews.

This page has reference information for the managed Google Search Console connector, including supported source tables and destination table schemas.

Supported source tables

The Google Search Console connector supports 14 source tables under the default source schema, organized into two categories:

  • Site tables: metadata about your verified Google Search Console properties and their sitemaps. Fully refreshed on every pipeline run.
  • Search performance report tables: click, impression, CTR, and position metrics from the Google Search Console Search Analytics API. Each table represents a different dimension slice of the same underlying data. Incrementally synced by date or hour.
note

The Google Search Console connector does not yet support custom search analytics report tables. If you need a dimension combination not covered by the prebuilt tables, reach out to your Databricks account team.

Site tables

These tables contain metadata about your verified Google Search Console properties. They do not contain search performance metrics and are fully refreshed on every pipeline run.

Source table

Primary key

Description

Sync mode

sites

site_url

Verified site properties registered in Google Search Console, including permission level.

Full refresh only

sitemaps

site_url, path

Sitemaps submitted to Google Search Console for each verified property.

Full refresh only

Source table

Primary key

Description

Sync mode

sites

site_url

Verified site properties registered in Google Search Console, including permission level.

Full refresh only

sitemaps

site_url, path

Sitemaps submitted to Google Search Console for each verified property.

Full refresh only

Search performance report tables

These tables contain click, impression, CTR, and position data from the Google Search Console Search Analytics API. All tables are incrementally synced.

Each table returns the same four metrics (clicks, impressions, ctr, and position), but differs in which dimensions the data is aggregated on and which aggregationType Google applies before returning results.

Understanding aggregation type

The aggregationType controls how Google deduplicates clicks when a URL appears in multiple search result types. Because each type deduplicates differently, click totals across tables with different aggregation types do not match each other or the Google Search Console UI for the same date range. For details, see the Google Search Console API documentation.

Daily search performance tables

These tables aggregate search performance data by calendar day. The cursor field is date.

Source table

Dimensions

Aggregation type

Search types

Primary key

Cursor field

search_analytics_all_fields

date, country, device, page, query

auto

web, news, image, video

site_url, date, country, device, page, query, search_type

date

search_analytics_by_country

date, country

auto

web, news, image, video, discover, googleNews

site_url, date, country, search_type

date

search_analytics_by_date

date

auto

web, news, image, video, discover, googleNews

site_url, date, search_type

date

search_analytics_by_device

date, device

auto

web, news, image, video, googleNews

site_url, date, device, search_type

date

search_analytics_by_page

date, page

auto

web, news, image, video, discover, googleNews

site_url, date, page, search_type

date

search_analytics_by_query

date, query

auto

web, news, image, video

site_url, date, query, search_type

date

search_analytics_page_report

date, country, device, page

auto

web, news, image, video, googleNews

site_url, date, country, device, page, search_type

date

search_analytics_site_report_by_page

date, country, device

byPage

web, news, image, video, googleNews

site_url, date, country, device, search_type

date

search_analytics_site_report_by_site

date, country, device

byProperty

web, news, image, video

site_url, date, country, device, search_type

date

Source table

Dimensions

Aggregation type

Search types

Primary key

Cursor field

search_analytics_all_fields

date, country, device, page, query

auto

web, news, image, video

site_url, date, country, device, page, query, search_type

date

search_analytics_by_country

date, country

auto

web, news, image, video, discover, googleNews

site_url, date, country, search_type

date

search_analytics_by_date

date

auto

web, news, image, video, discover, googleNews

site_url, date, search_type

date

search_analytics_by_device

date, device

auto

web, news, image, video, googleNews

site_url, date, device, search_type

date

search_analytics_by_page

date, page

auto

web, news, image, video, discover, googleNews

site_url, date, page, search_type

date

search_analytics_by_query

date, query

auto

web, news, image, video

site_url, date, query, search_type

date

search_analytics_page_report

date, country, device, page

auto

web, news, image, video, googleNews

site_url, date, country, device, page, search_type

date

search_analytics_site_report_by_page

date, country, device

byPage

web, news, image, video, googleNews

site_url, date, country, device, search_type

date

search_analytics_site_report_by_site

date, country, device

byProperty

web, news, image, video

site_url, date, country, device, search_type

date

Hourly search performance tables

These tables aggregate search performance data by hour. They always use the hourly_all data state and are not affected by the data_state connector option. The cursor field is hour. Available search types are limited to web and googleNews.

Source table

Dimensions

Aggregation type

Search types

Primary key

Cursor field

hourly_search_analytics_page_report

hour, country, device, page

auto

web, googleNews

site_url, hour, country, device, page, search_type

hour

hourly_search_analytics_site_report_by_page

hour, country, device

byPage

web, googleNews

site_url, hour, country, device, search_type

hour

hourly_search_analytics_site_report_by_site

hour, country, device

byProperty

web, googleNews

site_url, hour, country, device, search_type

hour

Source table

Dimensions

Aggregation type

Search types

Primary key

Cursor field

hourly_search_analytics_page_report

hour, country, device, page

auto

web, googleNews

site_url, hour, country, device, page, search_type

hour

hourly_search_analytics_site_report_by_page

hour, country, device

byPage

web, googleNews

site_url, hour, country, device, search_type

hour

hourly_search_analytics_site_report_by_site

hour, country, device

byProperty

web, googleNews

site_url, hour, country, device, search_type

hour

Connector options

The Google Search Console connector supports the following configuration options. See Examples for usage.

Option

Type

Scope

Required

Applies to

Description

site_urls

JSON array of strings

Pipeline

Yes

All tables

One or more verified Google Search Console property URLs to ingest. Each URL must be a property you have verified in Google Search Console (for example, https://example.com/ or sc-domain:example.com).

start_date

String (yyyy-MM-dd)

Pipeline

No

All incremental tables (search_analytics_*, hourly_search_analytics_*)

Earliest date from which to ingest data, in yyyy-MM-dd format. Defaults to 500 days before the first sync. Has no effect on sites or sitemaps (full refresh).

data_state

String

Table

No

Daily search performance tables only (search_analytics_*)

Data freshness for daily search performance tables. all (default) includes finalized and fresh data. final includes finalized data only. Set it only on search_analytics_* objects. The sites, sitemaps, and hourly_search_analytics_* tables do not accept this option.

Option

Type

Scope

Required

Applies to

Description

site_urls

JSON array of strings

Pipeline

Yes

All tables

One or more verified Google Search Console property URLs to ingest. Each URL must be a property you have verified in Google Search Console (for example, https://example.com/ or sc-domain:example.com).

start_date

String (yyyy-MM-dd)

Pipeline

No

All incremental tables (search_analytics_*, hourly_search_analytics_*)

Earliest date from which to ingest data, in yyyy-MM-dd format. Defaults to 500 days before the first sync. Has no effect on sites or sitemaps (full refresh).

data_state

String

Table

No

Daily search performance tables only (search_analytics_*)

Data freshness for daily search performance tables. all (default) includes finalized and fresh data. final includes finalized data only. Set it only on search_analytics_* objects. The sites, sitemaps, and hourly_search_analytics_* tables do not accept this option.

Destination table schemas

sites

Primary key: site_url Sync mode: Full refresh only

Field

Data type

site_url

STRING

permission_level

STRING

Field

Data type

site_url

STRING

permission_level

STRING

sitemaps

Primary key: site_url, path Sync mode: Full refresh only

Field

Data type

site_url

STRING

path

STRING

last_submitted

STRING

is_pending

BOOLEAN

is_sitemaps_index

BOOLEAN

type

STRING

last_downloaded

STRING

warnings

BIGINT

errors

BIGINT

contents

ARRAY<STRUCT<type: STRING, submitted: BIGINT, indexed: BIGINT>>

Field

Data type

site_url

STRING

path

STRING

last_submitted

STRING

is_pending

BOOLEAN

is_sitemaps_index

BOOLEAN

type

STRING

last_downloaded

STRING

warnings

BIGINT

errors

BIGINT

contents

ARRAY<STRUCT<type: STRING, submitted: BIGINT, indexed: BIGINT>>

search_analytics_all_fields

Dimensions: date, country, device, page, query Aggregation type: auto Search types: web, news, image, video Primary key: site_url, date, country, device, page, query, search_type Cursor field: date

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

device

STRING

page

STRING

query

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

device

STRING

page

STRING

query

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

search_analytics_by_country

Dimensions: date, country Aggregation type: auto Search types: web, news, image, video, discover, googleNews Primary key: site_url, date, country, search_type Cursor field: date

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

search_analytics_by_date

Dimensions: date Aggregation type: auto Search types: web, news, image, video, discover, googleNews Primary key: site_url, date, search_type Cursor field: date

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

search_analytics_by_device

Dimensions: date, device Aggregation type: auto Search types: web, news, image, video, googleNews Primary key: site_url, date, device, search_type Cursor field: date

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

search_analytics_by_page

Dimensions: date, page Aggregation type: auto Search types: web, news, image, video, discover, googleNews Primary key: site_url, date, page, search_type Cursor field: date

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

page

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

page

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

search_analytics_by_query

Dimensions: date, query Aggregation type: auto Search types: web, news, image, video Primary key: site_url, date, query, search_type Cursor field: date

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

query

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

query

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

search_analytics_page_report

Dimensions: date, country, device, page Aggregation type: auto Search types: web, news, image, video, googleNews Primary key: site_url, date, country, device, page, search_type Cursor field: date

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

device

STRING

page

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

device

STRING

page

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

search_analytics_site_report_by_page

Dimensions: date, country, device Aggregation type: byPage Search types: web, news, image, video, googleNews Primary key: site_url, date, country, device, search_type Cursor field: date

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

search_analytics_site_report_by_site

Dimensions: date, country, device Aggregation type: byProperty Search types: web, news, image, video Primary key: site_url, date, country, device, search_type Cursor field: date

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

date

STRING

country

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

hourly_search_analytics_page_report

Dimensions: hour, country, device, page Aggregation type: auto Search types: web, googleNews Primary key: site_url, hour, country, device, page, search_type Cursor field: hour

Field

Data type

site_url

STRING

search_type

STRING

hour

STRING

country

STRING

device

STRING

page

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

hour

STRING

country

STRING

device

STRING

page

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

hourly_search_analytics_site_report_by_page

Dimensions: hour, country, device Aggregation type: byPage Search types: web, googleNews Primary key: site_url, hour, country, device, search_type Cursor field: hour

Field

Data type

site_url

STRING

search_type

STRING

hour

STRING

country

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

hour

STRING

country

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

hourly_search_analytics_site_report_by_site

Dimensions: hour, country, device Aggregation type: byProperty Search types: web, googleNews Primary key: site_url, hour, country, device, search_type Cursor field: hour

Field

Data type

site_url

STRING

search_type

STRING

hour

STRING

country

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Field

Data type

site_url

STRING

search_type

STRING

hour

STRING

country

STRING

device

STRING

clicks

DOUBLE

impressions

DOUBLE

ctr

DOUBLE

position

DOUBLE

ingestion_timestamp

TIMESTAMP

Required OAuth permissions

The Google Search Console connector requests the https://www.googleapis.com/auth/webmasters.readonly scope. This scope grants read-only access to all Google Search Console data for properties the authenticated identity has access to.

Permission

Required for

https://www.googleapis.com/auth/webmasters.readonly

All tables

Permission

Required for

https://www.googleapis.com/auth/webmasters.readonly

All tables