Image de couverture de l'article Kit de survie: Tuto utiliser Google Analytics API
Retour aux articles

L'agence

WanadevStudio

Kit de survie: Tuto utiliser Google Analytics API

Couramment utilisé pour collecter et analyser son trafic, Google Analytics est plus rarement exploité à partir de son API. Donnez les statistiques de votre site ou d'une partie de votre site à vos utilisateurs . Découvrez en quelques lignes comment cet API fonctionne !

Maj (07/01/2016) Certaines informations ont étés mises à jour pour correspondre aux changements de l'API Google.

On a parfois (et même souvent) besoin d'intégrer et d'utiliser Google Analytics pour installer des trackers sur ses sites web. On prend ensuite l’habitude de visiter le Dashboard Analytics pour consulter les différentes statistiques et les exploiter avec les outils puissants proposés par la firme de Mountain view. Moins connu, mais tout aussi utile, il est possible d'exploiter vos données de trafic sur votre site ou un service tiers depuis l'API Google Analytics. Voici les quelques points importants pour sa mise en place dans un projet PHP.

Mise en place du service Google Analytics API

Vous devrez d'abord importer la bibliothèque PHP Client via composer (ou l'ajouter manuellement) :

 "google/apiclient": "1.1.*"

N'oubliez pas d'installer l'extension PHP (php5-json) sur votre machine.

Vous devez ensuite créer une clé API. Pour cela, rendez-vous sur la page des clés API de votre compte. Ajoutez une clé d'accès "service" en P12 puis mettez le fichier généré dans un dossier de votre projet/site non accessible au public.

Récupérez l'email de la clé (xxxxxxx@developer.gserviceaccount.com), le nom de votre clé et le code du compte Google Analytics (GA) du site cible (ga:xxxxxx) dans un fichier de configuration pour pouvoir l’exploiter plus tard.

OK, mais comment je trouve le code du compte GA ? Allez sur Google Analytics et sur le compte du site que vous souhaitez récupérer puis sur "Admin". Pour finir, cliquez sur "Paramètre de la vue" et récupérez l'identifiant de la vue.

Un dernière chose à faire, autoriser votre utilisateur API à lire & analyser vos stats. Pour cela, rendez-vous dans la rubrique "Compte" puis "Utilisateurs". Ajouter un accès à votre utilisateur xxxxxxx at developer dot gserviceaccount dot com.

API Google Analytics : des stats à la clé

Dans un premier temps, nous allons utiliser le client Google et déclarer votre objet de la classe Google_Client:

$client = new \Google_Client();
$client->setApplicationName('My_app');

Puis authentifiez-vous à l'API avec l'email de la clé API, le contenu du fichier P12 et enfin le client ID :

$cred = new \Google_Auth_AssertionCredentials($api_email , array('https://www.googleapis.com/auth/analytics.readonly'), file_get_contents($analytics_file));
$client->setAssertionCredentials($cred);
if($client->getAuth()->isAccessTokenExpired()) {
   $client->getAuth()->refreshTokenWithAssertion($cred);
}

Nous allons maintenant utiliser la classe Google_Service_Analytics pour consommer le service Analytics :

$service = new \Google_Service_Analytics($client);

puis tester une requête en récupérant le nombre de visiteurs, de visites et le temps moyen entre deux dates :

$service->data_ga->get($ga_account_id, $start_date, $end_date, $metrics, $params);

$ga_account_id correspond au compte GA du site ciblé $start_date  pour la date de début au format (YYYY/MM/DD) $end_date  pour la date de fin au format (YYYY/MM/DD) $metrics permet de déterminer les types de données souhaitées (ex: 'ga:visitors,ga:visits,ga:avgTimeOnSite') $params pour préciser des filtres ou des dimensions (ex: uniquement les urls contenant /doc/ = 'ga:pagePath=~/doc/*')

Voici le retour que vous pourrez avoir :

{
 "kind": "analytics#gaData",
 "id": "xxxxx",
 "query": {
  "start-date": "2015-08-29",
  "end-date": "2015-08-30",
  "ids": "ga:xx",
  "metrics": [
   "ga:visitors",
   "ga:visits",
   "ga:avgTimeOnSite"
  ],
  "start-index": 1,
  "max-results": 1000
 },
 "itemsPerPage": 1000,
 "totalResults": 1,
 "selfLink": "xxxxx",
 "profileInfo": {
  "profileId": "xxxxx",
  "accountId": "xxxxxx",
  "webPropertyId": "UA-xxxxxx",
  "internalWebPropertyId": "xxxxxxx",
  "profileName": "Toutes les données du site Web",
  "tableId": "ga:xxxxxxx"
 },
 "containsSampledData": false,
 "columnHeaders": [
  {
   "name": "ga:visitors",
   "columnType": "METRIC",
   "dataType": "INTEGER"
  },
  {
   "name": "ga:visits",
   "columnType": "METRIC",
   "dataType": "INTEGER"
  },
  {
   "name": "ga:avgTimeOnSite",
   "columnType": "METRIC",
   "dataType": "TIME"
  }
 ],
 "totalsForAllResults": {
  "ga:visitors": "1060",
  "ga:visits": "1900",
  "ga:avgTimeOnSite": "603.3052631578947"
 },
 "rows": [
  [
   "1060",
   "1900",
   "603.3052631578947"
  ]
 ]
}

Pour la suite je vous fais confiance ! Bon dev.

Références pour en savoir plus sur l'API Google Analytics :

Commentaires

Photo de Kiriax auteur du commentaire

Kiriax

Il y a 9 ans

Bonjour, savez vous ou le fichiez xxxx.p12 est généré ? je ne le retrouve pas sur ma machine

Cordialement.
Bonjour,
Le .p12 est normalement téléchargé depuis le panel API de Google et donc disponible ensuite dans votre dossier de téléchargement (comme n’importe quel fichier téléchargé).