Google Analytics API – Teil 3
Im letzten Teil geht es darum Analytics Daten abfragen zu können. Wir verwenden dafür wie bereits in den beiden anderen Artikeln die Skriptsprache PHP. Der Source Code ist damit gut lesbar und es ist auch für Anfänger recht einfach an die Daten der Google Analytics API zu kommen.
Analytics Daten abfragen
Analytics bietet sehr viele Daten die abgefragt werden können. Uns interessieren in diesem Beispiel einige wichtige SEO Werte. Außerdem möchten wir einen Vergleich zu SEM herstellen, deshalb wollen wir zwischen SEO und SEM Daten unterscheiden.
SEO/SEM Unterschied
Unter SEO sind alle Daten zu verstehen die durch normalen Traffic entstehen. SEM sind jene, die mit Hilfe von Werbung entstehen, für die also irgendjemanden Kosten entstehen. Ein normaler Traffic wäre, wenn jemand etwas über die Suchmaschine sucht und so auf eine Seite kommt, oder die Adresse der Seite direkt in den Browser eintippt. SEM Traffic entsteht immer dann, wenn ein gesponserter Link geklickt wird. Wenn eine Werbung Benutzer auf eine Seite lockt.
Channels
Analytics teilt die Daten folgendermaßen ein:
- organic
das wäre der oben beschriebenen SEO Traffic. Also alle natürlichen Besuche einer Seite. - paid
das sind alle gesponsorte, durch Werbung erreichte Besuche einer Seite (SEM Traffic). Diesen Punkt kann man noch weiter unterteilen, ist für uns aber im derzeit uninteressant. Es ist nur wichtig zu wissen, dass Analytics bei paid noch genauer unterscheidet in: CPA, CPC, CPM, CPP, CPV, PPC
Den gewünschten Channel geben wir bei allen folgenden Suchabfragen immer als Parameter mit an.
Besucht/Traffic
Der Traffic wir durch Visits ermittelt. Also der Zahl von Benutzern die eine Seite aufrufen. Folgender Code wird für die Abfrage der Visits verwendet:
function getVisits($analytics, $from, $to, $profile_id, $channel) { $optParams = array( 'dimensions' => 'ga:source,ga:keyword', 'sort' => '-ga:visits', 'filters' => 'ga:medium=='.$channel ); return $analytics->data_ga->get( 'ga:'.$profile_id, $from, $to, 'ga:visits', $optParams ); }
Dieser Funktion werden einige Parameter mitgegeben:
- $analytics
das ist die Instanz der Google_AnalyticsService Klasse welche im ersten Teil der Artikelserie erzeugt wurde. Über diese Klasse können alle API Abfragen abgesetzt werden. - $from, $to
das ist die Zeitspanne für die wir die Daten haben wollen. Übergeben wird hier ein Datetime Objekt in Stringdarstellung, also zum Beispiel 2013-01-01 00:00:00. Werden hier 2 gleiche Werte für $from und $to übergeben, so wird ein ganzer Tag abgefragt. - $profile_id
das ist die ID des Profils. Dieser Filter wird auch bei der Analytics Web Oberfläche von Google verwendet. - $channel
hier geben wir an für welchen Channel wir die Daten haben wollen. Das ist entweder organic oder paid (dieses gliedert sich noch in die Bereiche die weiter oben beschrieben sind).
Die Funktion gibt ein Array mit dem Ergebnis zurück. Dieses muss zuerst noch aufbereitet werden bevor wir die Daten darstellen können:
$result = getVisits($analytics, $i, $profile->getId(), $channel); $rows = getValue($result); if($rows != null) { foreach($rows as $result) { echo 'source: '.$result[0].'<br>'; echo 'keyword: '.$result[1].'<br>'; echo 'visits:'.$result[2].'<br>'; } }
Im Code wird die Funktion getValue verwendet. Diese schaut folgendermaßen aus:
function getValue($results) { if(count($results->getRows())>0) { $rows = $results->getRows(); return $rows; } return null; }
Absprungrate/Verweildauer/Klicks/…
Neben den Visits sind noch zahlreiche weitere Werte über die API abzufragen. Eine genaue Liste liefert die Dokumentation der Analytics API.
Fazit
Danke meiner Einführung in die Google Analytics API sollte es nun für jeden mit PHP Kenntnissen möglich sein Analytics Daten abfragen zu können. Die Daten der API kann man in einer eigenen Datenbank speichern. Mit den Daten lassen sich ausführliche Reports und Diagramme zu speziellen Werten liefern.