Une agence te facture 2 000 à 3 000 € par mois pour gérer tes campagnes Facebook et Instagram, et tu ne vois jamais ce qu'elle fait de ton budget. Voici la marche à suivre pour construire ton propre outil : création de campagnes, ciblage, suivi du budget en temps réel, et les leads qui arrivent directement sur WhatsApp.
Ce que tu construis exactement
- Une interface où tu décris ta campagne en français, et elle est créée sur Meta
- Un tableau de bord qui affiche le budget dépensé, le coût par lead et les résultats du jour
- Un webhook qui pousse chaque lead Facebook sur ton WhatsApp en moins d'une minute
Trois briques : la Meta Marketing API (qui fait le travail), n8n (qui orchestre), et un générateur d'interface par IA (qui te fabrique le tableau de bord).
Étape 1 — Ouvrir l'accès à l'API Meta
Va sur developers.facebook.com, crée une application de type « Entreprise », puis ajoute le produit Marketing API. Il te faut ensuite trois identifiants :
- l'ID de ton compte publicitaire, au format
act_1234567890
- un jeton d'utilisateur système (Business Settings → Utilisateurs système → Générer un jeton), avec les permissions
ads_management, ads_read et leads_retrieval
- l'ID de ta page Facebook
Teste tout de suite que ton jeton fonctionne :
curl -G "https://graph.facebook.com/v21.0/act_TON_COMPTE/campaigns" \
-d "fields=name,status,daily_budget" \
-d "access_token=TON_JETON"
Étape 2 — Créer une campagne par API
Une campagne Meta se crée en trois appels : la campagne (l'objectif), l'ensemble de publicités (le budget et le ciblage), puis la publicité elle-même (le visuel). Voici les deux premiers :
# 1. La campagne — l'objectif
curl -X POST "https://graph.facebook.com/v21.0/act_TON_COMPTE/campaigns" \
-d "name=Leads Reunion Juillet" \
-d "objective=OUTCOME_LEADS" \
-d "status=PAUSED" \
-d "special_ad_categories=[]" \
-d "access_token=TON_JETON"
# 2. L'ensemble de pubs — budget + ciblage
curl -X POST "https://graph.facebook.com/v21.0/act_TON_COMPTE/adsets" \
-d "name=Reunion 25-55 ans" \
-d "campaign_id=ID_RENVOYE_A_L_ETAPE_1" \
-d "daily_budget=2000" \
-d "billing_event=IMPRESSIONS" \
-d "optimization_goal=LEAD_GENERATION" \
-d 'targeting={"geo_locations":{"countries":["RE"]},"age_min":25,"age_max":55}' \
-d "status=PAUSED" \
-d "access_token=TON_JETON"
Le budget est en centimes : daily_budget=2000 vaut 20 € par jour. Et tu crées toujours en PAUSED — tu actives à la main après relecture.
Piège vu en production
Une application Meta neuve n'a que l'accès « développement » : tes appels ne marchent que sur ton propre compte publicitaire. Pour gérer le compte d'un client, il faut demander l'accès avancé à ads_management et passer la revue de l'app — compte quelques jours. Commence sur ton compte à toi.
Étape 3 — Le suivi du budget en temps réel
Un seul endpoint te donne tout ce qu'une agence te facture en reporting mensuel :
curl -G "https://graph.facebook.com/v21.0/act_TON_COMPTE/insights" \
-d "fields=spend,impressions,clicks,cpc,actions,cost_per_action_type" \
-d "date_preset=today" \
-d "level=campaign" \
-d "access_token=TON_JETON"
Branche ça sur un n8n déclenché toutes les heures, stocke le résultat, et ton tableau de bord affiche la dépense réelle du jour et le coût par lead. Plus besoin d'attendre le rapport de fin de mois.
Étape 4 — Les leads envoyés sur WhatsApp
Dans n8n : un nœud Webhook abonné à l'événement leadgen de ta page, puis un appel qui récupère les champs du lead, puis un envoi WhatsApp.
# Récupérer les réponses du formulaire à partir de l'ID reçu
GET https://graph.facebook.com/v21.0/{leadgen_id}?access_token=TON_JETON
# Envoyer le lead sur ton WhatsApp (WhatsApp Cloud API)
POST https://graph.facebook.com/v21.0/{PHONE_NUMBER_ID}/messages
{
"messaging_product": "whatsapp",
"to": "262692XXXXXX",
"type": "text",
"text": { "body": "Nouveau lead : Marie D. — 0692 XX XX XX — Campagne Leads Reunion" }
}
Piège vu en production
L'abonnement au webhook leadgen ne suffit pas : il faut aussi abonner explicitement la page à ton application (POST /{page_id}/subscribed_apps). Sans ça, ton webhook est validé par Meta mais ne reçoit jamais aucun lead — et tu cherches le bug du mauvais côté pendant des heures.
Étape 5 — L'interface, générée par IA
Tu n'écris pas le tableau de bord : tu le décris. Colle ce prompt dans ton générateur d'interface (Claude, Lovable, v0 — n'importe lequel) :
Construis un tableau de bord de gestion de publicités Meta.
Écrans :
1. Liste des campagnes — nom, statut, budget/jour, dépensé aujourd'hui,
nombre de leads, coût par lead. Bouton pause/activer sur chaque ligne.
2. Création de campagne — formulaire : objectif, zone géographique,
tranche d'âge, budget quotidien, texte de l'annonce.
3. Leads — tableau des leads du jour avec nom, téléphone, campagne d'origine.
Les données viennent de mon API interne (endpoints REST /campaigns,
/insights, /leads). Fais un état de chargement et un état vide propres.
Style sobre, mode sombre, lisible sur mobile.
Ton interface appelle ton n8n, ton n8n appelle Meta. Tu contrôles la chaîne complète, et tu vois où part chaque euro.
Ce à quoi t'attendre
- Une après-midi pour la première campagne créée par API, en test, sur ton propre compte
- Le coût réel : ton budget publicitaire, plus quelques euros d'hébergement n8n — pas 3 000 € par mois
- Le vrai gain n'est pas le prix : c'est de voir la dépense en temps réel au lieu d'un rapport mensuel opaque
◈ Documentation Meta Marketing API