diagnose-underperformer

Par markifact · markifact-mcp

Diagnostiquer pourquoi une campagne, un ensemble de publicités ou une annonce Google Ads ou Meta Ads est sous-performante, et prescrire la prochaine action concrète. À utiliser lorsque l'utilisateur dit quelque chose comme « pourquoi X ne convertit pas ? », « cette campagne gaspille de l'argent » ou « pourquoi mes impressions sont-elles si faibles ? ». Lecture seule — aucune modification n'est effectuée.

npx skills add https://github.com/markifact/markifact-mcp --skill diagnose-underperformer

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)

  1. Nom du compte (substring) — requis.
  2. Cible — campagne / ensemble d'annonces / nom ou ID d'annonce — requis.
  3. Plage de dates — par défaut les 14 derniers jours ; si l'entité a moins de 14 jours, utiliser sa durée de vie.
  4. Fenêtre de comparaison (optionnel) — 14 jours précédents, pour la tendance.
  5. KPI principal — conversions / ROAS / CPA / CPL — requis si l'entité a un objectif de conversion.

Flux de travail

  1. 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.
  2. Inspecter avec get_operation_inputs. Toujours appeler *_list_report_fields avant *_get_report — ne jamais deviner les noms de métriques/dimensions.
  3. Résoudre le compte avec correspondance substring.
  4. 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).
  5. 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.
  6. Suivre l'arbre de décision ci-dessous et classer les diagnostics correspondants par probabilité + impact.
  7. 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. »

Skills similaires