Skip to content
Learni
Voir tous les tutoriels
Publicité en Ligne

Comment lancer des campagnes Meta Ads en 2026

Read in English

Introduction

En 2026, Meta Ads (ex-Facebook et Instagram Ads) reste le levier publicitaire le plus puissant pour atteindre des milliards d'utilisateurs ciblés. Avec un ROI moyen de 4:1 pour les campagnes bien optimisées, maîtriser cette plateforme est essentiel pour les marketeurs et développeurs. Ce tutoriel intermédiaire vous guide pas à pas : de la configuration manuelle dans l'Ads Manager à l'automatisation via la Marketing API de Meta.

Pourquoi c'est crucial ? Les algorithmes Meta évoluent vers l'IA prédictive (Advantage+), rendant l'automatisation indispensable pour scaler. Nous couvrons l'interface intuitive pour les tests rapides et des scripts Node.js complets pour des déploiements production. Imaginez déployer 100 variantes d'ads en une commande, avec targeting dynamique basé sur vos données first-party. À la fin, vous lancerez une campagne complète, trackée et optimisée, prête à générer des leads qualifiés. (128 mots)

Prérequis

  • Compte Meta Business Manager vérifié (créez-en un sur business.facebook.com).
  • Pixel Meta installé sur votre site (via interface ou code).
  • Node.js 20+ et npm installés.
  • Connaissances de base en JavaScript et HTTP APIs.
  • Budget test : 50€ minimum par campagne.
  • App Meta Developers : créez-en une sur developers.facebook.com avec permission ads_management.

Installer le SDK Meta Business

terminal
mkdir meta-ads-api-project
cd meta-ads-api-project
npm init -y
npm install facebook-nodejs-business-sdk dotenv
mkdir src
 touch src/index.js .env

Ce script initialise un projet Node.js dédié et installe le SDK officiel facebook-nodejs-business-sdk pour interagir avec la Marketing API. dotenv gère les secrets comme l'access token. Évitez les installations globales pour l'isolation ; exécutez dans un dossier dédié pour scaler vers CI/CD.

Obtenir l'access token et configurer .env

Dans Meta for Developers, créez une app 'Business' et générez un System User Token avec scopes ads_management,ads_read. Notez :

  • APP_ID
  • ACCESS_TOKEN
  • AD_ACCOUNT_ID (format : act_123456789)
  • PIXEL_ID

Copiez dans .env (exemple ci-dessous). Dans Business Manager > Paramètres > Comptes publicitaires, vérifiez les permissions. Analogie : C'est comme une clé API Stripe – sans elle, pas d'accès aux fonds (ici, budgets ads).

Configurer les variables d'environnement

.env
APP_ID=your_app_id_here
ACCESS_TOKEN=EAA...long_lived_token_here
AD_ACCOUNT_ID=act_1234567890
PIXEL_ID=123456789012345
BUSINESS_ID=your_business_id
VERSION=v20.0

Ce fichier .env stocke les identifiants sensibles. Utilisez un token never-expiring via Graph API Explorer. Piège courant : token court (1h) qui expire en prod ; toujours tester avec curl avant scripting. Ajoutez .env à .gitignore pour la sécu.

Connexion et lecture du compte ads

src/test-connection.js
require('dotenv').config();
const AdsPixel = require('facebook-nodejs-business-sdk').AdsPixel;
const BusinessManager = require('facebook-nodejs-business-sdk').BusinessManager;

let ACCESS_TOKEN = process.env.ACCESS_TOKEN;
let APP_ID = process.env.APP_ID;
let AD_ACCOUNT_ID = process.env.AD_ACCOUNT_ID;
let API_VERSION = process.env.VERSION || 'v20.0';

const businessManager = new BusinessManager(APP_ID, ACCESS_TOKEN);
const adAccount = businessManager.getAdAccount(AD_ACCOUNT_ID);

(async () => {
  const campaigns = await adAccount.getCampaigns();
  console.log('Campagnes existantes:', campaigns.map(c => ({id: c.id(), name: c.name() })));
})();

console.log('Connexion OK à', AD_ACCOUNT_ID);

Ce script teste la connexion et liste les campagnes existantes. Il utilise BusinessManager pour l'auth. Lancez avec node src/test-connection.js. Si erreur 190 (token invalide), régénérez-le. Scalable pour des checks health en cron job.

Créer une campagne via Ads Manager (interface complémentaire)

Parallèlement à l'API, utilisez l'Ads Manager pour valider :

  1. Allez sur adsmanager.facebook.com.
  2. Cliquez Créer > Campagne.
  3. Objectif : Ventes ou Trafic.
  4. Advantage+ Campaign Budget activé pour IA auto.

Capture d'écran mentale : Budget quotidien 20€, durée 7 jours. Copiez l'ID généré pour l'API. Pourquoi hybride ? Interface pour prototypage rapide (5 min), API pour bulk (100+ campagnes).

Créer une campagne via API

src/create-campaign.js
require('dotenv').config();
const AdAccount = require('facebook-nodejs-business-sdk').AdAccount;

let ACCESS_TOKEN = process.env.ACCESS_TOKEN;
let APP_ID = process.env.APP_ID;
let AD_ACCOUNT_ID = process.env.AD_ACCOUNT_ID;

const adAccount = new AdAccount(AD_ACCOUNT_ID, process.env.ACCESS_TOKEN);

const campaignData = {
  name: 'Campagne Test API 2026',
  objective: 'CONVERSIONS',
  status: 'PAUSED',
  special_ad_categories: [],
  daily_budget: 2000000, // 20 en centimes
};

(async () => {
  const campaign = await adAccount.createCampaign([], campaignData);
  console.log('Nouvelle campagne ID:', campaign.id());
})();

Crée une campagne PAUSED (sûr pour tests) avec objectif conversions et budget 20€/jour. Budget en centimes (x100 000 pour micro-unités). Piège : Oublier PAUSED active immédiatement les dépenses. Utilisez cet ID pour adsets suivants.

Créer un adset avec targeting

src/create-adset.js
require('dotenv').config();
const Campaign = require('facebook-nodejs-business-sdk').Campaign;

let CAMPAIGN_ID = 'act_1234567890_campaign_id_from_previous'; // Remplacez
let AD_ACCOUNT_ID = process.env.AD_ACCOUNT_ID;

const campaign = new Campaign(CAMPAIGN_ID);

const adsetData = {
  name: 'Adset France 25-45 Ans',
  optimization_goal: 'CONVERSIONS',
  billing_event: 'IMPRESSIONS',
  bid_amount: 500, // 5€ CPC max
  daily_budget: 1000000, // 10€
  status: 'PAUSED',
  targeting: {
    geo_locations: {countries: ['FR']},
    age_min: 25,
    age_max: 45,
    genders: [2], // 1=Homme, 2=Femme
  },
  pixel: [process.env.PIXEL_ID],
};

(async () => {
  const adset = await campaign.createAdSet([], adsetData);
  console.log('Adset ID:', adset.id());
})();

Définit un adset avec targeting France 25-45 ans femmes, optimisé conversions. geo_locations est un objet nested. Budget en centimes. Testez narrow targeting pour ROAS >3. Erreur commune : Pixel ID manquant bloque le tracking.

Créer une créative et un ad

src/create-ad.js
require('dotenv').config();
const AdSet = require('facebook-nodejs-business-sdk').AdSet;

let ADSET_ID = 'adset_id_from_previous';
const adSet = new AdSet(ADSET_ID);

const adCreativeData = {
  name: 'Creative Test Image',
  object_story_spec: {
    page_id: 'your_page_id',
    link_data: {
      call_to_action: {type: 'SHOP_NOW', value: {link: 'https://your-site.com'}},
      link: 'https://your-site.com',
      message: 'Découvrez nos offres exclusives ! 🔥',
      image_hash: 'your_image_hash_from_upload',
    },
  },
};

const adData = {
  name: 'Ad Test 2026',
  adset_id: ADSET_ID,
  creative: {creative_id: 'creative_id_from_previous'},
  status: 'PAUSED',
};

(async () => {
  const creative = await adSet.createAdCreative([], adCreativeData);
  console.log('Creative ID:', creative.id());
  // Puis créez l'ad avec creative.id()
  // const ad = await adSet.createAd([], adData);
})();

Crée une créative avec image hash (upload via API ou interface d'abord) et lien CTA. object_story_spec pour formats dynamiques. Activez avec PUBLISH. Piège : Image hash invalide (utilisez /act_/adimages pour upload).

Lancer et monitorer la campagne

Dans Ads Manager, éditez les IDs et passez PAUSED à PUBLISH. Surveillez Events Manager pour pixel data. API pour insights : adset.read(['impressions', 'clicks']). Astuce : Activez Advantage+ Placements pour auto-optim IA.

Bonnes pratiques

  • Test A/B systématique : 3-5 créatives par adset, budget split 50/50.
  • Retargeting pixel : Créez audiences custom (visiteurs 7j) pour ROAS x2.
  • Budgets CBO : Campaign Budget Optimization pour IA Meta alloue dynamiquement.
  • Compliance RGPD : Ajoutez consent banner, évitez data sensible.
  • Scaling : Doublez budget si CPA < seuil après 50 conversions.

Erreurs courantes à éviter

  • Token expiré : Toujours utiliser System User Tokens never-expire.
  • Budget en unités erronées : Centimes oubliés = overspend x100.
  • Targeting trop large : >10M audience = gaspillage ; visez 1-5M.
  • Pas de pixel : Zéro tracking = optimisation nulle.

Pour aller plus loin

Maîtrisez l'IA Advantage+ et les audiences lookalike. Consultez la doc officielle Marketing API. Pour une formation experte, découvrez nos formations Learni sur le Growth Marketing.