Performance et optimisation des rapports
Introduction
Un rapport Data Studio peut être techniquement parfait, visuellement irréprochable, et finir quand même à la poubelle. Il suffit qu’il mette trente secondes à charger pour que les utilisateurs abandonnent avant même de voir vos magnifiques graphiques.
La performance, c’est ce qui transforme un beau rapport en outil vraiment utilisé. Un tableau de bord fluide inspire confiance et facilite la prise de décision. Un tableau de bord lent décourage et finit par être oublié.
80 % de la performance d’un rapport Data Studio se joue AVANT même d’ouvrir Data Studio, dans la préparation des données, pas dans le choix des couleurs, pas dans l’optimisation des graphiques.
Les 20 % restants concernent le rapport lui-même selon le nombre de graphiques, le type de visuels, la configuration des filtres. Mais si vos données sont mal préparées, vous pouvez passer des heures à optimiser votre rapport, cela restera lent. C’est dur à accepter quand vous débutez. Vous voulez juste faire un joli tableau de bord. Mais c’est ainsi.
Les solutions qui fonctionnent tout de suite
Avant de vous perdre dans les détails techniques, voici les actions qui donnent des résultats instantanés. Je les ai testées sur des dizaines de rapports. Elles fonctionnent à tous les coups.
Limiter la période par défaut (gain : -70 % temps de chargement)
Un client avait configuré son rapport pour afficher "toutes les données depuis 2019". Cela paraît logique, non ? Il voulait afficher l’historique complet sauf que son rapport mettait 25 secondes à s’ouvrir et personne ne l’utilisait.
Il a modifié la période pour afficher les 90 derniers jours par défaut et le temps de chargement est passé à trois secondes. Même rapport, mêmes graphiques, seule la limite de période a été modifiée.
Pourquoi cela fonctionne ? Parce que vous passez de 2 millions de lignes à 50 000 lignes.
Et franchement, pour 90 % des analyses quotidiennes, les 90 derniers jours suffisent largement. Si vous avez vraiment besoin de l’historique complet, ajoutez un bouton pour étendre la période. Mais ne l’affichez pas par défaut.
Réduire le nombre de graphiques par page
Votre page d’accueil ressemble au cockpit d’un avion ? Avec quinze graphiques qui se chargent en même...
Diagnostiquer : trouver ce qui ralentit vraiment
Maintenant que vous avez appliqué les solutions rapides, passons au diagnostic approfondi. Parce que parfois, le problème se cache ailleurs.
Votre rapport a un problème si :
-
Le chargement initial est supérieur à 10 secondes : les utilisateurs vont fermer l’onglet. Je ne suis même pas sûre qu’ils attendent 10 secondes, mais soyons généreux.
-
Un changement de filtre prend plus de 5 secondes : l’interaction devient frustrante. Les utilisateurs veulent cliquer et voir le résultat sans attendre.
-
Les pages se figent : barres de chargement infinies ou erreurs "Source indisponible".
-
Les données sont incohérentes : certains graphiques se mettent à jour, d’autres non.
Les trois coupables habituels
Après avoir déboggé des centaines de rapports, je retrouve toujours les mêmes suspects.
Le volume de données
Plus vous interrogez de lignes, plus c’est lent. Une évidence, mais qu’on oublie facilement quand on se concentre sur les graphiques.
Exemple vécu : un client avait mis un graphique temporel configuré sur "toute la période disponible". Sa table faisait 3 millions de lignes. Le graphique mettait plusieurs minutes à s’afficher.
En limitant les données à 6 mois...
La solution : optimiser côté données (les 80 %)
Ici se joue la vraie bataille. Un rapport rapide ne se construit pas dans Data Studio, il se construit avant, dans la préparation des données.
Pousser les calculs vers la source
Pour mieux comprendre, voyons un exemple concret.
Vous avez une table BigQuery analytics.events avec 500 000 lignes. Vous voulez classer vos sources en "Paid" ou "Organic".
Mauvaise approche : vous connectez la table brute à Data Studio et créez un champ calculé :
CASE
WHEN REGEXP_MATCH(source, ".*(cpc|ads|paid).*") THEN "Paid"
ELSE "Organic"
END
À chaque ouverture du rapport, Data Studio charge 500 000 lignes et calcule cette formule 500 000 fois. Cela donne 8 secondes de chargement, 750 Go scannés par mois sur BigQuery.
La solution est de créer une vue BigQuery qui fait le calcul une fois :
CREATE OR REPLACE VIEW analytics.dashboard_data AS
SELECT
date,
source,
country,
sessions,
revenue,
-- Calculs faits UNE fois
CASE
WHEN REGEXP_CONTAINS(source, r'.*(cpc|ads|paid).*') THEN 'Paid'
ELSE 'Organic'
END...Optimiser côté rapport (les 20 %)
Même avec des données parfaitement préparées, un rapport mal configuré peut rester lent. Voici les réglages côté rapport qui feront la plus grande différence.
La règle : un écran, un message
Je l’ai dit tout au long de ce livre, mais je le redis : maximum 6-8 graphiques par page. Au-delà, Data Studio commence à sérialiser les requêtes au lieu de les traiter en parallèle. Cela devient de plus en plus lent.
Par exemple une page surchargée avec 15 KPI, 5 graphiques et 3 tableaux engendre 30 secondes de chargement.
Par contre une page optimisée avec 4 KPI, 2 graphiques et une navigation claire vers les détails charge en 3 secondes.
Oui, cela demande plus de pages donc plus de travail au départ mais vos utilisateurs vont VRAIMENT utiliser le rapport, pas juste l’ouvrir une fois et ne plus jamais y retourner.
Maîtriser les filtres intelligents
Niveau rapport vs niveau page
Les filtres de date et de région, qui concernent l’ensemble du rapport, doivent être placés au niveau rapport pour garantir la cohérence et ne déclencher qu’une seule requête.
Les filtres plus spécifiques comme le canal, la catégorie ou le produit sont à placer au niveau page...
BigQuery : la Ferrari qui peut coûter cher
BigQuery, c’est puissant, rapide et scalable. C’est aussi ce qui peut vous faire déchanter en voyant la facture si vous ne faites pas attention.
Comprendre la facturation BigQuery
Les coûts BigQuery ont été évoqués au chapitre Connecter et gérer ses données dans Data Studio. Nous approfondissons ici les techniques concrètes pour les réduire.
Tarification 2024 :
-
1 To gratuit par mois (pour toutes vos requêtes)
-
5 € par To supplémentaire scanné
Cela paraît généreux et ça l’est. Jusqu’au moment où cela ne l’est plus.
Exemple de dérapage :
Table : 10 Go
Rapport : 8 graphiques
Consultations : 20 fois par jour
Calcul : 10 Go × 8 graphiques x 20 consultations x 30 jours = 48 To par mois
Facture : 235 €. Pour UN SEUL rapport.
Techniques d’optimisation BigQuery
Partitionnement temporel obligatoire
C’est LA base. Si vous ne partitionnez pas vos tables par date, vous scannez TOUTE la table à chaque requête.
CREATE TABLE analytics.events_partitioned
PARTITION BY DATE(event_timestamp)
AS SELECT * FROM analytics.events
Après la mise en place du partitionnement, quand vous filtrez sur les 30 derniers jours, BigQuery ne scanne...
Surveillance et maintenance continue
Un rapport optimisé aujourd’hui peut devenir lent demain. Les données grossissent, les usages changent, les utilisateurs ajoutent des graphiques... Cette section vous aide à maintenir la performance dans la durée.
Signaux d’alerte précoce
Plutôt que de subir les problèmes, anticipez-les en surveillant ces métriques clés. C’est comme surveiller la température d’un moteur avant qu’il casse.
Temps de chargement
-
Page d’accueil : un temps de chargement inférieur à 5 secondes est acceptable, inférieur à 2 secondes il est excellent.
-
Pages secondaires : un temps de chargement inférieur à 10 secondes est acceptable.
-
Changement de filtre : le temps de chargement doit être inférieur à 3 secondes.
Utilisation des quotas
Gardez un œil sur la consommation de vos quotas techniques. Sur :
-
BigQuery, vérifiez le pourcentage du quota mensuel consommé pour éviter les dépassements en fin de mois.
-
Sur Google Analytics, comparez le nombre de requêtes quotidiennes à la limite autorisée par l’API.
-
Sur Google Sheets, surveillez la fréquence des erreurs de type "limite de taux dépassée", signe que la source est trop sollicitée. Comportement utilisateur.
Enfin...
Checklist finale et dépannage express
Checklist pré-production (15 minutes)
Avant de partager votre rapport, accordez-vous 15 minutes pour vérifier ces trois aspects.
Sources de données
Assurez-vous que :
-
les données sont agrégées en amont,
-
les champs calculés sont créés dans la source plutôt que dans les graphiques,
-
des extraits sont en place pour les sources lentes,
-
le filtrage par défaut couvre une période raisonnable (30 à 90 jours).
Structure du rapport
Vérifiez que :
-
chaque page contient au maximum 6 à 8 graphiques,
-
la page d’accueil privilégie des visuels légers (cartes de score, jauges)
-
la navigation entre les pages est fluide.
Test de charge
Enfin, ouvrez le rapport en navigation privée (sans cache) et vérifiez que le chargement initial ne dépasse pas 10 secondes et qu’un changement de filtre s’exécute en moins de 5 secondes.
Dépannage express
Voici les trois problèmes les plus fréquents et comment les résoudre rapidement.
"Mon rapport ne se charge plus"
-
Testez avec 1 seul KPI et si cela fonctionne, c’est le volume de données chargé par les autres graphiques qui pose problème. Réduisez le nombre de graphiques par page.
-
Vérifiez les quotas (Google Analytics/BigQuery).
-
Réduisez la période...