Dans ce tutoriel je vais vous montrer l’utilisation de l’API de Google Analytics pour afficher directement les statistiques de son blog sur une page web WordPress. Cela permet de fournir des informations supplémentaires à vos partenaires sans logiciel supplémentaire ni plugin. Voyons sa mise en œuvre.
Les pré-requis.
Avant de vous lancer dans l’intégration des statistiques de GA sur votre site, voici ce qu’il vous faut :
- Avoir un compte Google Analytics
- Avoir un compte Développeur Google
- Avoir un compte Google et une adresse gmail
- Avoir un serveur PHP avec Composer
- Un peu de patience et d’huile de coude
Création d’un compte de service.
Afin de pouvoir vous connecter de façon transparente à l’API de Google Analytics, il vous sera nécessaire de configurer un compte de service sur le projet correspondant à votre site. Cela vous évitera de devoir vous authentifier auprès de Google à chaque fois que vous voudrez consulter vos statistiques.
Allez sur la console des développeurs Google.
Cliquez sur le bouton Créer un projet.
Remplissez le nom de votre projet, n’hésitez pas à modifier l’ID qui apparaît en dessous. Puis cliquer sur Créer
Au bout de quelques secondes, votre projet est créé.
S’il ne s’affiche pas de lui-même, n’hésitez pas à retourner dans la liste « Sélectionner un projet » et à le sélectionner manuellement.
Activer l’API Google Analytics.
En haut de l’écran, vous verrez un bouton « Activer des API et des services ». Cliquez sur ce bouton et recherchez Google Analytics API dans la section Autre de la bibliothèque des API.
Puis cliquer sur Activer.
Création d’un compte de service.
Il est nécessaire de créer ces identifiants pour vous identifier afin d’utiliser l’API.
Nous allons donc cliquer sur le bouton Créer des identifiants.
Sur l’écran ci-dessus, nous allons cliquer sur le lien « compte de service » (en rouge) pour ignorer cette étape et aller directement créer le compte dont nous avons besoin.
Nous allons maintenant devoir nommer le compte et lui attribuer des rôles.
Sur l’écran suivant, cliquer sur le bouton « Créer un compte de service »
Renseigner le nom du compte de service, l’ID du compte de service et une description (je vous conseille de la remplir si vous devez gérer plusieurs comptes de service en fonction de votre activité pour que l’identification soit plus facile). Cliquer sur Créer.
Comme sur l’écran ci-dessus, nous allons sélectionner les rôles Utilisateur dans Service Account et Lecteur dans Service Usage. Cliquer sur Continuer.
Cliquer sur OK.
Votre compte de service et maintenant créé et actif.
Créer la clé d’accès à l’API GA.
Quand le compte est créé, il reste à créer la clé, qui permettra l’authentification du compte depuis notre blog.
Pour générer la clé, il suffit de cliquer sur les 3 petits points en bout de la ligne du compte de service et de cliquer sur Créer une clé.
Dans la fenêtre qui apparaît, choisir JSON et valider.
Le fichier JSON est proposé au téléchargement. Validez et conservez-le précieusement !!
Ajouter le compte de service à votre compte Google Analytics
Le compte de service possède un identifiant qui se termine par .iam.gserviceaccount.com
Vous devez l’ajouter en tant qu’utilisateur de votre compte Google Analytics et lui donner les permissions de lecture.
Connectez-vous à GA, puis aller dans Administration -> Compte -> Gestion des utilisateurs du compte
Ajouter l’adresse mail de votre compte de service créé plus haut, sélectionner Lire et Analyser puis cliquer sur Ajouter.
Installer le client PHP pour l’API Google Analytics
Concernant cette partie, elle dépend de votre hébergeur. Je vais vous montrer comment installer le client PHP pour l’API GA sur l’hébergeur O2switch.
Pour cela vous devez avoir un accès SSH à votre compte d’hébergement. Pour O2switch c’est simple il suffit de contacter le support avec votre IP publique fixe ou d’avoir un compte chez un fournisseur type DynDNS.
Pour vous connectez en SSH sur votre hébergement vous devez utiliser les mêmes identifiants que celui de votre CPanel.
Pour installer le client PHP, le plus simple est d’utiliser Composer par le biais de cette ligne de commande :
# composer require google/apiclient:^2.0
Composer doit installer le client PHP dans le dossier vendor/google
Copie de la clé d’API.
Il faut maintenant copier la clé API sur notre serveur. Cette clé ne doit pas être accessible depuis l’extérieur.
Copier le fichier .json, récupéré précédemment et copier le sur votre hébergement dans le répertoire
- 1 : Se placer à la racine de votre hébergement
- 2 : Cliquer sur Charger pour récupérer le fichier.json sur votre ordinateur
- 3 : Le fichier est copié dans le répertoire voulu
Accéder à l’API Google Analytics via PHP.
Voici les grandes étapes pour récupérer des informations sur son compte GA depuis son API.
Initialisation de l’API et de l’authentification
Avant de pouvoir manipuler les données, il est nécessaire d’initialiser l’API. Nous considérons que le client PHP est chargé, par un autoload de composer par exemple.
C’est les fonctions initializeAnalytics() et getFirstProfileId($analytics) dans le code qui permet l’authentification sur l’API de GA.
Récupérer les informations
La fonction getResults30daysAgo($analytics, $profileId) interroge l’API de GA et lui demande de retourner la métrique choisie pour les 30 derniers jours.
La Ligne 74 et 75, permettent de définir un intervalle de date. La ligne 76 permet de sélectionner un métrique à afficher, ici le nombre de sessions.
Si vous souhaitez connaitre la liste des métriques utilisables depuis l’API, vous pouvez consulter ce site web : Dimensions & Metrics Explorer.
Affichage des informations
La fonction printResults($results) permet d’afficher le résultat de la requête et de gérer l’erreur si aucun résultat n’est disponible.
Dans l’exemple ci-dessus, j’affiche plusieurs métriques. Il suffit de les déclarer dans la fonction getResults30daysAgo avant.
A ce stade vous devriez pourvoir récupérer les données de votre compte Google Analytics et avoir ceci :
Utiliser l’API en temps réel de GA
Maintenant je souhaite récupérer le nombre de visiteurs en temps réel sur mon blog. L’API de GA nous donne accès à cette information. Voici comment faire.
Concernant l’API en temps réel de GA, j’ai retenu 2 metrics important à savoir :
- rt:activeUsers (Nombre d’utilisateurs actif à un instant t)
- rt:pageviews (Nombre de pages vues sur le site depuis 30 minutes)
Pour récupérer ces valeurs j’ai réutilisé le script ci-dessus pour se connecter à l’API GA, puis j’ai créé deux fonctions pour retourner les valeurs souhaitées.
Ensuite voici comment j’appelle les fonctions dans le script.
Puis pour afficher les valeurs :
Si vous souhaitez tester les metrics concernant la partie temps réel de GA, voici un site pratique pour interroger directement depuis une interface web les API pour son compte : Real Time Data: get.
Il suffit de rentrer votre identifiant Google Analytics dans le champ ids et de copier le metrics que vous souhaitez dans le champ idoine. Cliquer sur Execute et vous avez le résultat.
Voilà ce que cela donne pour mon site :
Pour aller plus loin dans l’utilisation de l’API de Google Analytics.
Si vous souhaitez tester des métriques, dimensions, filtres et autres joyeusetés, vous pouvez utiliser ce site : Query Explorer. C’est une interface graphique qui permet de faire des requêtes sur votre compte GA.
Vous construisez votre requête, puis vous cliquez sur Run Query et vous apercevez le résultat :
Google limite le nombre d’accès à l’API à 50000 requêtes par jour et 2000 requêtes par secondes. Pour voir ce graphique, il faut aller sur votre compte développeur Google : https://console.developers.google.com/ puis dans Tableau de bord et sélectionner le nom de votre requête, dans notre exemple Google Analytics API
Ensuite cliquer sur Quotas.
Vous voyez apparaitre sous forme de graphique, le nombre d’accès à l’API GA par jour.