Google Search Console Daten in BigQuery speichern & abfragen

Für die Abfrage der Suchanalyse-Daten der Google Search Console gibt es drei Wege, doch nur eine bietet die maximale Datentiefe: der Export der Daten zu BigQuery. Die beiden anderen Wege, der Export aus dem Google Search Console Interface sowie die Google Search Console API, bietet im Vergleich deutlich weniger Daten, da es sich hier um aufbereitete Daten von Google handelt. Über den BigQuery-Export sind hingegen die Rohdaten zu bekommen. Doch der Reihe nach!

Seit Februar 2023 können die GSC-Suchanalysedaten in BigQuery gespeichert werden

Seit Februar 2023 bietet Google bereits die Möglichkeit, die Rohdaten direkt in BigQuery zu exportieren, doch nach wie vor nutzen zu wenige Websites den Datenexport zu BigQuery. Dabei ist das Einrichten des BigQuery Exports schnell gemacht.

Das Fatale: Die Daten stehen via BigQuery erst ab dem Zeitpunkt der Einrichtung für die Zukunft zur Verfügung, während die beiden anderen Wege bis zu 16 Monate zurückliegende Daten bieten. Der Unterschied liegt darin, dass Google die Rohdaten in BigQuery schreibt, während über die API und das Interface vorprozessierte Daten zu bekommen sind. In der Folge stehen weniger Daten zur Verfügung.

Datenexport zu BigQuery anlegen

Um mit der Datenspeicherung in BigQuery zu beginnen, muss in der gewünschten Property unter Einstellungen zum Bulk-Datenexport gewechselt werden. Zunächst muss ein Google Cloud-Projekt anhand der Anleitung angelegt und anschließend mit der Property verknüpft werden. Selbst für Neulinge ist die Prozedur innerhalb von 10-15 Minuten machbar.

Unter Einstellungen => Bulk-Datenexport wird der tägliche Datenexport zu BigQuery gestartet

Tipp: Um alle Daten zu erhalten, solltet ihr eine Domain-Property mit BigQuery verknüpfen. Dadurch erhaltet ihr Daten für jeglichen Hostnamen der Domain, also jegliche Subdomains. Selbst wenn ihr aktuell ausschließlich einen Hostnamen verwendet, seid ihr mit der Auswahl der Domain-Property für zukünftige Änderungen am URL-Setup vorbereitet.

Im Gegensatz zum Interface und der Nutzung der API gibt es hinsichtlich der Datenmenge keinen Unterschied, ob diese auf der Domain- (searchanalyzer.io) oder URL-Präfix-Property (z.B. https://www.searchanalyzer.io/), oder auf Basis von Verzeichnissen abgefragt werden. Im BigQuery Export sind alle Daten vorhanden, während über die API spezifische(re) Properties zusätzliche Daten liefern (können).

Für jede verknüpfte Property legt Google in BigQuery zwei Tabellen an:

  • searchconsole_site_impression
  • searchconsole_url_impression
Pro Property legt Google zwei Datenansichten ab: Nach Webseite, und nach URL. Die URL-Impressionen sind deutlich granularer

In der Google Search Console gibt es stets zwei Aggregationen der Daten: einmal nach Website, und dann noch nach den einzelnen Webseiten (URLs). Was bedeutet das? Wenn für z.B. die Suchanfrage searchanalyzer in der Google-Suche mehrere Adressen dieser Website angezeigt werden, dann erhalten mehrere URLs Impressionen (und unter Umständen auch Klicks), es war allerdings nur eine Suchanfrage. Für die Website (=> site_impressionen) wird eine 1 Impression gespeichert, für die einzelnen Seiten (=> url_impressionen) werden allerdings jeweils 1 Impression gespeichert. Entsprechend ist die Anzahl der Impressionen auf URL-Ebene deutlich höher.

Unter site_impressionen liegen keine Informationen zu den Einstiegsseiten vor

Wie viele Zugriffe einzelne Seiten erhalten, ist für viele SEO-Analysen relevant. Entsprechend wichtig ist es, den Traffic auch nach Einstiegsseiten betrachten zu können. Diese Daten liegen unter url_impressionen bereit. Doch nicht nur das: für jede Suchanfrage werden granulare Informationen über die Darstellung in der Google-Suche erhoben. Insgesamt 42 Datenpunkte gibt es für jede Zeile.

In der Tabelle "url_impressionen" ist die granularste Datenansicht zu finden
Direkt ersichtlich: In der Tabelle „url_impressionen“ ist die granularste Datenansicht mit 42 einzelnen Datenpunkten zu finden

Google Search Console Daten in BigQuery abfragen

Wie sich die Google Search Console-Daten per API abfragen lassen, wissen viele SEOs. Doch wie ist es mit den BigQuery-Daten? Hierzu muss eine SQL-Abfrage in BigQuery gestellt werden – anschließend können die Daten in unterschiedlichen Formaten heruntergeladen werden. Fertige Connectoren, wie sie beispielsweise der ScreamingFrog eingebaut hat, gibt es nicht.

Der nachstehende Beispiel-SQL fragt die Klicks und Impressionen der 1.000 „stärksten“ URLs nach Suchtyp in den letzten 14 Tagen ab:

SELECT
  url,
  search_type,
  sum(impressions) as impressions,
  sum(clicks) as clicks
FROM searchconsole.searchdata_url_impression
WHERE data_date between DATE_SUB(CURRENT_DATE(), INTERVAL 14 day) and CURRENT_DATE()
GROUP BY 1,2
ORDER BY 3 desc
LIMIT 1000

Weitere Beispiele gibt es direkt bei Google unter https://support.google.com/webmasters/answer/12917174?hl=de.