Cela va bientôt faire un mois que Google a sorti une API officielle pour partager les stats google analytics sur son site Web. Grâce au boulot de Chris Hope (un grand merci à lui ;-)), on peut interroger cette Api via du code PHP et ainsi afficher à ses visiteurs les stats de fréquentation et d’usage de son site Web :
- visiteurs uniques,
- pages vues,
- recherches dans son moteur interne,
- provenance géographique,
- etc…
Dans ce tuto, je vous propose de voir comment on peut afficher sur son site les 15 pages les plus vues au cours des 7 derniers jours avec pour chaque page le nombre de fois où elle a été chargée dans un navigateur (nombre de pages vues) + un lien vers cette page.
Le script qu’on va mettre en place ensemble vous permettra d’afficher de manière automatique sur votre site vos contenus les plus populaires auprès des internautes.
Sommaire
- Les prérequis
- Infos de compte à renseigner
- Les variable de la fonction data
- Vos pages php sur votre ftp
- Aller plus loin
1/ Quelques prérequis
Pour pouvoir vous lancer dans ce tuto, quelques conditions sont nécessaires
- Avoir un compte Google Analytics
- Avoir un hébergement Web qui accepte le langage PHP 5
- Prendre connaissance des Vues et Indicateurs que l’on peut interroger
- Télécharger l’analytics API de Chris Hope (version jeanviet)
Il est aussi vivement recommandé que vous ayez quelques notions en PHP et HTML.
2/ Infos personnelles à rentrer dans index.php
Après avoir téléchargé l’analytics api de Chris Hope, dézippez-la, et ouvrez le fichier index.php qui se trouve à l’intérieur. Vous allez devoir rentrer vos informations personnelles de compte ici:
Ligne 9 et 10, ajoutez vos login et mots de passe dans les quotes. (ex $login =’jeanviet’). Ligne 14, vous devez indiquez le numéro de compte google analytics que vous voulez suivre (précédez le de ga:).
Vous pouvez obtenir ce numéro dans la section paramètres de vos comptes google analytics, en survolant le lien de votre compte vous verrez une url avec un id= c’est cet id qui nous intéresse (chez moi: 580508). Ligne 14, vous mettrez donc: $id = ‘ga:580508′.
3/ Paramétrer la boucle qui crée votre liste des pages les plus vues
Voici la boucle du fichier index.php qui va vous permettre d’afficher vos 15 pages les plus vues.
On fait appel (ligne 36) ici à une fonction data (définie dans analytics_api.php) qui interroge notre compte google analytics en fonction des vues, indicateurs, tris, périodicité, qu’on lui demande.
Dans analytics_api.php, certaines variables de la fonction data ont été définies à des valeurs par défaut:
- le tri se fait par ordre décroissant sur l’indicateur (variable $sort)
- la date de début a été mis à – 30 jours (variable $start)
- la date de fin à hier (variable $end)
- on affiche les 10 premiers résultats ($max_results) en commençant par le premier ($start_index)
Les deux variables $dimension (vue) et $metric (indicateur) sont à paramétrer dans index.php.
data($id, $dimension, $metric, $sort = false, $start = false, $end = false, $max_results = 10, $start_index = 1)
Comme on souhaite connaître les pages les plus vues, on va récupérer dans $dimension la vue qui nous donne les titres des pages et leurs urls.
ga:pageTitle,ga:pagePath
Au niveau de l’indicateur ($metric), on veut récupérer les pages vues du couple titre, url.
ga:pageviews
On est ok avec le tri par pages vues décroissantes défini par défaut, reste à indiquer que l’on veut commencer à – 7 jours, et avoir un max de résultats à 15, comme ceci:
$data = $api->data($id, 'ga:pageTitle,ga:pagePath', 'ga:pageviews',false, date('Y-m-d', strtotime('1 week ago')), false, 15);
On crée ensuite la boucle qui nous donnera pour chaque entrée du top 15: Titre -> URL -> Pages vues (7 derniers jours)
On restitue l’info sous forme d’une liste de liens numérotés et cliquables comme ceci:
Je vous ai détaillé le fonctionnement de la boucle au cas où vous vouliez la customiser (indcateurs, vues, dates, tri). Telle que définie par défaut dans index.php, elle nous retournera bien les 15 pages les plus vues de notre site.
4/ Envoyer analytics_api.php et index.php sur un répertoire de votre ftp
Créez un répertoire analytics à la racine de votre site web et envoyez les deux fichiers analytics_api.php et index.php
Vous pourrez ensuite charger l’url http://monsite.com/analytics/ pour afficher vos stats: http://jeanviet.info/analytics/
5/ Aller plus loin avec l’API Google analytics
Je vous recommande d’aller voir ces deux liens pour tout ce qui concerne les données à récupérer dans google analytics:
- http://code.google.com/intl/fr/apis/analytics/docs/concepts/gaConceptsOverview.html
- http://www.electrictoolbox.com/google-analytics-api-and-php/
Pour créer des graphs à partir de vos données, voici quelques liens utiles:
- En css: http://www.standards-schmandards.com/exhibits/barchart/
- en flash: http://www.fusioncharts.com/free/
Les appels étaient long à charger, je vous recommande de les mettre en cache à l’aide de skycache.
Bonjour,
Je ne sais pas comment avoir Curl : il faut l’installer sur le serveur (ce qui sera difficile étant donné que je suis sur un serveur sur lequel je n’ai pas les droits pour installer des trucs) ou il y a une librairie à inclure dans mon site internet?
En espérant avoir une réponse à mon interrogation. Merci d’avance.
Swaen
j’ai cinquante ans et je me met seulement à l’ordi,
je ne fais que des conneries et je le bloc, tout le temp,
il y a r’il un esoir pour moi?
Bravo pour ce tuto!
Votre site doit être connu!
Merci
Marc
Super intéressant! Réellement créatif en effet. merci pour le partage.
tzugvlwef qkmcp jumjfva bvcb unkjnxnhdgnjuss
7217 208619I adore gathering valuable information, this post has got me even a lot more information! . 234977
I have been exploring for a little for any high quality articles or weblog posts in this sort of space .
Exploring in Yahoo I ultimately stumbled upon this web site.
Reading this information So i am glad to show
that I’ve a very good uncanny feeling I found out just what I needed.
I so much certainly will make sure to do not disregard
this web site and give it a look on a constant basis.