SEO Berichte mit der Google Analytics-API und Google Docs erstellen

Mit den mittlerweile nicht mehr allzu neuen Google Spreadsheets lassen sich die tollsten Sachen anstellen. Man kann zusammen daran arbeiten, sie problemlos mit jedem teilen, multimediale Inhalte einfügen, sich leicht zu anderen Google Diensten verbinden und sie liegen in der Cloud, d. h. man kann also von überall auf der Welt darauf zugreifen.
Als SEO ist man natürlich immer gewillt, seine Prozesse zu optimieren und seine wichtigsten Kennzahlen auf einen Blick zu haben, ohne vorher alle Tools durchwühlen zu müssen um die Daten zu erhalten. Google Docs kann für diese Aufgaben zum besten Freund des SEOs werden, denn über projektinterne APIs lassen sich Tools wie Sistrix, SearchMetrics, Linkbird, Google Analytics und Co. einfach anzapfen und man kann die Potenziale der Tools verbinden und somit ein großes individuelles Tool schaffen. Trotz der vielen Möglichkeiten möchte ich mich in diesem Artikel zunächst auf das Thema Google Analytics und Google Spreadsheets beziehen.

Installation der Funktionen

Bevor man sich mit der API von Google Analytics verbinden kann, sollte man zunächst die entsprechenden Funktionen im Sheet installieren. Dazu empfehle ich die „Google Analytics Data Fetch Functions“ von Mikael Thunberg. Bisher konnte ich damit nur positive Erfahrungen machen und stets die Anfragen stellen, die mir lieferten, was ich brauchte.
Um benanntes Skript zu installieren, wählt Ihr im Sheet das Menü „Tools“ >> „Skriptgalerie“. Dann bekommt man verschiedene Skripte angeboten. Weil wir genau wissen, was wir wollen, suchen wir nach dem Begriff „Google Analytics Data Fetch Functions”. Das richtige Set erkennt man daran, dass unter der Beschreibung die E-Mail Adresse von Herrn Thunberg zu finden ist. Dann ein Klick auf „Installieren“, kurz warten, das Skript autorisieren und im Pop-Up Fenster „schließen“ drücken und schon kann es los gehen.

GA

Anwendung der Funktionen

Das Skript besteht aus lediglich frei Funktionen: getGAauthenticationToken, getGAdata und getGAaccountData. Ich will hier nur die beiden ersten Funktionen beleuchten.
Die Funktion getGAauthenticationToken wird dazu benötigt, sich für das Profil zu authorisieren. Als Argumente werden die Analytics Login E-Mail und das Account-Passwort benötigt. Durch Aufruf der Funktion wird ein Token erstellt, welcher aus gefühlten 500 alphanumerischen Zeichen besteht. Mithilfe des Tokens kann man nun die Daten abrufen.
Die Daten zieht man sich nun mittels der Funktion getGAdata. Im Folgenden möchte ich kurz die Argumente der Funktion nennen und erklären:

In meinem Beispiel-Sheet wollen wir nun zunächst die zehn traffic-stärksten Keywords finden und dazu die Anzahl der Besuche, Seiten pro Besuch, Anteil neuer Besucher und die Absprungrate des Keywords ausgeben. Dazu werden im „Formular“ (Zellen A1 bis C10) die Webseite, die Projekt-ID, der Analytics-Login, der Berichtszeitraum und ein auszuschließendes Keyword angegeben. Das auszuschließende Keyword ist fakultativ und kann z.B. dazu dienen, um beim organischen Traffic jenen Traffic rauszufiltern, welcher über Brandanfragen generiert wurde.
Die Daten aus dem Formular holt sich die Funktion über Zellbezüge. Die Spalten und die Gruppierung habe ich in diesem Beispiel über direkte Anweisungen in der Formel gelöst. Wenn wir uns nun also die Formel genauer anschauen: =getGAData($C$5;$C$2;“visits&pageviewsPerVisit&percentNewVisits&visitBounceRate“;$C$7;$C$8;$D$10;“ga:keyword“;;TRUE;;10;1)
Die ersten beiden Argumente sind Authentifizierungstoken und Projekt-ID. Danach folgen die Metriken, also jene Größen, die wir in den Spalten ausgegeben haben wollen. Dazu auch hier noch mal der Verweis auf den Dimensions & Metrics Guide. Die einzelnen Metriken werden via „&“ verbunden bzw. aufgezählt. Die nächsten beiden Argumente sind Start- und Enddatum des Berichtszeitraumes, anschließend folgt der Filter. Als Filter ist fix, dass nur der organische Traffic ausgegeben wird, deshalb der Teil „ga:medium==organic“. Soll noch ein Keyword ausgeschlossen werden, so erweitert sich der Filter zu „ga:keyword!@projecter;ga:medium==organic“. Hier lassen sich beliebig viele Filter setzen. Wichtig ist, dass man darauf achtet, alle „Einzelfilter“ per „;“ zu verbinden und um das gesamte Gebilde Anführungszeichen setzt, da sonst die Funktion durcheinander kommt. Nun wird noch die Dimension angegeben, hier soll sie das Keyword sein. Das bedeutet, dass die Daten nach Keyword aggregiert werden und nicht etwa nach URL oder Sonstigem.
Ein bestimmtes Segment soll hier nicht betrachtet werden, das soll dann jeder für sich entscheiden und die von ihm festgelegten Segmente sinnvoll zur Datenanalyse verwenden. Das Argument Filter kann lediglich den Wert FALSE oder TRUE haben, standartmäßig ist der Filter nicht gesetzt. Wird er auf TRUE gestellt, so wird absteigend nach allen Metriken sortiert. Die Priorität verteilt sich dabei von links nach rechts, in unserem Beispiel wird also zuerst nach visits sortiert, dann nach pageviewsPerVisit usw. Den Tabellenkopf wollen wir hier auch nicht mit ausgeben, da er nicht sonderlich schön formatiert ist. Deshalb bleibt der Parameter includeHeaders frei.
Ganz zum Schluss wird noch festgelegt, dass die ersten zehn Tabellenzeilen ausgegeben werden sollen, da wir ja die Top 10 haben wollen und dass die Ausgabe bei Zeile 1 beginnen soll. Wer jetzt z.B. „(not provided)“ nicht in seinen Analysen sehen möchte, der beginnt mit der Ausgabe erst in Zeile 2. Dieser Aussage ist natürlich vorrausgesetzt, dass über (not provided) der meiste Traffic kommt. Ich bin mir ziemlich sicher, dass das bei fast allen Webseiten mittlerweile so ist.
Durch Abschicken der Funktion erhalten wir nun die gewünschten Daten. Die Formel lässt sich beliebig anpassen, so dass wir an alle Daten herankommen, die wir auch im User Interface finden können. So kann man sich Standardberichte erstellen, die eine Menge Zeit sparen können.
SEO_Banner_2012

Erweiterungsmöglichkeiten

Natürlich kann man die Funktion auch für Daten des E-Commerce verwenden. Dazu findet sich auch eine Tabelle im Beispiel-Sheet. Die dazugehörige Formel liegt in der Zelle A32. Außerdem habe ich ganz unten noch zwei Formeln eingebaut, welche den Gesamttraffic über die organische Suche und den Gesamttraffic über Links von anderen Webseiten ausgeben.
Weitere tolle Varianten sind das Kombinieren mit Daten aus Sistrix oder SearchMetrics. So kann man sich z.B. die Top-Rankings der Webseite ziehen und dann direkt den Traffic darüber auswerten. Damit lassen sich relativ einfach Potenziale und Risiken erkennen.
Der Kreativität sind also fast keine Grenzen gesetzt. Hier und da muss man ein wenig rumprobieren, aber das Ergebnis sollte am Ende den Aufwand rechtfertigen. Das angesprochene Google Spreadsheet darf gern kopiert werden und als Grundlage für weitere Analysen dienen.

guest
9 Kommentare
Inline Feedbacks
View all comments
Marvin
Marvin
vor 8 Jahren

Danke für die geilen Tipps – bin dabei mich intensiver mit Analytics zu befassen. War bisher nur bei Piwik, aber Analytics kann einfach mehr und ist leistungsfähiger.

Sarah
Sarah
vor 8 Jahren

Super Anleitung. Setz mich nachher gleich mal hin und versuch es selbst.

Christopher
Christopher
vor 8 Jahren

Man ist immer auf der Suche seine Arbeiten besser und effizienter zu gestalten. Solche Tipps sind dann immer Gold wert wenn man nicht viel Geld für teure Tools ausgeben möchte.

Zarah
Zarah
vor 8 Jahren

Hi,
Ich hab alles so gemacht wie du erklärt hast, allerdings steht beim Token: Authentication failed. Ich hab allerdings alles richtig eingegeben. Woran kann es liegen?
Viele Grüße,
Zarah

Zarah
Zarah
vor 8 Jahren

Hallo nochmal, ich nehm alles zurück, ich hatte noch nicht gesehen gehabt das ich den Zugriff im Analytics Konto bestätigen muss. Jetzt funktioniert alles wunderbar, vielen Dank!!!

handyaner
handyaner
vor 8 Jahren

hallo ich habe schon einige beispiele für google analytics gefunden.
dein tutorial funktioniert auch.
aber wie ist es, wenn ich daten aus der google places.
sprich wie würde die abfrage für =getGAData …. bei google places aussehen.

Saddu
Saddu
vor 7 Jahren

Hallo,
erstmal vielen lieben Dank für den Beitrag! Ich war gleich begeistert und wollte es umsetzen. Leider funktioniert getGAdata bei mir nicht. Habe Google API bereits aktiviert und kann es mir grad nicht erklären – muss aber zugeben, dass ich auch ein Laie in dem Gebiet bin. Zu der Fehlermeldung „Fetching data failed (Cannot read property „length“ from undefined)“ hab ich leider auch nichts gefunden.
Vielleicht kannst Du mir ja helfen 🙂
Viele Grüße
Saddu