Pour suivre le nombre de followers sur Twitter ou le nombre de likes sur votre page Facebook, il ne faut plus perdre de temps à aller sur la page quasi quotidiennement. C’est le genre de choses qu’on peut automatiser assez facilement sur Google Sheet, et on va vous montrer comment. La recette est plutôt simple. On utilise la fonction IMPORTXML pour récupérer les informations directement votre page Twitter, Facebook ou autre. Ensuite, on utilise un petit script qui va sauvegarder cette information quotidiennement pour qu’on soit en mesure de suivre l’évolution. On vous détaille la démarche dans l’article.
Pour ceux qui connaissent déjà La Fabrique du Net, vous savez qu’on aime proposer des modèles de documents, cf. veille automatisé, business plan, et de nombreux autres. Et une fois n’est pas coutume, le template de reporting Social Media est en téléchargement gratuit en bas de l’article.
#1 – Récupérer les statistiques (nb likes, followers, ..) depuis les pages publiques grâce à la fonction IMPORTXML
Obtenir le nombre de followers Twitter
Grâce à une fonction tout simple sur Google Sheet, on peut récupérer automatiquement le nombre de tweets, de followers / followings de n’importe quel compte.
Un petit mot sur la méthode. A partir de l’identifiant twitter, on génère l’URL de la page publique du profil Twitter en utilisant la fonction CONCATENER. C’est là que réside en réalité le coeur de la technique, car il faut prendre l’URL de profil mobile pour que cela fonctionne correctement. Ensuite, on utilise la fonction IMPORTXML qui permet de récupérer une information ciblée dans une page HTML. Cette fonction comporte deux paramètres, l’URL du profil Twitter et un « XPATH » qui permet de cibler les informations qu’on souhaite récupérer dans la page HTML. Toute la difficulté est évidemment de trouver des « XPATH » qui fonctionnent bien. Il faut bien garder à l’esprit que la méthode n’est pas éternelle. Si la structure HTML de la page change, votre XPATH risque de ne plus fonctionner. A suivre probablement dans les commentaires.
A noter qu’on a rajouté la date du jour, à l’aide la fonction NOW(), la date nous servira dans la suite pour historiciser les données.
FORMULES GOOGLE SHEET
> Récupérer les données depuis la page Twitter
=ARRAY_CONSTRAIN(SI(ESTVIDE(A2);"";importHTML("http://m.twitter.com/"&A2;"table";3));1;3)
en remplaçant A2 par la cellule qui contient le nom du profil Twitter. Le résultat doit prendre la forme d’un tableau d’une ligne et 3 colonnes avec le nombre de tweets, de followings et de followers.
> Filtrer les données pour récupérer uniquement le nombre de followers
=SI($A2="";"";REGEXREPLACE(SUBSTITUE(SUBSTITUE(I2;F$1;"");",";"");"\n";"")))
en remplaçant I2 par la cellule qui contient le résultat de la 3ème colonne de la formule ci-dessus.
Obtenir le nombre de Likes d’une page Facebook
La même démarche permet de récupérer le nombre de likes de n’importe quelle page Facebook.
Pour ceux qui veulent comprendre plus en détail la formule utilisée. On a rajouté des SUBSTITUE pour supprimer le mot « likes » qui apparait en plus du nombre, et pour supprimer la virgule afin que le résultat soit bien considéré comme un nombre.
FORMULE GOOGLE SHEET
=SUBSTITUE(SUBSTITUE(importxml(B2;"//span[@id='PagesLikesCountDOMID']");" likes";"");",";"")
en remplaçant A2 par la cellule qui contient le nom du profil Twitter.
Le résultat doit prendre la forme d’un tableau d’une ligne et 3 colonnes avec le nombre de tweets, de followings et de followers.
#2 – Sauvegarder les données tous les jours grâce à un Google Apps script
C’est la partie que je préfère. Tout simple, mais diablement efficace. On a préparé un script qui copie simplement la ligne avec les résultats tout en bas de la feuille. Et Google Apps propose une fonctionnalité qui permet de déclencher automatiquement ce script tous les jours. Pour les besoins de la démo, on a rajouté un petit menu qui permet de déclencher le script.
L’utilisation des scripts sur Google Sheet peut paraître technique, mais elle ne l’est vraiment pas quand il s’agit simplement de copier un script déjà réalisé. Pour accéder à l’éditeur de scripts, menu Outils, puis Editeurs de scripts. Un nouvel onglet s’ouvre avec l’éditeur. Vous arrivez dans le « Projet » par défaut, avec un fichier créé par défaut qui s’appelle « Code.js ». Il vous suffit de copier / coller le script ci-dessous, de sauvegarder, et le tour est joué. Google Apps vous invite à confirmer que le script peut accéder à Google Spreadsheet, et vous pouvez tester le résultat.
// Créer un menu pour actualiser le reporting à la main si besoin function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Actualisation reporting') .addItem('Save Data - Twitter','saveDataTwitter') .addItem('Save Data - Facebook','saveDataFacebook') .addToUi(); } // Sauvegarder les données Twitter dans une nouvelle ligne en bas du même Sheet function saveDataTwitter() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[1]; var handle = sheet.getRange('Twitter!A2').getValue(); var url = sheet.getRange('Twitter!B2').getValue(); var date = sheet.getRange('Twitter!C2').getValue(); var tweets = sheet.getRange('Twitter!D2').getValue(); var following_count = sheet.getRange('Twitter!E2').getValue(); var follower_count = sheet.getRange('Twitter!F2').getValue(); sheet.appendRow([handle,url,date,tweets,following_count,follower_count]); } // Sauvegarder les données Facebook dans une nouvelle ligne en bas du même Sheet function saveDataFacebook() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[2]; var id = sheet.getRange('Facebook!A2').getValue(); var url = sheet.getRange('Facebook!B2').getValue(); var date = sheet.getRange('Facebook!C2').getValue(); var likes = sheet.getRange('Facebook!D2').getValue(); sheet.appendRow([id,url,date,likes]); }
Une fois le script enregistré et testé, il faut utiliser la fonction « Déclencheurs » (icône de l’heure) pour automatiser le déclenchement des scripts tous les jours.
#3 – Construction du reporting Social Media sous Google Sheet
Maintenant que nous disposons d’un tableau avec les données historiques pour chaque réseau social, on peut construire un dashboard sympathique. On vous a préparé un modèle de reporting facile à décliner pour vos besoins. L’idée est d’avoir un bloc pour chaque réseau social avec 2/3 KPI sur la situation actuelle et un graphique sur l’évolution d’un KPI. A décliner ensuite pour Instagram, Youtube et tous les autres réseaux sociaux qui vous intéressent. A noter qu’il serait très facile de construire un reporting sur Google Data Studio qui serait alimenté par le Google Sheet.
Pour télécharger le template de reporting, il vous suffit de laisser votre email dans le champ suivant. Vous recevrez le lien pour accéder au Google Sheet, et vous pourrez le copier sur votre Drive personnel.