Comment extraire des stats de Google Analytics vers un fichier Excel en Python ?
Python est admirable langage de développement, qui permet de prototyper très rapidement de petits outils très simples. La richesse des librairies à disposition des développeurs permet de réaliser, en quelques heures à peine, des outils très simples pour extraire des données d’un outil vers un autre, les convertir ou les rendre accessibles via un site web.
J’en veux pour preuve mon dernier bout de code source, qui permet d’extraire les statistiques d’audience d’une liste de pages sur un site web, à partir de Google Analytics, puis d’en créer un fichier Excel (on peut aussi alimenter un Google Sheet, mais les limitations en nombres d’appel à l’API rendent l’utilisation moins sympathique).
Pour cela, j’ai utilisée l’API Google Analytics, très simple à mettre en oeuvre. Un outil de test des requêtes est fourni, pour permettre d’expérimenter différents types de requêtes permettant d’extraire les données recherchées. Ici, en l’occurence, je cherche à extraire le nombre de pages vues pour toutes les pages répondant à un filtre fourni en argument, et à classer le résultat par mois, pour chaque page, l’objectif étant de trouver quelle est la page qui a eu le plus de visiteurs sur un mois donné.
Une fois qu’on a trouvé la requête qui convient, il suffit d’aller chercher l’un des exemples de code fournis par la plateforme Google Developper, comme celui-ci, puis de le configurer en utilisant le viewId correspondant au code Google Analytics (ga:xxxxxxx), et les paramètres d’accès à l’API Google qu’on aura bien entendu configurés au préalable pour pourvoir utilisé la console d’accès à l’API Google Analytics.
Ensuite, ce n’est pas très compliqué, il faut se balader dans le résultat de la requête, au format JSON, et extraire les données entre les deux dates fournies en paramètres. Petite limitation de l’API ou erreur de ma part, je n’ai pas réussi à extraire mois et année en même temps, du coup, je suis contraint d’extraire les données sur une seule année, et de répéter l’opération année après année.
Ensuite, j’utilise la librairie Python openpyxl pour ranger les données obtenues dans un petit classeur Excel. L’apI de cette librairie est très simple, il suffit d’écrire dans les cellules souhaitées, en y rangeant soit des données (textes, numériques ou dates), soit des formules.
Nombre d’heures de développement total: moins de 8 heures. Dont pas mal de temps passé à expérimenter l’interface de test, et à ajouter des filtres pour éliminer les pages indésirables (celles qui correspondent à des recherches sur le site, par exemple).
Le résultat, c’est un petit fichier Excel très pratique, que je peux obtenir en moins de deux secondes via une commande Shell…
Découvrez d'autres articles sur ce thème...
Hervé Kabla, ancien patron d’agence de comm’, consultant très digital et cofondateur de la série des livres expliqués à mon boss.
Crédits photo : Yann Gourvennec