Objectif
Extraire le bon rapport, suivre un arbre de décision structuré et remettre à l'utilisateur une liste classée des causes probables avec l'opération suivante spécifique à appeler pour la corriger. Aucune écriture — diagnostic uniquement.
Entrées à confirmer (lot)
- Nom du compte (substring) — requis.
- Cible — campagne / ensemble d'annonces / nom ou ID d'annonce — requis.
- Plage de dates — par défaut les 14 derniers jours ; si l'entité a moins de 14 jours, utiliser sa durée de vie.
- Fenêtre de comparaison (optionnel) — 14 jours précédents, pour la tendance.
- KPI principal — conversions / ROAS / CPA / CPL — requis si l'entité a un objectif de conversion.
Flux de travail
- Découvrir les ops. Pour Google Ads :
gads_select_accounts, gads_list_report_fields, gads_get_report, gads_get_account_history. Pour Meta : meta_ads_select_accounts, meta_ads_list_report_fields, meta_ads_get_report, meta_ads_get_account_history, meta_ads_get_adset_settings, meta_ads_get_campaign_settings.
- Inspecter avec
get_operation_inputs. Toujours appeler *_list_report_fields avant *_get_report — ne jamais deviner les noms de métriques/dimensions.
- Résoudre le compte avec correspondance substring.
- Extraire le rapport à la bonne granularité (campagne / ensemble d'annonces / annonce). Métriques requises :
- Dépenses, impressions, clics, CTR, CPC, conversions, taux de conversion, CPA / ROAS, fréquence (Meta), part d'impressions de recherche + perdue pour budget + perdue pour classement (Google Search).
- Extraire les paramètres/historique pour vérifier les modifications récentes qui auraient pu déclencher la baisse :
- Google :
gads_get_account_history filtré à cette campagne — chercher les changements de budget, commutations de stratégie d'enchères, changements de statut, modifications d'assets.
- Meta :
meta_ads_get_campaign_settings / meta_ads_get_adset_settings pour l'état actuel, meta_ads_get_account_history pour les modifications récentes.
- Suivre l'arbre de décision ci-dessous et classer les diagnostics correspondants par probabilité + impact.
- Présenter : 3 meilleurs diagnostics, preuves tirées des données, et l'opération suivante exacte à appeler (ou la commande slash correspondante). Ne pas exécuter d'opération d'écriture.
Arbre de décision
Branche A — Impressions basses / dépenses basses (entité ne livre pas)
| Signal |
Diagnostic |
Action suivante |
| Google : part d'impressions de recherche perdue pour budget > 20 % |
Limité par le budget |
Augmenter le budget quotidien ou utiliser /markifact:negative-keyword-sweep pour libérer les dépenses |
| Google : part d'impressions de recherche perdue pour classement > 30 % |
Enchère / Quality Score trop bas |
Augmenter l'enchère CPC (manuel) ou améliorer la pertinence des annonces (composantes Quality Score) |
Google : statut de campagne LIMITED (historique du compte) |
Éligibilité / politique / paiement / apprentissage |
Inspecter gads_get_account_history pour la cause ; router en fonction du sous-type |
Meta : statut d'ensemble d'annonces IN_REVIEW ou REJECTED |
Politique |
Vérifier le créatif par rapport aux politiques Meta ; remplacer le créatif |
| Meta : taille d'audience estimée < 500K et CBO activé |
Audience trop étroite + CBO l'a affamée |
Élargir l'audience ou passer à ABO avec budget fixe |
| Meta : > 4 ensembles d'annonces dans la même campagne avec CBO |
Chevauchement d'enchères, CBO concentrant les dépenses sur une seule |
Consolider les ensembles d'annonces ou les diviser en campagnes distinctes |
| Les deux : budget défini mais dépenses quotidiennes << budget |
Enchère trop basse pour l'enchère OU audience minuscule OU créatif non éligible |
Inspecter l'enchère + taille d'audience + statut du créatif |
Branche B — Dépenses normales, CTR bas
| Signal |
Diagnostic |
Action suivante |
| Meta : fréquence > 3,5 + CTR en baisse WoW |
Lassitude créative |
/markifact:rotate-creative |
Google : force de RSA Poor / Average |
Variété d'assets faible |
Ajouter plus de variété de titres, recréer RSA |
| CTR bien en dessous de la baseline du secteur (Search < 3 %, flux Meta < 0,8 %) et fréquence basse |
Mauvaise audience ou hook faible |
Affiner le ciblage ; essayer un nouvel angle créatif |
| CTR de recherche de marque < 5 % |
Concurrent enchérissant sur la marque ou copie d'annonce faible |
Vérifier gads_ads_transparency pour les concurrents ; renforcer la copie de marque / épingler le titre de marque |
Branche C — Bon CTR, taux de conversion bas
| Signal |
Diagnostic |
Action suivante |
| Taux de rebond élevé dans GA4 / temps sur la page court |
Décalage de landing page |
Envoyer une variante LP fraîche ; envisager /markifact:edit-meta-creative pour permuter l'URL |
| Événement de conversion déclenchant mais CVR < 0,5 % |
Friction LP / mauvaise offre / mauvaise intention d'audience |
Auditer l'entonnoir ; envisager un CTA plus doux avec gatekeeping |
| Conversion ne se déclenchant pas du tout dans les 7 derniers jours |
Pixel / tag cassé |
Meta : meta_ads_check_capi_health et meta_ads_get_pixel_stats ; Google : vérifier l'import d'action de conversion depuis GA4 |
| CVR mobile << CVR desktop |
Problème de LP mobile |
Corriger la LP mobile ; envisager un ajustement d'enchère par appareil |
Branche D — Bon CVR, conversions globales basses
| Signal |
Diagnostic |
Action suivante |
| Dépenses plafonnées (voir signaux Branche A) |
Gagnant limité par le budget |
Augmenter le budget progressivement (≤ 20 %/jour avec Smart Bidding) |
| Audience petite + saturée (fréquence Meta > 4) |
Audience épuisée |
Construire un lookalike à partir des convertisseurs ; élargir les intérêts |
| Performance forte uniquement les week-ends |
Désalignement de l'horaire |
Ajuster la programmation d'annonces / enchère par heure |
Branche E — Chute soudaine de performance
| Signal |
Diagnostic |
Action suivante |
| L'historique du compte montre un changement de stratégie d'enchères dans les 14 derniers jours |
Réinitialisation de la stratégie d'enchères, apprentissage |
Soit revenir en arrière, soit attendre 14 jours ; avertir à propos des changements futurs |
| Réduction de budget > 30 % récemment |
Apprentissage sous-financé |
Restaurer le budget ou accepter un apprentissage plus lent |
| Créatif remplacé récemment avec un changement majeur |
Réinitialisation d'apprentissage douce |
Attendre 7 jours avant de juger |
| Saisonnier / secteur entier |
Comparer à la tendance de catégorie |
Noter et passer ; pas un problème de configuration |
Règles spécifiques aux plates-formes que le modèle DOIT respecter
list_report_fields en premier. Les noms de champs diffèrent par plate-forme ; ne jamais deviner.
- Correspondance substring du nom du compte pour
select_accounts.
- La fréquence est un concept Meta — pas directement comparable sur Google.
- La part d'impressions de recherche est une métrique spécifique à Google Search ; PMax a la sienne (rapport search-categories).
- Ne pas proposer de changements qui doivent attendre. Si l'entité a moins de 7 jours ou a subi un changement majeur dans les 7 derniers jours, dire « encore en apprentissage, ne pas toucher ».
- Lecture seule. Cette commande n'appelle jamais une opération d'écriture. Recommander la bonne commande d'écriture à la place.
Sortie pour l'utilisateur
Diagnostics principaux pour <entité> :
1. <Diagnostic> — confiance : haute/moyenne
Preuves : <chiffres>
Suivant : exécuter /markifact:<commande> OU appeler <op_id>
2. ...
3. ...
Autres observations :
- ...
Terminer par : « Veux-tu que je fasse l'un de ceux-ci ? Je ne ferai aucune modification sans ton accord. »