rotate-creative

Par markifact · markifact-mcp

Mettez en pause les publicités épuisées et déployez à leur place de nouvelles variantes créatives. Fonctionne sur Meta et Google Ads. À utiliser lorsque le CTR baisse, que la fréquence augmente, ou que l'utilisateur dit « la créa est fatiguée » / « on rafraîchit les pubs ». Démarre toujours les nouvelles variantes en pause.

npx skills add https://github.com/markifact/markifact-mcp --skill rotate-creative

Objectif

Identifier les créatifs qui ne performent plus, les mettre en pause, et lancer des variantes. Préserver l'apprentissage autant que possible. Toujours démarrer les nouvelles annonces en pause pour examen.

Entrées à confirmer (batch)

  1. Nom du compte (substring) — requis.
  2. Plateforme — Meta ou Google Ads (ou les deux, si l'utilisateur dit « toutes mes annonces ») — requis.
  3. Scope — campagne / ensemble de publicités / groupe d'annonces, ou « tous actifs » — requis.
  4. Fenêtre de lookback — 30 jours par défaut.
  5. Seuils de fatigue — valeurs par défaut ci-dessous ; autoriser les remplacements :
    • Meta : fréquence > 3,5 ET CTR a baissé > 25 % vs la période antérieure de même durée.
    • Google : impressions stagnantes ou en baisse > 20 % WoW avec CTR en baisse > 20 %, OU force de l'annonce RSA Poor / Average.
  6. Taille minimale d'échantillon avant mise en pause — ≥ 100 clics par défaut ET ≥ 7 jours de données. Refuser de mettre en pause quoi que ce soit en dessous de cela.
  7. Stratégie de variante — tweak (petit changement de copie/titre), angle (nouveau hook/bénéfice), ou format (ex. image → vidéo). angle par défaut.
  8. Nombre de variantes par annonce fatiguée — 2 par défaut.

Workflow

Chemin Meta

  1. Découvrir les opérations : meta_ads_select_accounts, meta_ads_list_ads, meta_ads_get_report, meta_ads_list_report_fields, meta_ads_update_ad_status, meta_ads_duplicate_ad, meta_ads_get_ad_creative, meta_ads_create_ad_creative, meta_ads_replace_ad_creative, meta_ads_create_single_image_ad / _carousel_ad / _video_ad / _flexible_ad.
  2. Inspecter.
  3. Résoudre le compte (substring).
  4. Extraire le rapport au niveau annonce pour le scope, période actuelle vs période antérieure de même durée. Champs requis : spend, impressions, clicks, CTR, conversions, frequency, ad_id, ad_name, adset_id, campaign_id.
  5. Appliquer les seuils → liste des annonces fatiguées. Éliminer tout ce qui est sous le plancher de taille d'échantillon.
  6. Pour chaque annonce fatiguée, construire une variante :
    • tweakmeta_ads_get_ad_creative → modifier le texte principal / titre → meta_ads_create_ad_creativemeta_ads_duplicate_ad (ou créer une nouvelle annonce dans le même ensemble de publicités avec le nouveau créatif) — démarrer EN PAUSE.
    • angle → générer un nouveau concept créatif (hook, bénéfice ou point douleur différent) → utiliser meta_ads_create_single_image_ad ou _video_ad (etc.) avec status=PAUSED dans le même ensemble de publicités.
    • format → appeler l'opération create du format correspondant avec le nouvel élément.
  7. Afficher à l'utilisateur un aperçu : chaque annonce fatiguée → ses variantes proposées, justification. Attendre l'approbation.
  8. Exécuter : a. Créer les variantes (EN PAUSE). b. Mettre en pause les originaux via meta_ads_update_ad_status.
  9. Confirmer les comptages.

Chemin Google

  1. Découvrir : gads_select_accounts, gads_get_report, gads_list_report_fields, gads_update_ad_status, gads_update_asset_status, gads_create_responsive_search_ad, gads_edit_responsive_search_ad, gads_create_responsive_display_ad, gads_create_demand_gen_*_ad.
  2. Inspecter.
  3. Résoudre le compte.
  4. Extraire le rapport annonce / élément à la bonne granularité. Pour Search, extraire au niveau annonce + performance des éléments. Pour PMax, extraire la performance des éléments du groupe d'éléments.
  5. Appliquer les seuils (éliminer les faibles échantillons). Pour les RSA Search, aussi signaler ceux avec une force d'annonce Poor / Average.
  6. Pour chaque RSA fatigué :
    • tweakgads_edit_responsive_search_ad est autorisé pour les ajouts d'éléments ; sinon créer un nouvel RSA via gads_create_responsive_search_ad dans le même groupe d'annonces.
    • angle → créer un nouvel RSA avec des angles de titre/description frais (bénéfice différent, hook différent, preuve différente).
    • Pour PMax : gads_update_asset_status pour mettre en pause les éléments peu performants, puis en ajouter de nouveaux via gads_create_headline_asset / _description_asset / _image_asset.
  7. Afficher à l'utilisateur les RSA / éléments proposés avant la création.
  8. Exécuter : a. Créer les nouvelles annonces (EN PAUSE). Pour les éléments PMax, ajouter comme ACTIVÉ mais le groupe d'éléments continue à tourner. b. Pour les anciennes annonces : mettre en pause via gads_update_ad_status une fois la variante nouvelle en place (ne pas mettre en pause tant que le remplacement n'existe pas).
  9. Confirmer.

Utiliser safe-write-operations pour chaque basculement de statut et chaque création. Regrouper en une approbation si possible.

Règles spécifiques à la plateforme que le modèle DOIT respecter

  • Plancher de taille d'échantillon. Ne jamais mettre en pause une annonce avec < 100 clics ou < 7 jours de données — trop bruyant.
  • Ne pas mettre en pause un gagnant parce que la fréquence est élevée s'il convertit toujours. La fréquence > 3,5 importe seulement si associée à un CTR déclinant ou une augmentation du CPA.
  • Meta : mettre en pause à l'intérieur d'un ensemble de publicités actif ne réinitialise PAS l'apprentissage. Supprimer ou retirer la seule annonce active de l'ensemble peut. Toujours créer la variante en premier, puis mettre en pause l'original.
  • Les carrousels Meta et les créatifs dynamiques paraissent « fatigués » à tort — Meta fait déjà tourner automatiquement les cartes. Pour le carrousel, regarder le CTR au niveau de la carte avant de décider.
  • RSA Google Search : gads_edit_responsive_search_ad est l'opération appropriée pour ajouter/échanger des éléments. Utiliser create-new seulement quand le changement est structurel (nouvelle URL, nouveau groupe d'annonces).
  • Les éléments PMax sont mis en pause individuellement avec gads_update_asset_status. Ne pas mettre en pause le groupe d'éléments entier — cela tue la campagne.
  • Ne pas livrer plus de 3 RSA actifs par groupe d'annonces. Au-delà, la diffusion se dilue et l'apprentissage ralentit.
  • Toujours démarrer les nouvelles variantes EN PAUSE sur Meta (pour que l'utilisateur les examine) ; les éléments PMax Google peuvent être ACTIVÉS puisqu'ils vivent à l'intérieur d'un groupe d'éléments actif.

Modes d'échec et récupérations

  • La création de variante échoue (créatif rejeté, pixel manquant, etc.) → ne pas mettre en pause l'original. Signaler l'échec et arrêter.
  • Toutes les annonces du scope sous le plancher d'échantillon → dire à l'utilisateur qu'il n'y a pas assez de données ; suggérer d'attendre ou d'élargir la fenêtre de lookback.
  • L'utilisateur demande de « tout mettre en pause si underperforming » sans une base de dépense concrète → repousser ; exiger un KPI principal et un seuil.

Résultat pour l'utilisateur

Aperçu avant exécution :

Annonce originale Performance Variante(s) proposée(s) Raison
Spring Promo Img 1 (123) freq 4,2, CTR -38 % WoW nouvelle annonce image : nouveau hook « ... » fatigue

Après exécution :

Statut Comptage
Variantes créées (EN PAUSE) <n>
Originaux en pause <n>
Ignorés (faible échantillon) <n>
Échoué <n>

Terminer par : « Examinez les variantes dans Ads Manager / Google Ads, puis dépausez les nouvelles. Revérifier dans 7 jours. »

Skills similaires