Nettoyage du Spam dans Google Analytics avec Python

comparatif des années

Précédemment nous avions vu comment nettoyer le spam avec les segments directement dans Google Analytics et comment nettoyer ce spam avec R.

Cette fois nous allons voir comment le faire avec Python. Pour cela nous reprendrons la méthode d’importation des données de l’API de Google Analytics avec Python, que nous avions décrite précédemment. Démarrons tout de suite le code source.

Dans l’article précédent nous avions notamment importé les données de trafic de Networking Morbihan sur 7 ans 1/2 . Les données brutes présentaient des anomalies que nous allons nettoyer ici.

Page vues brutes depuis 2011

Code Source

N’hésitez pas à copier/coller les codes sources suivants. Comme nous vous l’indiquions précédemment nous faisons tourner le programme dans l’environnement de développement Spyder.

Attention le code source démarre ici à la récupération des données utiles. Pour voir comment se connecter à Google Analytics API reportez vous à notre article précédent sur l’importation.

Récupération des données pour nettoyage :

Afin de pouvoir filtrer le spam il sera nécessaire de récupérer des dimensions : hostname, browser, fullReferrer, sourceMedium, language, landingPagePath, pagePath dans Google Analytics.

Préparation des données :

Dans cette partie nous allons préparer les données pour être exploitables par la suite. Nous allons notamment créer une observation par page vue..

Nettoyage des langues suspectes :

Remarque préalable : pour ceux qui n’ont pas réussi à récupérer leurs données avec l’API nous vous proposons de récupérer nos données brutes en .zip ici : https://github.com/Anakeyn/CleanSpamGAwPython/blob/master/gaPVAllYears.zip, afin de tester le reste du programme.

Dans cette partie nous allons vérifier que les langues sont bien au format ISO « langue-pays » : xxx-xxx, par exemple : fr-FR, fr-BE, es ..

Graphique Pages VUES après nettoyage des langues suspectes

PV langues nettoyées
PV langues nettoyées

Nettoyage des Ghostnames :

Les Ghostnames sont des noms de domaine qui hébergent votre code de suivi de Google Analytics (sans votre consentement en général :-(). Ici nous n’allons conserver que les sites qui sont légitimes comme monsite.com ou encore des sites de cache comme celui de Google, par exemple :
webcache.googleusercontent.com.

On enlève aussi les sous-domaines que l’on ne veut pas garder, ici pour nous loc.networking-morbihan.com .

Graphique Pages VUES après nettoyage des GHOSTNAMES

Ghostnames Nettoyés
Ghostnames Nettoyés

Nettoyage des browsers suspects

Avant de virer les browsers suspects il est nécessaire de vérifier à la main ce que vous avez dans la variable browser. Cela peut changer par rapport à nous .

Graphique Pages VUES après nettoyage de la variable Browser

Variable browser nettoyée
Variable browser nettoyée

Nettoyage des Crawlers Spammers et sources de trafic non désirées dans la variable source.

Afin de réaliser cette opération nous aurons besoin de récupérer un fichier de sites blacklistés. Nous en avons créé un que vous pouvez récupérer dans cette archive sur notre Github. Toutefois il est possible que vous soyez obligé de le compléter au vu de ce que vous avez dans vos données.

Graphique Pages VUES après nettoyage de la variable SOURCE

Variable source nettoyée
Variable source nettoyée

Nettoyage des fausses pages référentes dans la variable fullReferrer

Il s’agit ici de fausses pages référentes mais sur des sites légitimes. Nous avons aussi créé un fichier blacklist-fullReferrer-Page.csv que vous pouvez récupérer sur notre Github.

Graphique Pages VUES après nettoyage de la variable fullReFERRER

Variable fullReferrer nettoyée
Variable fullReferrer nettoyée

Nettoyage des pages d’administration

Il s’agit ici des pages d’administration de votre site Web et qui dépendent de votre CMS. Donc vous serez obligé de l’adapter. Pour nous il s’agit de WordPress.

PAGE VUES APRES SUPPRESSION DES PAGES D’ADMINISTRATION

Pages Vues après nettoyage des pages d'administration
Pages Vues après nettoyage des pages d’administration

Nettoyage des pages dont l’entrée sur le site s’est faite via l’administration : variable landingPagePath.

Comme précédemment, la liste des pages dépend de votre CMS. pour nous il s’agit de WordPress.

PAGES VUES APRES NETTOYAGE DE la variable landingPAGEPATH

variable landingPagePath nettoyée
variable landingPagePath nettoyée

Il s’agissait de la dernière étape. Au début nous avions 82559 observations et à la fin nous trouvons 72821 enregistrements soit près de 10000 ou 15% de spam ce qui n’est pas négligeable.

Jeu de données nettoyé

Pour finir, comparons les différentes années sur le jeu de données nettoyé.

Graphique Comparatif des PAGES VUES EN MOYENNE MOBILE SUR 30 JOURS PAR ANNEES

comparatif des années
comparatif des années

Vous pouvez retrouver le code source en entier et les fichiers nécessaires dans notre Github à l’adresse https://github.com/Anakeyn/CleanSpamGAwPython

N’hésitez pas à laisser vos avis, conseils et remarques en commentaires,

A Bientôt,

Pierre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.