Connecter le MCP Meta Ads à Claude, extraire les données du compte niveau par niveau, puis auditer en 10 zones avec les seuils de nos audits et les angles morts du connecteur.
Couverture swanbase du guide Meta Ads MCP dans Claude, de la connexion à l'audit en 10 zones

Le Meta Ads MCP est le connecteur officiel de Meta pour brancher un compte publicitaire Facebook et Instagram à Claude. Vous l'ajoutez en quelques minutes, à l'adresse https://mcp.facebook.com/ads, et Claude lit ensuite le détail de vos campagnes, jusqu'aux créas et au pixel, sans export. Meta l'a ouvert en bêta le 29 avril 2026.

Entre avril et septembre 2026, nous avons produit six livrables Meta Ads sur des comptes réels, dont quatre audits complets, et nous les tirons de ce connecteur depuis juin. Le plus gros comptait 155 campagnes, dont 147 à zéro euro de dépense sur 90 jours. Nous avons aussi listé les données inaccessibles : en juin 2026, nos requêtes sur le ciblage des ad sets, leur événement d'optimisation et le réglage Advantage+ audience revenaient en erreur.

Ce guide suit notre méthode : connexion, extraction niveau par niveau, audit en 10 zones avec seuils chiffrés.

Séquence d'extraction d'un compte Meta Ads avec le MCP dans Claude : neuf appels, de ads_get_ad_accounts aux datasets

Qu'est-ce que le MCP Meta Ads ?

Le MCP (Model Context Protocol) est un standard ouvert qui permet à un assistant IA d'appeler des outils externes. Meta en publie un serveur pour sa régie publicitaire : Claude y appelle des outils nommés, avec des paramètres précis, et reçoit les données de votre compte. Vous le croiserez aussi sous le nom de MCP Facebook Ads, puisqu'il couvre Facebook et Instagram.

Le connecteur officiel de Meta

Meta présente le serveur MCP et une interface en ligne de commande dans son annonce des Meta ads AI connectors du 29 avril 2026. Pour le MCP, Meta précise qu'il ne faut ni identifiants développeur, ni configuration d'API, ni code. Une mise à jour du 16 juillet 2026 permet à toute personne en contrôle total d'un portefeuille business de régler ce que les agents IA ont le droit de faire sur le compte.

La documentation développeur du serveur MCP range les outils en sept familles : reporting ; création et gestion des pubs ; catalogues ; signaux et datasets ; aide ; tests A/B et études de lift ; historique d'activité.

Lecture et écriture : les droits de Claude

En lecture, Claude accède à la structure du compte, aux métriques à chaque niveau, aux créas (texte principal, titre, bouton, carrousels), aux audiences, aux pixels et à l'historique des changements.

En écriture, le catalogue contient aussi ads_create_campaign, ads_update_entity ou ads_activate_entity. Notre agent d'audit n'appelle que des outils de lecture : un budget modifié par erreur coûte de l'argent.

Comment connecter Meta Ads à Claude ?

Dans Claude (web ou desktop)

  1. Ouvrez les paramètres de Claude, rubrique Connecteurs.
  2. Ajoutez le connecteur Meta Ads, ou un connecteur personnalisé avec l'URL https://mcp.facebook.com/ads.
  3. Autorisez l'accès avec le compte Facebook qui gère vos comptes publicitaires.
  4. Ouvrez une conversation et demandez la liste de vos comptes publicitaires.

Sur notre machine, le connecteur ajouté sur claude.ai apparaît aussi dans Claude Code, avec le préfixe mcp__claude_ai_Meta_Ads__ devant chaque outil (ads_get_ad_accounts, ads_get_ad_entities...).

Dans Claude Code

Pour brancher Meta Ads à Claude Code, déclarez le serveur :

claude mcp add --transport http meta-ads https://mcp.facebook.com/ads

Lancez ensuite /mcp pour vous authentifier. Les outils Meta sont « différés » : Claude ne connaît que leur nom avant d'avoir chargé leur schéma. Notre agent commence donc par ce chargement :

ToolSearch(query="select:ads_get_ad_accounts,ads_get_ad_entities,ads_get_field_context,ads_get_creatives,ads_get_ad_account_custom_audiences,ads_get_custom_audience,ads_get_datasets")

Le protocole MCP suit les mêmes règles pour tous les serveurs ; notre guide Claude Code MCP détaille la configuration.

Vérifier l'accès avant la première question

Avant toute analyse, notre agent appelle ads_get_ad_accounts et lit deux champs pour le compte visé :

  • is_ads_mcp_enabled : faux, n'utilisez pas ce compte ;
  • is_queryable : faux, Claude ne peut pas appeler ads_get_ad_entities, et la réponse contient un not_queryable_reason à lire tel quel.

Des utilisateurs décrivent ce blocage sur les forums : connexion réussie, puis un refus de permission au niveau du compte.

Dernier piège : le connecteur s'authentifie dans une session interactive, et une tâche planifiée peut tourner sans lui. Notre règle : si les outils ne se chargent pas, on s'arrête et on le dit, sans repli silencieux sur d'autres données.

Comment extraire les données d'un compte Meta Ads ?

En avril, notre ancienne ligne de commande sortait tout le compte d'un coup (audit-export). Avec le MCP, vous faites une requête par niveau et vous fusionnez par identifiant.

La séquence en neuf appels

Notre agent enchaîne ces neuf appels :

  1. ads_get_ad_accounts : compte, devise, fuseau horaire, accès.
  2. ads_get_ad_entities avec level=campaign : structure et métriques des campagnes.
  3. ads_get_ad_entities avec level=adset : structure et métriques des ad sets.
  4. ads_get_ad_entities avec level=ad : publicités et creative_id.
  5. ads_get_ad_entities avec breakdowns=["age","gender"] : répartition démographique.
  6. ads_get_ad_entities avec breakdowns=["publisher_platform"] : répartition par plateforme.
  7. ads_get_creatives sur les creative_id collectés : textes, titres, boutons, cartes de carrousel.
  8. ads_get_ad_account_custom_audiences puis ads_get_custom_audience : inventaire et détail des audiences.
  9. ads_get_datasets, puis ads_get_dataset_quality et ads_get_dataset_stats : pixels, qualité du signal, volumes.

Les champs à demander à chaque niveau

Demandez les champs explicitement : sans liste, vous n'obtenez que id, name et amount_spent. Nos listes :

campaign : id,name,status,effective_status,objective,daily_budget,lifetime_budget,bid_strategy,buying_type
adset    : id,name,campaign_id,status,effective_status,optimization_goal,bid_strategy,daily_budget,lifetime_budget,attribution_setting
ad       : id,name,adset_id,status,effective_status,creative_id
métriques: amount_spent,impressions,reach,cpm,cpc,frequency,clicks,ctr,link_click,omni_purchase,omni_complete_registration,lead,purchase_roas,video_thruplay_watched_actions,3_second_video_plays

Comptez les entités actives avec effective_status. Sur un e-shop audité en juin, plusieurs ad sets affichaient ACTIVE sous une campagne en pause, avec un effective_status à CAMPAIGN_PAUSED.

Capture d'un livrable swanbase : liste de disponibilité des données d'une extraction Meta Ads MCP, champs lus et champs non exposés

Cinq pièges de format

  1. La période par défaut. Sans date_preset ni time_range, vous obtenez les 28 derniers jours. Fixez un time_range explicite et réutilisez-le à chaque appel, breakdowns compris, pour que vos chiffres se recoupent. Ne passez jamais les deux paramètres ensemble.
  2. Les noms de champs. La dépense s'appelle amount_spent, jamais spend. Les conversions arrivent en clés aplaties (omni_purchase, lead), et actions n'existe pas comme champ autonome. Au moindre refus, ads_get_field_context résout l'alias.
  3. Les valeurs en texte. Les métriques reviennent en chaînes formatées : "268,73 € (EUR)", "24 928" avec une espace fine, "2,01%". Normalisez avant tout calcul. Un 0 est une donnée ; la chaîne "Not available" signifie que la donnée manque.
  4. L'identifiant du compte. ads_get_ad_entities attend l'identifiant numérique, sans le préfixe act_.
  5. La limite de 1 000 entités par appel. Sur un gros compte, appelez deux fois, avec sort=amount_spent_descending puis amount_spent_ascending, et fusionnez par id. Sur le compte à 155 campagnes, notre agent a trié par dépense.

Les angles morts du MCP Meta Ads

Les tutoriels vidéo couvrent la connexion. L'audit se joue sur les champs que Claude n'obtient pas.

Ce que le Meta Ads MCP lit et ce qu'il refusait en juin 2026 : ciblage, promoted_object, Advantage+, avec le catalogue de champs d'octobre 2026

Ciblage, événement d'optimisation, Advantage+ : refusés en juin 2026

Nous l'avons testé sur un compte réel en juin 2026 : au niveau ad set, nos requêtes ads_get_ad_entities sur targeting, promoted_object, attribution_spec, pacing_type, destination_type, billing_event et bid_amount revenaient en erreur. Le réglage Advantage+ audience (targeting_automation) et les variantes de créas dynamiques (asset_feed_spec) manquaient aussi.

En avril, avec l'ancienne ligne de commande, notre audit d'un e-shop écrivait « Advantage Audience : OFF sur tous les ad sets » et listait les exclusions d'audience. En juin, sur le même compte via le MCP, la note de méthode signalait l'absence du ciblage détaillé des ad sets (intérêts, géo, placements, promoted object, flag Advantage+).

Trois zones d'audit perdent leur source directe : pixel et événement d'optimisation, ciblage, Advantage+.

Le catalogue de champs d'octobre 2026

Le 12 octobre 2026, la description de ads_get_ad_entities liste au niveau ad set targeting, promoted_object, attribution_spec, is_dynamic_creative, frequency_control_specs et learning_stage_info. Nous ne l'avons pas encore testé : vérifiez ces champs avec ads_get_field_context, puis gardez la règle ci-dessous en cas d'erreur.

Autre détail : 3_second_video_plays figure aux niveaux compte, campagne et ad set, et manque au niveau publicité, ce qui gêne le calcul du hook ratio pub par pub.

La règle « non évaluable »

Notre règle d'extraction : un champ absent de la réponse devient NOT_AVAILABLE via MCP, et Claude ne le déduit jamais du nom d'une campagne. Chaque zone d'audit se termine par une ligne « Non évaluable », par exemple : « configuration détaillée des événements personnalisés, Conversions API (CAPI), qualité du signal ».

Claude comble volontiers un trou avec une supposition plausible (c'est même sa spécialité). La ligne « Non évaluable » vous indique où vérifier dans le Gestionnaire de publicités.

URL de destination et fenêtre d'attribution

  • L'URL des posts. Pour les créas de type publication (vidéo ou post existant), le link_url manque. Pour comparer les trois landing pages d'un SaaS, nous avons raisonné par périodes et par noms de campagne, sans attribution au centime.
  • L'attribution. Le MCP ne permet pas de choisir la fenêtre d'attribution. Pour un plan CPA en septembre, nous sommes passés par la Graph API pour isoler les achats à 7 jours après clic : sur 30 jours, 8 achats sur 41 venaient de la seule vue à 1 jour.

Comment auditer un compte en 10 zones avec des seuils chiffrés ?

Notre agent applique dix zones, dans l'ordre d'impact. Chaque constat porte une sévérité et cite une donnée exacte du compte, sans ~.

Les 10 zones d'un audit Meta Ads avec Claude : contrôle, seuil chiffré et sévérité maximale de chaque zone

Zones 1 à 3 : structure, pixel, objectifs

  • Zone 1, structure du compte. Plus de 15 campagnes actives à faible dépense signale une dilution du budget. Plus de 10 ad sets actifs dans une campagne fragmente l'audience.
  • Zone 2, pixel et conversions. Dernier déclenchement au-delà de 3 jours : moyen. Au-delà de 7 jours : élevé. Au-delà de 7 jours avec des campagnes de conversion actives : critique. Plusieurs pixels sur un compte : signal fragmenté.
  • Zone 3, objectifs. Une campagne OUTCOME_LEADS doit optimiser un lead ou une inscription (COMPLETE_REGISTRATION). Si elle optimise des clics, ou un événement trop haut dans le tunnel, classez le constat en élevé.

Zones 4 à 6 : audiences, créas, budget

  • Zone 4, audiences. Audiences de retargeting non exclues de la prospection : critique. Audience de prospection sous 50 000 personnes : élevé. Rétention d'une audience sous 7 jours : élevé ; au-delà de 180 jours : moyen.
  • Zone 5, créas. Visez 3 à 6 publicités par ad set ; moins de 2 ou plus de 8 se signale. Pour la vidéo, le hook ratio (vues de 3 secondes divisées par impressions) est faible sous 20 %, moyen de 20 à 30 %, bon au-dessus de 30 %. Le hold rate (ThruPlay divisé par vues de 3 secondes) est faible sous 15 %, bon au-dessus de 25 %.
  • Zone 6, budget. Fréquence au-dessus de 3,0 en prospection ou de 10 en retargeting : élevé. Plus de 80 % de la dépense sur une seule campagne : élevé. Un ad set qui dépense moins de 30 % de son budget sous-diffuse.

Zones 7 à 10 : Advantage+, placements, landing pages, performance

  • Zone 7, Advantage+. Souvent non évaluable via le MCP. Signalez une campagne automatisée sans comparaison avec une structure contrôlée.
  • Zone 8, placements. Comparez dépense et résultats par plateforme. Un CTR anormalement haut sur Audience Network traduit souvent des clics accidentels : 17,84 % sur un de nos comptes.
  • Zone 9, landing pages. Une pub de trafic ou de conversion sans URL : critique. Pas de paramètres UTM : moyen.
  • Zone 10, performance. CTR du compte sous 0,5 % : élevé. Écart de coût par résultat de plus de 3 fois entre ad sets : moyen.

Classer la sévérité et noter la santé du compte

Sévérité Délai d'action Exemple
Critique le jour même pixel muet depuis 7 jours avec campagnes de conversion
Élevé sous une semaine fréquence de prospection au-dessus de 3,0
Moyen sous un mois pas d'UTM sur les URL
Faible backlog nommage incohérent

Pour la note de santé : un constat critique suffit à classer le compte « critique » ; trois élevés sans critique, « à risque » ; un ou deux élevés parmi des moyens, « correct » ; sinon, « sain ». Un quick win combine un impact élevé et moins de 30 minutes de travail dans le Gestionnaire.

Extraits de nos audits Meta Ads

Six livrables, d'avril à septembre 2026 : quatre audits complets, un comparatif de landing pages et un plan de réduction du coût par achat, sur deux SaaS et deux e-shops. Nous avons retiré les noms et gardé les chiffres exacts.

Un SaaS à 155 campagnes

Un SaaS pour créateurs, avec essai gratuit de 14 jours, a dépensé 70 003,36 € sur 90 jours. L'audit relève :

  • 155 campagnes au total, 5 actives d'après effective_status, 8 ayant dépensé sur la période, 147 à zéro euro ;
  • une seule campagne d'acquisition absorbait 40 008,16 €, soit 57,2 % de la dépense ;
  • deux ad sets de retargeting tournaient à une fréquence de 26,18 et 36,19 sur 90 jours, pour un repère sain de 3 à 8 ;
  • une campagne automatisée restait active à un ROAS de 0,15 ;
  • dix pixels sur le compte, dont certains muets depuis septembre 2024 ;
  • plusieurs audiences de visiteurs plafonnées à 20 personnes, trop petites pour diffuser.

Note du compte : à risque. Premier quick win, moins de 30 minutes d'effort : mettre en pause la campagne à 0,15 de ROAS.

Capture anonymisée du résumé exécutif d'un audit Meta Ads swanbase sur un SaaS à 155 campagnes : 57,2 % du budget sur une campagne, fréquences 26,18 et 36,19

Une analyse gratuite : 11 inscriptions dans le Gestionnaire, 41 au pixel

Un SaaS de services locaux proposait une analyse gratuite, sans carte bancaire, et a dépensé 220,72 $ sur 30 jours. L'audit relève :

  • 11 inscriptions attribuées dans le Gestionnaire, 41 reçues par le pixel sur la même période ;
  • une campagne affichait l'objectif OUTCOME_LEADS alors que son ad set optimisait les vues de landing page, avec un événement d'inscription pourtant actif sur le pixel ;
  • une vidéo absorbait 36 % du budget (80,20 $) à 0,82 % de CTR et 1 ThruPlay sur 19 374 impressions, pendant qu'une image à 16,96 % de CTR recevait 1,14 $.

Audit Meta Ads d'un SaaS à analyse gratuite : 11 inscriptions attribuées contre 41 au pixel, une vidéo à 36 % du budget, une image à 16,96 % de CTR

Un e-shop noté sain, avec deux alertes

Un e-shop alimentaire a dépensé 27 341,53 € sur 120 jours pour 1 518 achats, note « sain », avec deux alertes : une fréquence de compte à 3,85 et des ad sets actifs sous des campagnes en pause. Autre leçon, côté SaaS pour créateurs : une vidéo à 33,5 % de hook ratio plafonnait à un ROAS de 1,49 : un bon hook ne garantit pas la vente.

Le prompt d'audit à copier dans Claude

Notre agent démarre sur une phrase courte, parce que nous avons écrit la méthode dans ses fichiers (extraction, 10 zones, synthèse). Sans ces fichiers, collez cette consigne, qui reprend ses règles :

Audite le compte publicitaire Meta [ID numérique, sans act_] sur la période
du [AAAA-MM-JJ] au [AAAA-MM-JJ], en lecture seule.

1. Vérifie l'accès avec ads_get_ad_accounts (is_queryable, is_ads_mcp_enabled).
   Si un des deux est faux, arrête-toi et cite not_queryable_reason.
2. Utilise le même time_range pour chaque appel. Extrais campagnes, ad sets
   et pubs avec ads_get_ad_entities (un appel par niveau, champs explicites),
   puis les breakdowns âge/genre et publisher_platform, les créas
   (ads_get_creatives), les audiences et les datasets.
3. Normalise les valeurs ("268,73 € (EUR)", "2,01%"). "Not available" =
   NOT_AVAILABLE, jamais 0. Compte les entités actives avec effective_status.
4. Tout champ refusé ou absent (ciblage, promoted_object, Advantage+) est
   noté NOT_AVAILABLE via MCP. Ne déduis rien des noms de campagne.
5. Applique les 10 zones : structure, pixel, objectifs, audiences, créas,
   budget, Advantage+, placements, landing pages, performance. Seuils :
   pixel > 7 j avec campagnes conversion = critique ; fréquence > 3,0 en
   prospection = élevé ; hook ratio < 20 % = élevé ; > 80 % de la dépense
   sur une campagne = élevé ; CTR compte < 0,5 % = élevé.
6. Termine chaque zone par une ligne "Non évaluable".
7. Rends : note de santé, 3 à 5 constats chiffrés, 8 à 12 recommandations
   classées (reprise de budget d'abord), plan semaine 1 / semaines 2-4 /
   mois 2-3. Valeurs exactes, aucun "~".

Pour transformer cette consigne en skill réutilisable dans Claude Code, notre guide des skills Claude Code explique le format.

Vos premières pubs Meta pour un SaaS : quoi surveiller avec Claude

Nos deux audits SaaS relèvent des erreurs repérables dès le premier mois.

Arbre de décision : quel événement optimiser dans les pubs Meta d'un SaaS, de l'inscription à l'abonnement payant

Optimiser le bon événement

Sur le SaaS pour créateurs, la campagne principale optimisait l'inscription gratuite alors que la valeur venait de l'abonnement payant. Nous l'avons classé élevé : vous risquez d'acheter des inscriptions qui ne paient jamais. Sur le même compte, 927 « leads » côtoyaient 9 698 achats : l'événement lead ne suivait qu'une partie du parcours.

Trois contrôles à demander à Claude :

  1. Quel événement chaque ad set optimise (optimization_goal), comparé à l'objectif de la campagne.
  2. L'écart entre conversions attribuées et événements reçus par le pixel (ads_get_dataset_stats, 28 jours maximum, horodatage Unix en secondes).
  3. Le budget de test : sur l'e-shop, des ad sets à 14-16 € par jour restaient sous le seuil d'apprentissage. L'audit recommandait un budget qui permette au moins une conversion par jour estimée.

Notre plan CPA de septembre fixait une règle de coupe : coupez toute pub sans conversion au-delà de deux fois le coût par achat cible (60 € ici). Gardez la tête froide sur les petits volumes : à 10 à 16 conversions par semaine, 5 d'écart changeaient le coût par achat de 40 %.

Le contrôle du lundi

Nous lançons le reporting le lundi à 9 h, sur la semaine lundi-dimanche écoulée, et nous creusons toute variation de 25 % ou plus par rapport à la semaine précédente. Le plan CPA fixait quatre indicateurs à suivre chaque lundi, chacun avec une cible chiffrée.

En février 2026, notre automation hebdomadaire a généré trois rapports sans jamais les envoyer, faute de canal de livraison configuré. Testez la livraison de bout en bout dès la première semaine, et vérifiez qu'une tâche planifiée voit bien les outils Meta.

Pour situer Meta dans votre acquisition, lisez notre guide du growth marketing pour startup et le panorama des outils IA pour startup.

Un audit Meta Ads avec Claude vaut ce que valent ses lignes « Non évaluable ».

FAQ

Le MCP Meta Ads est-il gratuit ?

L'annonce de Meta du 29 avril 2026, qui ouvre la bêta, ne mentionne aucun tarif pour le connecteur. Pour l'utiliser, vous avez besoin d'un client compatible (Claude ou Claude Code) et d'un accès au compte publicitaire.

Claude peut-il modifier mes campagnes sans mon accord ?

Le connecteur contient des outils d'écriture, et Meta soumet certaines actions à votre confirmation. Depuis juillet 2026, un administrateur du portefeuille business peut aussi limiter les droits des agents. Pour un audit, restez en lecture seule.

Pourquoi Claude répond « MCP désactivé » ou « compte non interrogeable » ?

ads_get_ad_accounts contient deux indicateurs par compte, is_ads_mcp_enabled et is_queryable. Si l'un est faux, Claude ne lit pas les métriques. Le champ not_queryable_reason en donne la cause.

Peut-on connecter Meta Ads à ChatGPT de la même façon ?

Oui. Meta destine son serveur à tout agent compatible MCP, à la même adresse https://mcp.facebook.com/ads. Seule l'étape d'ajout du connecteur change. La méthode d'extraction et d'audit reste identique.

Combien de temps prend un audit complet ?

Pour notre plan CPA de septembre, l'agent a livré le diagnostic 13 minutes après une note vocale de 49 secondes, et le dossier complet en 57 minutes. Un compte à plusieurs centaines d'entités demande plus d'appels.

Le MCP remplace-t-il l'accès au Gestionnaire de publicités ?

Non. Via le MCP, vous ne voyez pas toute la configuration : ciblage détaillé, Conversions API, qualité visuelle des créas, cohérence entre pub et landing page. Vérifiez dans le Gestionnaire chaque ligne « Non évaluable » de l'audit.