Google AdWords Keyword Planer Suchvolumen Scrapen

Google AdWords Suchvolumen nach Gerätetyp scrapen9 min read

Jean-Luc Winkler SEA, SEO, Tools, Tutorial 1 Comment

Im Keyword Planer von Google AdWords lässt sich bekanntermaßen das durchschnittliche monatliche Suchvolumen von einzelnen Keywords anzeigen und über den Download-Button exportieren. Leider enthält der Export keine Aufteilung des Suchvolumens nach Gerätetyp. Dieses Tutorial zeigt, wie der „Device Breakdown“ dennoch für mehrere Keywords teil-automatisiert extrahiert werden kann.

Das nach Gerätetypen aufgeschlüsselte Suchvolumen lässt sich beispielsweise sehr gut zum gezielteren Aussteuern von SEA-Anzeigen und zum priorisierten Erstellen von Inhalten für die relevanten Gerätetypen verwenden.

Code zuletzt am 11.01.2017 auf Funktionsfähigkeit überprüft
Der untenstehende Quellcodes des Macros wurde von mir überprüft, leicht modifiziert (da andere Attribut-Werte im Google Quellcode verwendet werden) und läuft zum Update-Zeitpunkt problemlos.
Hinweise zu Einschränkungen
Aufgrund von stetigen Änderungen seitens Google am Quellcode (Attribute und IDs der gescrapten Elemente im DOM) und an der Begrenzung der Abfragen habe ich am Ende des Beitrages bisherig bekannte Einschränkungen mit Zeitstempel (sofern möglich) ergänzt. 

Ansicht „Aufschlüsselung nach Gerätetyp“

Um die Verteilung des Suchvolumens auf die unterschiedlichen Gerätetypen „Computer“, „Mobilgeräte“ und „Tablets“ einsehen zu können, musst du dich zunächst bei Google AdWords einloggen. Anschließend navigierst du über „Tools“ in den „Keyword Planer“:

Google AdWords Keyword Planer

Im Keyword Planer navigierst du nun zum Menüpunkt „Daten zum Suchvolumen und Trends abrufen“:

Google AdWords Keyword Planer Suchvolumen Einstellungen

In der folgenden Eingabemaske gibst du jetzt ein Keyword ein. Anschließend wählst du das Land und den Zeitraum aus, für den du die Daten angezeigt bekommen möchtest:

Keyword Planer Einstellungen

Belassen wir diese Einstellungen zunächst bei „Deutschland“ und dem Durchschnitt der letzten 12 Monate und klicken auf „Suchvolumen abrufen“.

Die folgende Ansicht zeigt den historischen Verlauf des Suchvolumens für das eingegebene Keyword der letzten 12 Monate als Balkendiagramm. Hier wechseln wir in der oberen linken Ecke im Dropdown Menü zu Ansicht „Aufschlüsselung nach Gerät“:

Keyword Planer Aufschlüsselung nach Gerät

Die sich daraufhin ladende Grafik enthält die gewünschten Daten zur Verteilung des durchschnittlichen monatlichen Suchvolumens auf die einzelnen Gerätetypen:

Keyword Planer Device Breakdown Donut Chart

In diesem Beispiel lässt sich erkennen, dass die Mehrheit der User nach dem Keyword „kleid“ auf mobilen Geräten wie bspw. Smartphones suchen.

Problem: Aggregation der Suchvolumina

Solange man die Verteilung nach Gerätetypen nur für ein einzelnes Keyword genau angezeigt bekommen möchte, ist diese Ansicht gut geeignet. Sobald man allerdings für eine Vielzahl an Keywords die Device Breakdown Daten abfragen möchte, stößt man an das Problem der Aggregation der Daten in der Ansicht der Weboberfläche.

Der folgende Screenshot verdeutlicht, dass die Daten des Doughnut-Charts für alle eingegebnen Keywords (hier: „schuhe“, „hose“ und „kleid“) aufsummiert dargestellt werden:

Keyword Planer Datenaggregation

Ein Klick auf den „Download“-Button führt nur zu den Daten, die in der Tabelle angezeigt werden. Die Verteilung nach Gerätetypen ist leider nicht im Download vorhanden.

Lösung: iteratives Scrapen der Daten

Um für eine Vielzahl von Keywords die Geräteverteilung des Suchvolumens abzufragen, kommt man um das Scrapen der Daten derzeit nicht herum, da selbst die Google AdWords API diese Daten nicht zur Verfügung stellt. Daher muss in einem iterativen Prozess für jedes Keyword diese Ansicht einzeln aufgerufen werden und die Daten gespeichert werden, bevor die Daten für das nächste Keyword abgerufen werden können. Der Prozess der Abfrage der Daten muss demnach wie folgt aussehen:

  1. Keyword eingeben
  2. Daten abfragen und auf das optische Rendern der Website warten
  3. angezeigte Daten abspeichern

Um diesen Prozess ungestört durchführen zu können, habe ich auf meinen alten Asus Eee PC (x101, ursprünglich mit Intels absolut unbrauchbaren Betriebssystem MeeGo ausgestattet) eine Lubuntu-Distribution als Betriebssystem aufgespielt. Die folgenden Einstellungen werden anhand von Screenshots auf meinem Netbook im Firefox Browser gezeigt.

Teile dieses Tutorial in deinem Netzwerk!

Installation des Browser Plugins „iMacros“

Das Aufrufen der Ansicht und der damit verbundenen Daten lässt sich mit Hilfe eines Browser Plugins sehr einfach automatisieren. Hierzu benötigst du das Plugin „iMacros“, welches es für Firefox, den Google Chrome aber auch den Internet Explorer hier zum kostenlosen Download gibt.

Nach der Installation des Plugins, kannst du dieses über das entsprechende Icon in der Plugin/Add-On-Leiste deines Browsers öffnen.

nötige Einstellungen in iMacros vornehmen

Da wir eine Vielzahl an Keywords Abfragen und speichern wollen, müssen wir auf eine Ausgangsdatei mit den abzufragenden Keywords zugreifen können und die abgefragten Daten in einer Zieldatei speichern. Hierfür müssen die jeweiligen Pfadangaben in den Einstellungen von iMacros angegeben werden.

Nach dem Öffnen von iMacros über das Icon im Browser, folgt ein Klick auf den Tab „Manage“ und anschließend auf „Einstellungen“. In dem sich dann öffnenden Fenster klickst du auf „Paths“ und gibst die Verzeichnisse für Datenquellen und für das Download-Verzeichnis an, in dem später die extrahierten Daten gespeichert werden sollen. Für die Verwendung des iMacros Plugins in Google Chrome muss zusätzlich noch die Funktionalität „File Access“ durch die Installation der entsprechenden Datei je nach Betriebssystem ergänzt werden.

iMacros Speicherorte festlegen

Es empfiehlt sich aufgrund der Übersichtlichkeit einen eigenen Ordner für die Downloads anzulegen. Die Einstellungen werden mit einem Klick auf „Apply“ bestätigt, bevor das Fenster geschlossen werden kann.

neues Macro in iMacros anlegen

Sobald die Einstellungen vorgenommen worden sind, kann das benötigte Macro angelegt werden. Hierzu klickst du mit einem Rechtsklick auf das bereits bestehende Macro „#Current.iim“ und anschließend auf „Macro bearbeiten“, um das Macro zu editieren:

iMacros edit macro

Es öffnet sich ein Fenster zum Editieren des Macros, in das du den im nachfolgenden Kapitel erläuterten Quellcode einfügen kannst. Anschließend speicherst du das Macro unter einem neuen Namen ab:

iMacros edit code

iMacro-Code zum Scrapen von Google AdWords Daten

Kopiere den folgenden Code in den Macro-Editor und speichere das Macro unter einem neuen Namen ab:

VERSION BUILD=9030808 RECORDER=FX

TAB T=1
SET !DATASOURCE keywords.csv
SET !DATASOURCE_COLUMNS 1
SET !DATASOURCE_LINE {{!loop}}

SET !TIMEOUT_STEP 10
SET !VAR8 EVAL("var randomNumber=Math.floor(Math.random()+0.2); randomNumber;")
SET !VAR9 EVAL("var randomNumber=Math.floor(Math.random()+7); randomNumber;")

'Keyword aus DataSource pasten und Suchvolumen-abrufen-Button klicken
TAG POS=3 TYPE=TEXTAREA ATTR=ID:gwt-debug-upload-text-box CONTENT={{!COL1}}
WAIT SECONDS={{!VAR8}}
TAG POS=20 TYPE=DIV ATTR=TXT:Suchvolumenabrufen
WAIT SECONDS={{!VAR9}}


'Keyword und aggregiertes durchschnittliches Suchvolumen auslesen
SET !VAR0 {{!COL1}}
TAG POS=1 TYPE=DIV ATTR=ID:gwt-debug-column-SEARCH_VOLUME_PRIMARY-row-0-0 EXTRACT=TXT
SET trimmedSearchVolume EVAL("\"{{!EXTRACT}}\".replace(/^\\s*|\\s*$/g, \"\");")
ADD !VAR0 ;{{trimmedSearchVolume}}
SET !EXTRACT NULL


'Ersten Datensatz abfragen Var1
TAG POS=1 TYPE=TD ATTR=CLASS:aplos-legend-label-cell EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=1 TYPE=TD ATTR=CLASS:aplos-legend-value-cell EXTRACT=TXT
SET Var1Separated EVAL("\"{{!EXTRACT}}\".replace(/ \\(/g, ';');")
SET Var1Processed EVAL("\"{{Var1Separated}}\".replace(/\\)/g, '');")
ADD !VAR1 ;{{Var1Processed}}
SET !EXTRACT NULL

'Zweiten Datensatz abfragen Var2
TAG POS=2 TYPE=TD ATTR=CLASS:aplos-legend-label-cell EXTRACT=TXT
SET !VAR2 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=2 TYPE=TD ATTR=CLASS:aplos-legend-value-cell EXTRACT=TXT
SET Var2Separated EVAL("\"{{!EXTRACT}}\".replace(/ \\(/g, ';');")
SET Var2Processed EVAL("\"{{Var2Separated}}\".replace(/\\)/g, '');")
ADD !VAR2 ;{{Var2Processed}}
SET !EXTRACT NULL

'Dritten Datensatz abfragen Var3
TAG POS=3 TYPE=TD ATTR=CLASS:aplos-legend-label-cell EXTRACT=TXT
SET !VAR3 {{!EXTRACT}}
SET !EXTRACT NULL
TAG POS=3 TYPE=TD ATTR=CLASS:aplos-legend-value-cell EXTRACT=TXT
SET Var3Separated EVAL("\"{{!EXTRACT}}\".replace(/ \\(/g, ';');")
SET Var3Processed EVAL("\"{{Var3Separated}}\".replace(/\\)/g, '');")
ADD !VAR3 ;{{Var3Processed}}
SET !EXTRACT NULL

'Datensätze Sortieren nach Computer, Tablet, Mobilgeräte
SET valuesComputer EVAL("if(\"{{!VAR1}}\".charAt(0) == 'C') \"{{!VAR1}}\"; else if(\"{{!VAR2}}\".charAt(0) == 'C') \"{{!VAR2}}\"; else \"{{!VAR3}}\";")
SET valuesTablet EVAL("if(\"{{!VAR1}}\".charAt(0) == 'T') \"{{!VAR1}}\"; else if(\"{{!VAR2}}\".charAt(0) == 'T') \"{{!VAR2}}\"; else \"{{!VAR3}}\";")
SET valuesMobile EVAL("if(\"{{!VAR1}}\".charAt(0) == 'M') \"{{!VAR1}}\"; else if(\"{{!VAR2}}\".charAt(0) == 'M') \"{{!VAR2}}\"; else \"{{!VAR3}}\";")


'Inhalte der Variablen mit einem Semikolon getrennt zusammenführen und in CSV speichern
SET !EXTRACT {{!VAR0}};{{valuesComputer}};{{valuesTablet}};{{valuesMobile}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=tutorial_file_001.csv

Zeile 4: hier den Dateinamen der Quell-CSV-Datei einfügen, in der in jeder Zeile ein neues Keyword steht

Zeile 65: hier den Dateinamen der Ziel-CSV-Datei einfügen.

Das Ausgabeformat der Zieldatei ist folgendermaßen aufgebaut:

  • Jede Zeile enthält die Daten für ein Keyword
  • Die Daten sind durch Semikolons von einander getrennt
    • keyword
    • Suchvolumen gesamt
    • „Computer“
    • Suchvolumen Computer relativ
    • Suchvolumen Computer absolut
    • „Tablet“
    • Suchvolumen Tablets relativ
    • Suchvolumen Tablets absolut
    • „Mobilgeräte“
    • Suchvolumen Mobilgeräte relativ
    • Suchvolumen Mobilgeräte absolut

Zwischen dem Abrufen der einzelnen Keywords wird eine kurze Pause (zum Rendern der Webseite) eingehalten. Diese variiert leicht in ihrer Länge, um das Blockieren der Abfragen durch Google (und ggf. das Eingeben von Captchas) zu vermeiden. [Zeile 8-10, bzw. Zeile 1]

Da die Werte auf der Webseite in absteigender Reihenfolge angegeben werden und sich somit anschließend nur schwer verarbeiten lassen, sortiert das Macro die Werte vor der Ausgabe in die oben angegebene Reihenfolge (Computer, Tablets, Mobilgeräte). [Zeile 57-60]

Macro zum automatisierten Abrufen der Daten starten

Öffne Google AdWords und navigiere (wie oben beschrieben) zum Keyword Planer. Stelle sicher, dass deine Menüsprache im Keyword Planer über die Account-Settings auf „Deutsch“ gestellt ist (da das Macro auf die deutschsprachigen Elemente zur Navigation und Extraktion angewiesen ist). Nun gibst du – wie anfangs erläutert – ein Keyword ein, nimmst deine Einstellungen für das Land und den Zeitraum vor und rufst das Suchvolumen ab. Danach wählst du im Dropdown-Menü das Doughnut-Diagramm mit der Aufschlüsselung nach Gerätetypen auf.

Anschließend kann das Macro gestartet werden. Hierzu die gewünschte Anzahl an Iterationen/Loops angeben. Diese legt fest, wie häufig das Macro ausgeführt werden soll. Je Keyword in der Ausgangsdatei ist ein Loop notwendig:

iMacro start loop

Die Maximal-Zahl sollte somit auch nur maximal so groß sein, wie die Anzahl der Keywords/Zeilen in der Ausgangsdatei. Ein Klick auf den Button „Play (Loop)“ startet das Macro. Die bisherige Anzahl an rund 5000 Keywords, die gescrapt werden konnten, bevor ein Page-Refresh nötig war, wurde mittlerweile deutlich reduziert (s. u.).

Einschränkungen

Wichtig ist, dass das Browser-Fenster immer sichtbar bleibt, da ansonsten die Daten nicht geladen werden. Aus diesem Grund empfiehlt es sich, die Daten über Nacht oder an einem nicht benötigten Computer zu scrapen. Google AdWords aktualisiert die Ansicht der Website ungefähr alle 10-12 Stunden, weshalb ein Refresh der Seite notwendig ist. In diesem Fall muss das Macro neu gestartet werden.

Updates

An dieser Stelle werden neueste Updates und Erkenntnisse ergänzt, die mir bei der Nutzung des Macros aufgefallen sind.

  • 27. Juni 2015: Einschränkung „aktives AdWords Konto“
    Google hat die Darstellung des Suchvolumens für inaktive Konten (Konten, ohne aktive Anzeigen) eingeschränkt, sodass nur noch ein deutlich ungenaueres Suchvolumen dargestellt wird. Somit ist es nun notwendig mind. eine laufende Anzeige zu haben (somit müssen ebenfalls Zahlungsinformationen hinterlegt werden). Weitere Infos gibt es hierzu bspw. bei Search Engine Journal oder The SEM Post.
  • spätestens seit Dezember 2016: „Einschränkung 250 Abfragen pro Tag“
    Die Anzahl an Abfragen pro Tag mit einem Google AdWords Konto mit aktiven Anzeigen wurde auf 250 Abfragen pro Tag in der grafischen Oberfläche begrenzt. Somit sind pro Tageszyklus (gemessen in der Zeitzone PST – Pacific Standard Time) deutlich weniger Abfragen als zuvor (rund 5000 Abfragen bevor ein Page-Refresh nötig war) möglich. Es erscheint nun folgender Hinweis:
    Search Volume Device Split Scraping Einschränkung Anfragen pro Tag