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.

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)
- Ouvrez les paramètres de Claude, rubrique Connecteurs.
- Ajoutez le connecteur Meta Ads, ou un connecteur personnalisé avec l'URL
https://mcp.facebook.com/ads. - Autorisez l'accès avec le compte Facebook qui gère vos comptes publicitaires.
- 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 appelerads_get_ad_entities, et la réponse contient unnot_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 :
ads_get_ad_accounts: compte, devise, fuseau horaire, accès.ads_get_ad_entitiesaveclevel=campaign: structure et métriques des campagnes.ads_get_ad_entitiesaveclevel=adset: structure et métriques des ad sets.ads_get_ad_entitiesaveclevel=ad: publicités etcreative_id.ads_get_ad_entitiesavecbreakdowns=["age","gender"]: répartition démographique.ads_get_ad_entitiesavecbreakdowns=["publisher_platform"]: répartition par plateforme.ads_get_creativessur lescreative_idcollectés : textes, titres, boutons, cartes de carrousel.ads_get_ad_account_custom_audiencespuisads_get_custom_audience: inventaire et détail des audiences.ads_get_datasets, puisads_get_dataset_qualityetads_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.

Cinq pièges de format
- La période par défaut. Sans
date_presetnitime_range, vous obtenez les 28 derniers jours. Fixez untime_rangeexplicite et réutilisez-le à chaque appel, breakdowns compris, pour que vos chiffres se recoupent. Ne passez jamais les deux paramètres ensemble. - Les noms de champs. La dépense s'appelle
amount_spent, jamaisspend. Les conversions arrivent en clés aplaties (omni_purchase,lead), etactionsn'existe pas comme champ autonome. Au moindre refus,ads_get_field_contextrésout l'alias. - 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. Un0est une donnée ; la chaîne"Not available"signifie que la donnée manque. - L'identifiant du compte.
ads_get_ad_entitiesattend l'identifiant numérique, sans le préfixeact_. - La limite de 1 000 entités par appel. Sur un gros compte, appelez deux fois, avec
sort=amount_spent_descendingpuisamount_spent_ascending, et fusionnez parid. 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.

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_urlmanque. 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 ~.

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_LEADSdoit 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.

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_LEADSalors 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 $.

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.

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 :
- Quel événement chaque ad set optimise (
optimization_goal), comparé à l'objectif de la campagne. - 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). - 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.