La scène se répète le 3 de chaque mois. Vous exportez la dépense publicitaire, vous ouvrez le tableur de suivi, vous récupérez les ventes du logiciel de facturation, vous recopiez les demandes reçues sur WhatsApp. Vous cherchez ensuite pourquoi le total de dépense du tableur ne tombe pas sur celui de la plateforme. À la fin, vous produisez un document de deux pages, et il est déjà ancien.
Le problème n'est pas la mise en forme. C'est la recopie. Un rapport qui se construit à la main se construit trois fois : une fois pour collecter, une fois pour corriger, une fois pour présenter. Automatiser les deux premières étapes change tout, à une condition : la donnée collectée doit être juste.
La consolidation mensuelle, et ce qu'elle absorbe
Comptez ce que la consolidation prend vraiment. Récupérer trois exports, les aligner sur la même période, retrouver les ventes signées du mois, faire correspondre les noms de campagnes avec les noms du suivi, corriger les doublons, calculer les coûts. Pour une activité ordinaire, cette séquence occupe souvent de l'ordre d'une journée par mois.
Ce coût est visible, et ce n'est pas le pire. Le vrai problème est le moment : le rapport arrive une semaine après la fin du mois, quand les décisions sont déjà prises. Un canal qui coûte sans vendre depuis six semaines devrait être coupé ; il continue de tourner parce que personne ne l'a vu. Et quand le mois est mauvais, la consolidation saute, ce qui est exactement le mois où il fallait regarder.
Il y a une troisième perte, plus discrète : la recopie produit des erreurs qui ne se voient pas. Un montant saisi de travers, une colonne décalée, un mois dupliqué. Le rapport est présenté avec assurance, et le chiffre est faux.
Le point clé. Automatiser un rapport sur des données fausses ne fait pas que produire plus vite un document faux. Cela le rend plus crédible, parce que le document arrive à l'heure et ne porte aucune trace d'approximation.
Trois sources suffisent pour commencer
Un reporting qui mélange douze sources ne se maintient pas. Trois sources couvrent les décisions qui comptent : ce que vous dépensez, ce que vous recevez comme demandes, et ce que vous vendez.
| Source | Données collectées | Fréquence |
|---|---|---|
| Publicité (Google Ads, Meta Ads) | Dépense, clics, conversions, coût par conversion | Chaque jour |
| Suivi commercial (tableur, facturation) | Demandes, ventes, chiffre d'affaires, origine | Chaque jour |
| Site (GA4, Search Console) | Sessions, sources, requêtes, pages consultées | Chaque semaine |
Les deux premières lignes sont indispensables. La troisième sert à comprendre, pas à décider : savoir qu'une page reçoit du trafic n'a d'intérêt qu'une fois que vous savez quels canaux amènent des demandes. On l'ajoute quand les deux premières sont fiables.
La règle de sélection est simple : une source entre dans le circuit si elle expose une API ou un export stable. Un chiffre qui n'existe que dans un cahier n'est pas collectable : il faut d'abord le saisir, et cette étape appartient à la capture des demandes, pas au reporting.
Reste la question que tout le monde saute : comment la table sait qu'une demande vient de Google Ads et pas de WhatsApp ? Il faut un marqueur posé à l'entrée. Trois solutions simples, à choisir une fois pour toutes : un paramètre de campagne dans l'adresse de la page, un numéro WhatsApp ou un formulaire distinct par canal, ou une question posée directement à la personne qui écrit. Sans marqueur, la colonne canal se remplit à l'intuition, et un rapport qui devine ne sert à rien.
Le principe : une donnée, une source, un endroit
Un chiffre ne doit exister qu'à un seul endroit, et cet endroit doit être la source d'origine. La dépense publicitaire vient de la plateforme, jamais d'une recopie. Le chiffre d'affaires vient de la facturation, jamais du souvenir de celui qui a vendu.
La collecte se fait par API, avec un identifiant dédié au reporting, en lecture seule. C'est une précaution à prendre avant de brancher quoi que ce soit : un identifiant qui peut modifier les campagnes est un identifiant qui peut les casser, et il n'a aucune raison d'exister dans un workflow de mesure.
Chaque ligne collectée porte trois informations qui ne se voyagent pas sans elle : la période couverte, la date de collecte, et la source. Ces trois champs sont ce qui permet de répondre, six mois plus tard, à la question qui dérange : d'où sort ce chiffre ?
Le tableur de collecte est une base de données, pas un document à présenter. On ne le met pas en forme, on l'interroge. La mise en forme vient après, dans un second tableau ou dans un rapport d'une page, et elle ne contient aucun calcul refait à la main.
La table de collecte, colonne par colonne
Sept colonnes suffisent. Une ligne par mois et par canal, ce qui garde le fichier petit et lisible.
| Colonne | Contenu | Origine |
|---|---|---|
| periode | Le mois, au format 2026-10 | Généré |
| canal | Google Ads, Meta, WhatsApp, référencement | Liste fixe |
| depense | Montant en FCFA | Plateforme publicitaire |
| demandes | Nombre de demandes reçues | Suivi commercial |
| ventes | Nombre de ventes signées | Suivi commercial |
| chiffre_affaires | Montant encaissé en FCFA | Facturation |
| collecte_le | Date de la dernière mise à jour | Généré |
Les indicateurs se calculent à partir de ces colonnes, et ils ne se saisissent jamais : coût par demande, coût par vente, taux de conversion des demandes en ventes, chiffre d'affaires par franc dépensé. C'est ce dernier rapport qui fait la différence entre un canal qui rapporte et un canal qui occupe. Un canal avec une marge de 40 % et un canal avec une marge de 12 % ne se comparent pas au chiffre d'affaires : la marge, quand elle varie d'une offre à l'autre, se saisit aussi.
La colonne des demandes vient du suivi commercial, alimenté par la capture des demandes entrantes et par la séquence de relance qui met à jour le statut de chaque dossier. Sans statut tenu à jour, la colonne des ventes se remplit avec un mois de retard, et le rapport compare des périodes qui ne veulent rien dire.
Ce qui tourne chaque jour, chaque semaine, chaque mois
La fréquence fait partie du réglage. Un rapport mensuel qui dépend d'une collecte quotidienne se remplit tout seul ; le même rapport lancé le 30 du mois demande une journée de rattrapage.
Chaque jour, tôt le matin. La dépense de la veille et les demandes reçues sont collectées et écrites dans la table. Si une source ne renvoie rien, une alerte part : c'est ainsi qu'on repère un identifiant expiré en une journée au lieu d'un mois.
Chaque lundi. Trois chiffres pour la semaine écoulée : dépense, demandes, ventes. Rien de plus. Ce relevé hebdomadaire sert à repérer une dérive pendant qu'elle est encore corrigeable : une campagne qui double son coût par demande se voit en sept jours, pas en trente.
Le 1 de chaque mois. Le rapport complet se construit sur le mois clos, et la période est figée : une fois validée, elle ne bouge plus. C'est ce qui rend les mois comparables entre eux, et c'est aussi ce qui évite le rapport qui change de chiffres à chaque fois qu'on l'ouvre.
Chaque trimestre. Une revue des canaux, avec une décision par canal : on augmente, on maintient, on coupe. Un canal sans vente sur deux mois consécutifs se coupe au trimestre, avec les chiffres sous les yeux.
Le rapport se livre là où il sera lu : un message WhatsApp ou Telegram avec les cinq chiffres, et un lien vers la version complète. Une pièce jointe lourde envoyée par email se classe sans être ouverte. Précisez aussi qui le reçoit : un rapport adressé à trois personnes qui n'ont rien à décider finit ignoré.
Vérifier la donnée avant de l'automatiser
C'est la partie que l'on saute, et c'est celle qui décide si le rapport sert à quelque chose. Trois contrôles automatiques suffisent à attraper la plupart des erreurs, et ils s'écrivent une fois.
Le nombre de lignes attendues. Chaque collecte quotidienne doit produire exactement une ligne par canal et par jour. Zéro ligne ou deux lignes déclenchent une alerte. C'est le contrôle qui détecte un changement d'identifiant de campagne, une source muette ou un doublon.
Le rapprochement avec l'interface. Une fois par mois, la dépense totale de la table se compare au total affiché dans la plateforme publicitaire. Un écart de quelques pour cent s'explique par les dates de validation ; un écart plus large signale un problème de collecte, pas un problème de plateforme.
Le contrôle des périodes. Le mois clos ne doit plus recevoir de ligne. Une écriture tardive sur une période figée se signale et se corrige dans le mois courant, avec une note.
Ajoutez un principe qui vaut pour tout : on ne corrige jamais la donnée source pour faire tomber un total juste. Un écart se documente. La tentation de lisser un chiffre est exactement ce qui transforme un rapport en décoration. Rappelez-vous aussi qu'un jeton d'accès expire : sans surveillance, une source s'arrête en silence et le rapport se remplit de trous.
Le premier mois sert de calibrage. Les écarts qui apparaissent ne sont pas des pannes : ils montrent les endroits où votre suivi et les plateformes ne comptent pas la même chose. Notez-les dans le journal du projet, corrigez la règle de collecte, et ne touchez pas à la présentation du rapport avant le deuxième mois.
Le rapport d'une page, et ce qu'il déclenche
Un rapport lu est un rapport court. Une page, cinq chiffres, trois questions.
Les cinq chiffres : dépense du mois, demandes reçues, ventes signées, chiffre d'affaires encaissé, coût par vente. Chacun comparé au mois précédent, avec l'écart en pourcentage. Les trois questions qui suivent : quel canal a coûté sans vendre ce mois-ci, quel canal vend sans qu'on y mette davantage, et qu'est-ce qui a changé depuis le mois dernier.
Côté moyens, une instance auto-hébergée se loue dans l'ordre de quelques milliers de francs par mois, quel que soit le nombre de lignes collectées. La mise en place demande de l'ordre de deux à quatre jours selon le nombre de sources, et le temps se passe souvent sur les autorisations d'accès plutôt que sur le rapport lui-même. Le chiffrage se fait après le diagnostic gratuit, quand les sources et les volumes sont connus.
Une honnêteté pour finir : la donnée publicitaire est déclarative, et l'attribution reste imparfaite. Le rapport ne dit pas avec certitude quelle vente vient de quel clic. Il donne une répartition, des écarts et des tendances — c'est suffisant pour décider d'un budget, et cela ne remplace pas une lecture commerciale. Ce que le dispositif remplace, en revanche, est net : la consolidation du début de mois, le copier-coller entre le tableur et le logiciel de gestion, et la réunion où l'on discute d'un chiffre que personne n'a vérifié. C'est le même principe que dans la synchronisation de vos outils commerciaux : une seule vérité par client, et une seule source par chiffre.
Le rapport du mois dernier était prêt quand ?
Un diagnostic gratuit pour lister vos sources, vérifier ce qui est vraiment collectable et situer les volumes. Le périmètre se décide ensuite.
Voir l'automatisation Écrire sur WhatsAppFAQ — reporting automatisé
Quelles données collecter en priorité ?
Trois : la dépense publicitaire, les demandes reçues et les ventes signées. Elles suffisent à voir si un canal coûte plus qu'il ne rapporte, ce qui est la première décision d'un rapport. Le trafic et les requêtes de recherche s'ajoutent ensuite, quand ces trois lignes sont fiables et contrôlées.
Faut-il un entrepôt de données pour automatiser un reporting ?
Non, pas au départ. Un tableur alimenté par API tient sans difficulté pour quelques milliers de lignes par mois. L'entrepôt devient utile quand plusieurs personnes interrogent la donnée en même temps ou quand elle vient de plus de dix sources. Commencer par le tableur évite de payer une infrastructure pour un besoin qui n'existe pas encore.
Combien de temps prend la mise en place ?
De l'ordre de deux à quatre jours selon le nombre de sources et l'état des accès. Le temps se passe surtout sur les autorisations : comptes publicitaires, accès en lecture seule, identifiants d'API. Le rapport lui-même se construit en dernier, et cette étape est rapide une fois la table alimentée.
Peut-on automatiser un rapport sans API ?
Partiellement. Des exports de fichiers reçus par email se traitent, mais la collecte devient fragile : un fichier manquant, un nom qui change ou un format modifié casse le circuit sans prévenir. Une source sans API exploitable se traite mieux par un import manuel assumé, ou par un petit développement dédié, que par un bricolage.
Le rapport remplace-t-il un tableau de bord ?
Non, les deux servent des usages différents. Le tableau de bord se consulte pour surveiller, le rapport mensuel se lit une fois et se compare au mois précédent. On commence par le rapport, parce qu'il oblige à définir les chiffres qui comptent avant de dessiner des courbes.
Que faire si les chiffres ne tombent pas juste ?
On documente l'écart au lieu de le corriger dans la donnée source. Une différence entre la plateforme publicitaire et le suivi des ventes vient souvent des dates de validation, d'un doublon ou d'une conversion rattachée au mois précédent. Un écart connu et écrit vaut mieux qu'un chiffre lissé, qui rendrait le mois suivant incompréhensible.