Exportação do BigQuery do GSC

Como usar a exportação do Google Search Console para o BigQuery para consultar dados diários de cliques e impressões sem amostragem, sem limite de linhas da interface (consultas anônimas ainda excluídas), a diferença entre a interface e a exportação bruta, configuração, custos e a pegadinha de não haver backfill.

Publicado pela primeira vez: 27 de jun. de 2026 · Última atualização: 3 de ago. de 2026 · Avançado
Idiomas

Para propriedades de site, a exportação em massa do GSC para o BigQuery agenda um despejo diário e sem amostragem dos dados de Performance—menos consultas anônimas—no BigQuery, contornando o limite de linhas da interface e a janela de retenção de 16 meses. Ela cria tabelas de nível de site, de URL e de log de exportação, não faz backfill, exige cobrança e pode incorrer em custos de consulta. O Google agora suporta propriedades de plataforma do Instagram, TikTok, X e YouTube, mas sua documentação atual de plataforma não promete suporte ao BigQuery para elas; não presuma que esse pipeline se aplica a contas de redes sociais.

TL;DR — A exportação de dados em massa é um despejo diário, sem amostragem e agendado dos seus dados de desempenho do Search Console em um conjunto de dados do BigQuery — sem o limite de exportação de ~1 000 linhas, sem a barreira de retenção de ~16 meses. Ela gera três tabelas (searchdata_site_impression, searchdata_url_impression, ExportLog). Configuração: um projeto do Google Cloud com cobrança ativada, as APIs do BigQuery + BigQuery Storage ativadas, duas funções de IAM concedidas à conta de serviço de exportação do Google e, em seguida, Configurações → Exportação de dados em massa no GSC. Ela não faz backfill, ainda relata consultas anonimizadas como strings vazias, e a primeira exportação chega em ~48 horas. O custo é um nível gratuito real mais cobranças por consulta por TB — a conta clássica vem de dashboards consultando tabelas brutas ao vivo. Pense nisso como o terceiro degrau: interface → API → exportação em massa.

A escada abaixo é para propriedades de site. Não é evidência de que propriedades de plataformas sociais ou de vídeo suportam a API do Search Console ou a exportação do BigQuery.

O que realmente é

A exportação em massa é um pipeline agendado de dados do Search Console para um projeto do Google Cloud, não uma fonte independente de dados de ranqueamento. Evidence for this claim Search Console bulk data export sends daily performance data to BigQuery in a configured Google Cloud project. Scope: Search Console bulk export; setup, permissions, quotas, and supported properties follow Google's current documentation. Confidence: high · Verified: Google: Bulk data export As consultas devem respeitar as tabelas, chaves e o comportamento de privacidade/agregação documentados. Evidence for this claim Bulk export uses site-impression, URL-impression, and export-log tables with documented schemas. Scope: Google's published Search Console export schema; aggregation and privacy handling still affect analysis. Confidence: high · Verified: Google: Bulk export tables

Daniel Waisberg, um Search Advocate do Google, descreve isso claramente: “A bulk data export is a scheduled daily export of your Search Console performance data. It includes all the data used by Search Console to generate performance reports. Data is exported to Google BigQuery, where you can run SQL queries for advanced data analysis or even export it to another system.” (tradução) «Uma exportação de dados em massa é uma exportação diária agendada dos seus dados de desempenho do Search Console. Ela inclui todos os dados usados pelo Search Console para gerar relatórios de desempenho. Os dados são exportados para o Google BigQuery, onde você pode executar consultas SQL para análise avançada de dados ou até mesmo exportá-los para outro sistema.» (citado no Search Engine Journal).

O ponto é a escala. A interface do Search Console limita a maioria das exportações a cerca de 1 000 linhas e mostra uma janela móvel de ~16 meses. A API do Search Console oferece mais, mas ainda é limitada e com restrição de taxa. A exportação em massa remove o teto de linhas completamente e permite que você decida por quanto tempo reter. A própria linha do Google no anúncio, como reproduzida pelo Search Engine Land: “The daily data row limit does not impact this data, so you can extract more data using this method,” e o recurso “could be particularly helpful for large websites with tens of thousands of pages.” (tradução) «O limite diário de linhas de dados não afeta esses dados, então você pode extrair mais dados usando este método», e o recurso «pode ser particularmente útil para sites grandes com dezenas de milhares de páginas».

Quais dados você obtém: as três tabelas

Tudo chega em um conjunto de dados cujo nome sempre começa com searchconsole. Três objetos aparecem (Diretrizes e referência de tabelas):

  1. searchdata_site_impression“Contains performance data for your property aggregated by property.” (tradução) «Contém dados de desempenho da sua propriedade agregados por propriedade.» Campos-chave: data_date (“The day on which the data in this row was generated (Pacific Time)” (tradução) «O dia em que os dados nesta linha foram gerados (Horário do Pacífico)»), site_url (propriedades de domínio usam o prefixo sc-domain:), query, is_anonymized_query, country (ISO-3166-1 Alpha-3), search_type (web/imagem/vídeo/notícias/discover/googleNews), device, impressions, clicks e sum_top_position.
  2. searchdata_url_impression“Contains performance data for your property aggregated by URL.” (tradução) «Contém dados de desempenho da sua propriedade agregados por URL.» Tudo acima, mais url (“The fully-qualified URL where the user eventually lands when they click the search result” (tradução) «A URL totalmente qualificada onde o usuário finalmente chega ao clicar no resultado da pesquisa»), is_anonymized_discover, uma família de flags booleanas is_[search_appearance_type] (por exemplo, is_amp_top_stories, is_job_listing, is_tpf_faq) para que você possa filtrar por tipo de resultado avançado, e sum_position. Esta é a tabela granular na qual a maioria das análises é executada.
  3. ExportLog“A record of what data was saved for that day. Failed exports are not recorded here.” (tradução) «Um registro de quais dados foram salvos naquele dia. Exportações com falha não são registradas aqui.» Campos incluem agenda (atualmente apenas SEARCHDATA), namespace (qual tabela foi gravada), data_date, epoch_version (“An integer, where 0 is the first time data was saved to this table” (tradução) «Um inteiro, onde 0 é a primeira vez que os dados foram salvos nesta tabela» — ele incrementa quando o Google revisa posteriormente os dados de um dia) e publish_time.

The anonymized-query caveat is the important one. Even here, at the raw level, anonymized queries are not revealed. As Google’s field description puts it, when is_anonymized_query is true the query field “will be a zero-length string.” Their metrics are still aggregated into your totals, but they’re never attributable to a specific term — exactly the same limitation the UI and the API have. This is a big deal at scale: in my Ahrefs study of GSC’s hidden terms, across 146 741 websites and roughly 9 billion clicks, 46,08% of all clicks went to queries Google doesn’t disclose — and that study used the Search Console API, which “allows us to get all of the data—and there’s still a lot missing.” The BigQuery export doesn’t recover any of it. If someone tells you bulk export “finally shows you the hidden queries,” they’re wrong.

Como configurar

O fluxo (Iniciar uma nova exportação de dados em massa):

  1. Crie ou escolha um projeto do Google Cloud com cobrança ativada. Segundo o Google: “Os dados estão sujeitos aos custos de armazenamento e consulta do Google Cloud, mas há um nível de uso gratuito.” Você precisa de cobrança ativada mesmo para permanecer no nível gratuito.
  2. Ative a API BigQuery e a API de armazenamento do BigQuery nesse projeto.
  3. Conceda acesso à conta de serviço de exportação do Google. Adicione search-console-data-export@system.gserviceaccount.com como principal com dois papéis do IAM: BigQuery Job User (bigquery.jobUser) e BigQuery Data Editor (bigquery.dataEditor).
  4. No Search Console, vá em Configurações → Exportação de dados em massa. Cole o ID do projeto do Cloud (o ID, não o número do projeto), escolha um nome de conjunto de dados e escolha um local do conjunto de dados. Observe a regra de nomenclatura: “O nome do conjunto de dados sempre começa com a string searchconsole, mesmo quando você o personaliza.” Se você definir uma política de expiração de partição no próprio conjunto de dados da exportação, mantenha-a em 14 dias ou mais — o Google documenta um mínimo de 14 dias, e definir um período menor é uma causa de falha documentada. Deixe o esquema de tabela gerado intacto também; alterá-lo é a outra forma documentada de quebrar a exportação (mais em Solução de problemas abaixo).
  5. Aguarde. O Google diz que o processo de exportação em si deve começar em cerca de um dia após a ativação. “A primeira exportação ocorrerá até 48 horas após sua configuração bem-sucedida no Search Console,” e essa primeira entrega contém apenas os dados do dia da exportação — nada de antes da configuração (veja a seção sobre ausência de backfill a seguir). Depois disso, ela é executada diariamente até você interrompê-la.
Evidence for this claim Setup requires a billed Google Cloud project, BigQuery API and BigQuery Storage API, plus BigQuery Job User and BigQuery Data Editor roles for search-console-data-export@system.gserviceaccount.com. Scope: verified property and public web as applicable Confidence: high · Verified: Start a new bulk data export

Uma expectativa prática a definir: os dados do Search Console chegam com um atraso de dois dias, portanto o dia mais recente que você terá é de dois dias atrás. Peça um intervalo de 30 dias e você efetivamente terá cerca de 28 dias de dados utilizáveis.

A pegadinha da ausência de backfill

Diga em voz alta, porque isso pega as pessoas: ativar a exportação não puxa seus dados históricos. Ela começa no dia da ativação e só acumula para frente. Isso é comum o suficiente para o fórum da comunidade do Google ter vários tópicos sobre isso — “Como fazer backfill com dados históricos quando a exportação de dados em massa é ativada” (tópico 300051568), tópico 255704574 e tópico 429248330. Antoine Eripret coloca isso de forma direta em seu mergulho profundo de praticante: “Você não pode obter dados históricos: se você ativar hoje, terá dados a partir de hoje.” A conclusão é simples — ative no dia em que ouvir falar pela primeira vez, mesmo que você ainda não esteja pronto para analisar nada, para que o relógio comece.

Quanto custa e como não ser surpreendido

A publicação do Google Cloud Blog de Daniel Waisberg e Gaal Yahas vende o lado positivo — “If you have a large website, this solution will provide more queries and pages than the other data exporting solutions” e “Search Console stores up to sixteen months of data; using BigQuery you can store as much data as it makes sense to your organization” — mas a mecânica de custo fica por sua conta.

No momento em que este texto foi escrito, o nível gratuito do BigQuery é de aproximadamente 10 GiB de armazenamento grátis, mais 1 TiB (~1 TB) de processamento de consultas sob demanda grátis por mês; além disso, custa cerca de US$ 6,25 USD por TiB processado e aproximadamente US$ 0,02 USD por GB armazenado por mês (varia conforme a região e a classe de armazenamento). Os preços mudam, então verifique os valores atuais antes de citá-los para alguém. A maioria dos sites pequenos e médios permanece gratuita ou quase gratuita.

As cobranças vêm de como você consulta, não de quanto tráfego você tem. Duas coisas importam:

  • O custo aumenta com a diversidade de consultas/palavras-chave, não com o tráfego bruto. Como Trevor Fox diz em seu guia completo: “The volume of data that is more a factor of keyword variety than it is search volume. A site with a low search volume for lots of keywords will generate more data than a site with lots of search volume for a single keyword.”
  • Não aponte um painel ao vivo para as tabelas brutas. Esta é a clássica história de terror. Antoine Eripret documentou o Looker Studio varrendo 23 TB em um único dia, cerca de €115, quando conectado diretamente às tabelas brutas com bilhões de linhas. O próprio post de dicas de eficiência do BigQuery do Google diz o mesmo em princípio: pré-agregue em tabelas de resumo, filtre na partição de data em uma cláusula WHERE, evite SELECT *, defina alertas de orçamento e defina a expiração de partição para excluir automaticamente partições antigas.

A solução é chata, mas eficaz: materialize os resultados das suas consultas em pequenas tabelas de resumo permanentes, em um agendamento, e aponte seus painéis para essas, não para a exportação bruta.

Consultas: as regras que mantêm você são (e barato)

Das diretrizes de consulta do Google:

  • Sempre agregue. “Data in the tables is not guaranteed to be consolidated by date, URL, site, or any combination of keys.” Tradução: você receberá várias linhas para o mesmo dia/URL/consulta, então sempre use SUM() nas suas métricas e GROUP BY nas suas dimensões. Nunca trate uma única linha como um número final.
  • Filtre a partição de data. “A good way to minimize query costs is to use a WHERE clause to limit the date range in the date partitioned table.”
  • Remova linhas anonimizadas quando quiser as principais consultas reais. “An anonymized query is reported as a zero-length string in the table” — então adicione WHERE query != ''.
  • A posição é baseada em zero. Ambas as tabelas armazenam a posição começando em 0, então a posição média é SUM(sum_top_position) / SUM(impressions) + 1 (adicione o 1).

O Google fornece consultas de exemplo para estatísticas diárias de pesquisa na web, principais consultas móveis por país, URLs do Discover por cliques, desempenho de rich results de FAQ (is_tpf_faq = true) e rastreamento de consultas de marca via REGEXP_CONTAINS. Comece por elas.

Gerenciando e solucionando problemas da exportação

De Gerenciar e monitorar exportações de dados em massa:

  • A interrupção não é instantânea. Configurações → Exportação de dados em massa → Desativar exportação. “As exportações em massa serão interrompidas nas próximas 24 horas”, então mais um dia de dados pode ainda chegar depois que você desativar.
  • Dois limites de falha, não um. “O Search Console retém dados de exportações com falha por cerca de uma semana.” E então: “O Search Console parará de tentar exportar dados para uma determinada data após cerca de uma semana de tentativas falhas, e após cerca de um mês de tentativas de exportação falhas, o Search Console interromperá a exportação em massa completamente.” Portanto, um problema contínuo não apenas pula dias — após cerca de um mês, ele desliga toda a exportação, e você teria que configurá-la novamente.
  • A armadilha da mudança de esquema (e o piso de expiração de partição). Se você alterar o esquema de uma tabela exportada, você quebra a exportação. O Google também exige pelo menos 14 dias de expiração de partição no conjunto de dados de exportação — defina um período mais curto e a exportação pode falhar. Deixe essas tabelas em paz; crie suas próprias tabelas derivadas. (Outras causas comuns de falha incluem exceder a cota do seu projeto Cloud e revogar o acesso da conta de serviço.)
  • Use o relatório de teste. Há um recurso “Relatório de teste” que permite verificar certos problemas corrigíveis — ID do projeto/credenciais, permissões — sem esperar pela próxima execução agendada. Observe que ele não força uma reexportação imediata; verifique novamente cerca de 24 horas depois para confirmar que a correção foi aplicada.
  • O Search Console envia e-mails aos proprietários da propriedade quando os erros de exportação começam e quando são resolvidos, e as Configurações mostram o status da tentativa de exportação mais recente.

Onde se encaixa: UI → API → exportação em massa

Pense em três degraus de uma escada, cada um removendo um limite que o degrau abaixo atingiu:

  • Exportação pela UI — cerca de 1 000 linhas, cerca de 16 meses, sem consultas anônimas. Suficiente para a maioria.
  • API do Search Console — mais linhas, ainda limitada e com limite de taxa, ainda sem consultas anônimas. Boa para extrações ad hoc e programáticas.
  • Exportação de dados em massa — sem limite de linhas, retenção que você controla, dados granulares diários, feita para armazenamento e junções. Ainda sem consultas anônimas. Não faz backfill.

E uma nuance que guias mais antigos erram: você não está limitado a uma propriedade por projeto Cloud mais. O Google posteriormente permitiu várias propriedades em um único projeto usando nomes de conjuntos de dados distintos com prefixo searchconsole_.

E o Bing?

No momento em que escrevo, não há equivalente nativo. O Bing Webmaster Tools não oferece uma primeira parte BigQuery/exportação em massa — que é exatamente por isso que existe um mercado de conectores ETL de terceiros (Supermetrics, Improvado, Catchr e outros) para mover dados do Bing Webmaster Tools para o BigQuery. Se o Bing tivesse um pipe nativo, esse mercado não existiria. Dito isso, um conector não é garantido de replicar o esquema de exportação do GSC ou o comportamento de partição diária campo por campo — verifique o escopo documentado de qualquer conector antes de assumir paridade. Então, se você quiser dados do Bing no BigQuery junto com sua exportação do GSC, reserve um orçamento para um conector e verifique o que ele realmente entrega. (Confirme se isso ainda é atual antes de citá-lo — o conjunto de recursos do próprio Bing pode mudar.)

Para o contexto mais amplo sobre onde isso se encaixa, veja o hub Search Engine Tools e seus tutoriais sobre Google Search Console e Bing Webmaster Tools.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.