Deux façons de connecter Claude à Meta Ads. On a testé les deux en live sur les comptes Cardigan, recoupé les claims avec la doc Meta, et tranché : ce ne sont pas des substituts — ce sont des alliés.
Les deux sont complémentaires. Le flux naturel :
ads_get_errors par entitétestéads_insights_anomaly_signalads_get_opportunity_scoretestéads_insights_industry_benchmarktestéads_update_entitytestéads_create_ad_set — ciblage, budget, placementsads_create_ad — créée en PAUSED, JSON brutads_catalog_* — catalogues, sets, produits, SKUOui, mais sans filet de sécurité. L'outil ads_update_entity accepte n'importe quel champ en JSON — y compris le creative (texte, image, lien, CTA). Testé sur l'annonce 6359178671825 (d'Armes) : la structure du creative a été reconnue par l'API, rejetée uniquement parce que la page_id était fictive.
Le problème : il faut construire le payload complet soi-même, sans aide. Markifact guide l'opération en 4 étapes claires (récupérer → modifier → créer → remplacer), ce qui réduit beaucoup le risque d'erreur.
Autre limite découverte : impossible de supprimer via Meta MCP. En envoyant status: DELETED, Meta répond status_forced_to_paused: true et garde l'entité en PAUSED silencieusement.
Non — ni Markifact, ni Meta MCP. Tout ce qui est créé démarre en PAUSED. Quand on passe status: DRAFT dans une mise à jour, Meta répond status_forced_to_paused: true dans la réponse — il reconnaît le mot mais l'ignore complètement.
La seule façon de simuler un brouillon : créer une structure incomplète laissée en PAUSED (ex : campagne sans adset). Ce n'est pas un vrai DRAFT mais ça empêche la diffusion.
L'API Meta supporte ça — mais aucun des deux connecteurs ne guide l'opération de façon pratique.
Testé avec 3 approches différentes sur Meta MCP. L'une d'elles — degrees_of_freedom_spec, le vrai nom du champ pour les Advantage+ enhancements — a été reconnue par l'API (pas rejetée comme invalide), mais bloquée parce que le creative complet n'était pas fourni en même temps.
Markifact a exactement le même angle mort. Pour activer les overlays aujourd'hui, il faut construire le payload creative en entier manuellement — ce qui dépasse les capacités des deux connecteurs.
Non — l'ID est obligatoire pour cibler un product set spécifique. L'outil de listing des product sets ne propose aucun filtre par nom (paramètres : catalog_id, cursor, limit — pas de name).
Bonne nouvelle partielle : on peut trouver un catalogue par son nom (recherche par morceau de texte, insensible à la casse). Le workaround en 3 étapes : (1) trouver le catalogue par nom → (2) lister tous ses product sets → (3) repérer le bon dans la liste. Un peu laborieux mais faisable.
À noter : Markifact n'a aucun outil catalogue du tout — Meta MCP reste supérieur sur tout ce qui touche aux catalogues et produits, malgré cette limite.
is_ads_mcp_enabled: true — d'Armes, booxi, Boxxing, HOX académie, Equilibre, GRIS-Montréal, Atypic, Refuge Chez Doris, Joy Ride 20some, Je ne suis pas un robot. Les 64 autres ont is_ads_mcp_disabled_reason: « Ads MCP is gradually being rolled out ». À réévaluer mensuellement.
Markifact excelle pour l'exécution. Meta MCP pour le diagnostic. L'approche idéale : analyser avec Meta MCP, agir avec Markifact, mesurer avec les deux.