Le besoin métier
Savoir où investir sans confondre visibilité et résultats
Une campagne produit beaucoup de clics mais peu de contacts exploitables. Une autre semble chère, mais ses prospects deviennent clients. Les plateformes publicitaires et le CRM affichent des nombres différents, et personne ne sait encore lesquels utiliser pour répartir le budget.
Le reporting doit relier acquisition, qualification et résultat commercial. Il distingue ce qui est observé, ce qui est attribué selon une règle et ce qui reste inconnu. Cette distinction rend les décisions plus solides qu’une addition de captures d’écran.
La démarche en images
Créer ce reporting en quatre étapes

- Rassembler
Réunir les dépenses, campagnes, prospects et conversions dans le bon périmètre.
- Rapprocher
Dédupliquer et appliquer une fenêtre ainsi qu’une convention d’attribution communes.
- Construire
Comparer coûts, conversions et valeur attribuée sans les confondre avec un bénéfice.
- Arbitrer
Décider des campagnes à approfondir, ajuster ou tester en tenant compte des limites de mesure.
Choisissez les arbitrages et la bonne fréquence
Pour une revue hebdomadaire, suivez la consommation du budget, les anomalies de collecte et la qualité des nouveaux contacts. Pour l’arbitrage mensuel, examinez les cohortes assez anciennes pour avoir produit un résultat. Une cohorte regroupe ici les prospects entrés pendant un même mois.
Le responsable marketing valide les dépenses et campagnes ; les commerciaux valident la qualification ; la finance confirme les ventes retenues. La direction reçoit une synthèse des changements proposés, avec leurs limites. Une conversion enregistrée hier ne doit pas être comparée sans recul à un prospect suivi depuis six semaines.
- Quel budget renforcer, maintenir ou réduire ?
- Quelle campagne produit des contacts réellement pertinents ?
- Quel blocage se situe sur la page, dans le suivi des contacts ou dans la vente ?
Reliez les données sans multiplier les prospects ou les dépenses
Construisez BilanMarketing après contrôle et agrégation de chaque source. Leads compte les Prospect_ID entrés dans le mois ; Qualifies les prospects de cette cohorte qualifiés dans les 30 jours ; les nouveaux clients et le CA portent sur leur première vente dans ces mêmes 30 jours. Depense, impressions et clics décrivent l’activité publicitaire du mois. Ce rapprochement est un suivi opérationnel mensuel, pas une mesure causale du rendement de chaque euro dépensé.
La cohorte est complète lorsque la fenêtre de chaque prospect est échue et les sources disponibles. La date d’arrêté reste visible. Définissez une règle unique pour relier un nouveau client à un prospect et évitez qu’un client figure dans plusieurs cohortes d’acquisition.
| Jeu de données | Une ligne représente | Champs indispensables |
|---|---|---|
| ActiviteCampagnes | Un jour et une campagne | Date, Campagne_ID, Canal, Impressions, Clics, Depense |
| Prospects | Un prospect dédupliqué | Prospect_ID, Date_Entree, Campagne_ID retenue, Date_Qualification |
| Conversions | Une première vente à un nouveau client | Conversion_ID, Client_ID, Prospect_ID, Date_Vente, CA_Net_HT |
| Campagnes | Une campagne | Campagne_ID stable, Libelle, Canal, Responsable |
| BilanMarketing | Un mois d’entrée et une campagne, à une date d’arrêté | Mois, Campagne_ID, Canal, Depense, Impressions, Clics, Leads, Qualifies, Nouveaux_Clients_30j, CA_Attribue_30j, Date_Arrete, Cohorte_Complete |
Disposez d’une lecture commune pour arbitrer vos campagnes.
Structurer mon reporting marketingFixez l’attribution avant de comparer les canaux
Choisissez une règle de campagne d’origine et conservez-la pendant la comparaison. Pour un premier suivi, vous pouvez retenir la dernière interaction identifiée avant l’entrée du prospect dans une fenêtre explicitement définie. C’est une convention de gestion à documenter, pas la preuve qu’un canal a causé la vente. Laissez une catégorie « non attribué » lorsque la trace manque.
Distinguez la fenêtre d’attribution — combien de temps avant l’entrée un contact publicitaire est admissible — de la fenêtre d’observation — ici les 30 jours après l’entrée pour suivre qualification et vente. Les 30 jours de cet exemple ne sont ni une obligation ni un réglage GA4 présumé.
Dans GA4, le modèle d’attribution et sa fenêtre influencent les résultats. Une dimension de session et une dimension rattachée à un événement ne répondent pas à la même question. Notez aussi fuseau horaire, devise, date d’extraction et événements retenus. Ne cumulez pas les conversions autoattribuées de plusieurs plateformes ; rapprochez-les d’identifiants de prospects ou de transactions quand ils sont disponibles.
Définissez sept indicateurs et leurs limites
Pour une activité sans vente en ligne, la qualification peut être le premier résultat pertinent. Pour un cycle commercial long, complétez les vues à 30 jours par des fenêtres adaptées, sans les mélanger. Gardez visibles volumes, maturité et part non attribuée : un bon taux sur quelques contacts reste fragile.
| Indicateur | Calcul | Lecture et exclusion |
|---|---|---|
| Dépense média | Somme de Depense du mois | Même devise ; préciser si les frais d’agence ou de création sont exclus. |
| Taux de clic, CTR | Somme Clics / somme Impressions | Même périmètre de diffusion ; ne pas moyenner les taux journaliers. |
| Coût par prospect | Somme Depense / somme Leads | Prospects uniques hors tests, robots identifiés et doublons ; résultat indicatif du mois. |
| Taux de qualification à 30 jours | Somme Qualifies / somme Leads | Définition commerciale stable ; ne comparer que les cohortes complètes. |
| Coût par prospect qualifié | Somme Depense / somme Qualifies | Afficher non calculable en absence de contact qualifié. |
| Coût média par nouveau client à 30 jours | Somme Depense / somme Nouveaux_Clients_30j | Ce n’est pas le coût complet d’acquisition : salaires et autres frais peuvent manquer. |
| Ratio de revenu attribué sur dépense, ROAS | Somme CA_Attribue_30j / somme Depense | CA net des annulations connues ; ne mesure ni marge, ni bénéfice, ni effet causal. |
Avec Excel : une synthèse mensuelle reproductible
Importez les exports publicitaires et CRM via Power Query. Harmonisez les identifiants de campagne, puis préparez chaque source séparément. Agrégez avant de rapprocher : joindre les dépenses journalières directement à tous les prospects ferait répéter les montants. Chargez le résultat dans un tableau BilanMarketing.
Utilisez un tableau croisé dynamique pour les totaux par mois et canal, filtré sur un seul arrêté. Pour les ratios, divisez les sommes ; ne prenez pas la moyenne des pourcentages. Dans cet exemple Excel français, B1 contient le mois, B2 la campagne, B3 la date d’arrêté et Cohorte_Complete est une colonne booléenne. Le critère Date_Arrete évite d’additionner plusieurs versions d’une même cohorte. Si aucune cohorte complète ou aucun prospect qualifié n’existe, la formule renvoie #N/A, à présenter comme « non calculable ».
=SIERREUR(
SOMME.SI.ENS(BilanMarketing[Depense];BilanMarketing[Mois];B1;BilanMarketing[Campagne_ID];B2;BilanMarketing[Date_Arrete];B3;BilanMarketing[Cohorte_Complete];VRAI)
/ SOMME.SI.ENS(BilanMarketing[Qualifies];BilanMarketing[Mois];B1;BilanMarketing[Campagne_ID];B2;BilanMarketing[Date_Arrete];B3;BilanMarketing[Cohorte_Complete];VRAI);
NA())Avec Access : rapprocher campagnes, prospects et ventes
Si Access porte déjà le suivi des prospects, gardez ses identifiants et ajoutez les dates de qualification et les références de campagne. Créez des requêtes séparées pour les dépenses, prospects uniques et premières ventes. Vérifiez chaque total, puis réunissez les résultats au niveau mois-campagne dans BilanMarketing.
Une clé unique mois-campagne convient si vous ne gardez qu’un arrêté courant. Si vous archivez chaque arrêté, ajoutez Date_Arrete à la clé et sélectionnez un seul arrêté dans le rapport. La requête ci-dessous choisit explicitement le mois et l’arrêté, puis exclut les cohortes incomplètes.
PARAMETERS [MoisChoisi] DateTime, [ArreteChoisi] DateTime;
SELECT Canal,
Sum(Depense) AS Depense_Media,
Sum(Leads) AS Prospects,
Sum(Qualifies) AS Prospects_Qualifies,
Sum(Nouveaux_Clients_30j) AS Nouveaux_Clients
FROM BilanMarketing
WHERE Mois = [MoisChoisi]
AND Date_Arrete = [ArreteChoisi]
AND Cohorte_Complete = True
GROUP BY Canal;Avec Python et Streamlit : comparer les canaux de façon interactive
Python facilite les règles de nettoyage, de dédoublonnage et de cohorte ; Streamlit permet au responsable marketing de filtrer les résultats. Le code suivant affiche deux campagnes fictives d’un seul mois complet. Il reprend la table préparée, pas des exports de plateformes additionnés sans contrôle.
Dans votre environnement Python, exécutez « pip install streamlit pandas », placez cet exemple dans reporting.py puis lancez « streamlit run reporting.py ». En usage réel, préparez les données en amont, contrôlez les droits et affichez la date d’arrêté. N’exposez pas de coordonnées de prospects dans une démonstration publique.
import pandas as pd
import streamlit as st
st.title("Campagnes — exemple illustratif")
bilan = pd.DataFrame([
{"Campagne_ID": "C1", "Canal": "Recherche", "Depense": 3000, "Leads": 90, "Qualifies": 30, "Nouveaux_Clients_30j": 8, "CA_Attribue_30j": 18000},
{"Campagne_ID": "C2", "Canal": "Social", "Depense": 2000, "Leads": 110, "Qualifies": 20, "Nouveaux_Clients_30j": 2, "CA_Attribue_30j": 6000},
])
assert bilan["Campagne_ID"].is_unique
assert (bilan["Qualifies"] <= bilan["Leads"]).all()
canal = st.selectbox("Canal", ["Tous", "Recherche", "Social"])
vue = bilan if canal == "Tous" else bilan[bilan["Canal"] == canal]
c = vue[["Depense", "Leads", "Qualifies", "Nouveaux_Clients_30j", "CA_Attribue_30j"]].sum()
st.metric("Prospects qualifies", int(c["Qualifies"]))
st.metric("Cout / prospect qualifie", f"{c['Depense'] / c['Qualifies']:.0f} €" if c["Qualifies"] else "Non calculable")
st.metric("ROAS descriptif", f"{c['CA_Attribue_30j'] / c['Depense']:.1f}" if c["Depense"] else "Non calculable")
st.caption("Une cohorte complete de 30 jours. ROAS different de benefice.")
st.dataframe(vue)Avec Power BI : partager des résultats et des définitions cohérents
Chargez BilanMarketing après avoir retenu un arrêté. Reliez-la à une dimension Campagnes et à une dimension Mois comportant des clés uniques. N’additionnez pas plusieurs versions du même mois. Dans la vue de comparaison, filtrez Cohorte_Complete sur vrai et indiquez les campagnes exclues pour maturité insuffisante.
Créez chaque mesure ci-dessous séparément. Présentez les dépenses et les volumes à côté des ratios, puis une tendance et une liste d’actions. Testez les segments canal et campagne. L’accès des lecteurs, l’actualisation des sources et les conditions de partage se vérifient avant diffusion.
Depense media = SUM(BilanMarketing[Depense])
Cout par qualifie =
DIVIDE([Depense media], SUM(BilanMarketing[Qualifies]))
Taux qualification =
DIVIDE(SUM(BilanMarketing[Qualifies]), SUM(BilanMarketing[Leads]))
ROAS descriptif =
DIVIDE(SUM(BilanMarketing[CA_Attribue_30j]), [Depense media])Terminez par les contrôles, les commentaires et les décisions
Comparez la même maturité et gardez une trace des changements de marquage ou d’attribution. Une baisse de prospects peut venir d’une campagne moins performante ou d’une collecte défaillante. Le reporting doit aider à distinguer ces causes avant de couper un budget.
Rapprocher les dépenses avec les exports de chaque plateforme, dans la même devise et sur la même période.
Contrôler l’unicité des prospects et conversions ; conserver les rejets et la part non attribuée.
Vérifier qu’une qualification et une vente appartiennent bien à la cohorte et à sa fenêtre d’observation.
Rejouer un cas sans conversion, un doublon, une annulation et une campagne sans correspondance.
Faire valider la qualification par les commerciaux et les ventes par leur source de référence.
Diffuser un commentaire court : constat, hypothèse à tester, action, responsable et date de revue.
Exemple pédagogique
Exemple chiffré : le contact le moins cher n’est pas toujours le plus utile
Dans une cohorte fictive complète, Recherche dépense 3 000 € pour 90 prospects, 30 qualifiés et 8 nouveaux clients ; Social dépense 2 000 € pour 110 prospects, 20 qualifiés et 2 nouveaux clients. Le coût par prospect vaut respectivement 33,33 € et 18,18 €, mais le coût par prospect qualifié est de 100 € pour les deux canaux.
Au total : 5 000 € de dépenses, 200 prospects, 50 qualifiés et 10 nouveaux clients. Le taux de qualification vaut 25 %, le coût par prospect 25 € et le coût média par nouveau client 500 €. Avec 24 000 € de revenu attribué à 30 jours, le ROAS descriptif est de 4,8. Cela ne signifie pas 4,8 € de bénéfice par euro investi : coûts des ventes, frais marketing complets et causalité ne sont pas établis.
À propos de cet exemple : Exemple pédagogique fictif, construit pour expliquer les calculs. Il ne présente ni les données d’un client ni une promesse de performance marketing.
Accompagnement proportionné
Relier vos campagnes aux résultats suivis par les équipes
Je peux rapprocher les sources marketing et commerciales, clarifier les indicateurs et construire un reporting dont les écarts sont explicables. La mission peut porter sur la conception, la reprise d’un suivi existant ou la production régulière avec vos équipes.
Livrables possibles
- Cartographie des sources et règles d’attribution.
- Modèle des campagnes, prospects et résultats.
- Contrôles de doublons, périodes et montants.
- Tableau de bord et procédure de publication.
Limites et dépendances : L’attribution dépend des traces disponibles et des choix de mesure. Un tableau de bord ne prouve pas à lui seul l’effet causal d’une campagne et ne garantit pas de résultat commercial.
Questions fréquentes
Les points à clarifier avant de décider
Quels indicateurs marketing choisir en premier ?
Retenez ceux qui servent votre décision : dépenses, prospects utiles, qualification et résultat commercial. Ajoutez les clics ou impressions pour expliquer une étape, sans les confondre avec l’objectif final.
Pourquoi le CRM et les plateformes n’affichent-ils pas les mêmes conversions ?
Ils peuvent employer des identifiants, des événements, des périodes, des fuseaux et des règles d’attribution différents. Une même vente peut être revendiquée par plusieurs plateformes. Les écarts doivent être expliqués, pas supprimés artificiellement.
Un ROAS supérieur à un signifie-t-il que la campagne est rentable ?
Non. Il compare le revenu attribué à la dépense publicitaire retenue. La rentabilité dépend notamment des coûts de vente, des frais marketing complets, des annulations et de la marge.
Sources et vérification
Références utilisées
.
- Google Analytics Help — Paramètres d’attribution de Google Analytics — s’ouvre dans un nouvel ongletModèle, fenêtre d’attribution et portée des dimensions ; la convention de cohorte proposée dans le guide n’est pas un paramétrage GA4 imposé.
- Microsoft Support — Sommes Excel avec plusieurs conditions — s’ouvre dans un nouvel ongletRéférence de la fonction utilisée pour sélectionner les lignes du bilan marketing.
- Microsoft Learn — Clause GROUP BY dans Microsoft Access SQL — s’ouvre dans un nouvel ongletRéférence de la totalisation Access par canal.
- Streamlit — Éléments de restitution de données — s’ouvre dans un nouvel ongletCommandes de présentation des données et indicateurs dans une application Streamlit.
- Microsoft Learn — Fonction DIVIDE en DAX — s’ouvre dans un nouvel ongletCalcul des ratios à partir des totaux et gestion du dénominateur nul.