Connecteur Meta Ads
Connectez Meta Ads (Facebook et Instagram) à Brevo via Tajo pour synchroniser les Custom Audiences, importer les événements de conversion via l’API Conversions, et relier la publicité social payante à l’automatisation marketing du cycle de vie.
Vue d’ensemble
| Propriété | Valeur |
|---|---|
| Plateforme | Meta Ads (Facebook, Instagram, Messenger, WhatsApp) |
| Catégorie | Marketing |
| Complexité de configuration | Avancée |
| Intégration officielle | Non |
| Données synchronisées | Audiences, Conversions, Campagnes, Leads |
| Compétences disponibles | 8 |
| Version API | v25.0 (Graph API) |
Fonctionnalités
- Synchronisation Custom Audience - Téléversez les listes de contacts Brevo en tant que Meta Custom Audiences
- API Conversions (CAPI) - Envoyez des événements de conversion côté serveur pour une attribution précise
- Synchronisation Lead Form - Importez directement les soumissions de Facebook Lead Ads dans les contacts Brevo
- Insights de campagnes - Récupérez les métriques de performance publicitaire dans les tableaux de bord Tajo
- Audiences Lookalike - Créez des Lookalike Audiences à partir de segments Brevo synchronisés
- Synchronisation de catalogues - Synchronisez les catalogues de produits pour les publicités de produits dynamiques
- Multi-plateforme - Une seule intégration couvre les publicités Facebook, Instagram, Messenger et WhatsApp
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un compte Meta Business Manager
- Une application Facebook avec accès à la Marketing API
- Un System User avec les permissions appropriées
- Un jeton d’accès avec les permissions
ads_managementetads_read - Un compte Brevo avec accès API
- Un compte Tajo avec identifiants API
Authentification
Jeton d’accès System User
Meta recommande d’utiliser les jetons System User pour les intégrations serveur à serveur. Ces jetons n’expirent pas.
# Permissions requises pour System Userads_managementads_readbusiness_managementleads_retrievalpages_read_engagementcatalog_managementAuthentification de niveau application
curl -G "https://graph.facebook.com/v25.0/act_AD_ACCOUNT_ID/campaigns" \ -d "access_token=SYSTEM_USER_ACCESS_TOKEN" \ -d "fields=name,status,objective"Configuration
Configuration de base
connectors: meta_ads: enabled: true app_id: "your-facebook-app-id" app_secret: "your-facebook-app-secret" access_token: "your-system-user-access-token" ad_account_id: "act_123456789" business_id: "987654321" pixel_id: "111222333444"
# Options de synchronisation des données sync: custom_audiences: true conversions_api: true lead_forms: true campaign_insights: true
# Version API api_version: "v25.0"Configuration Custom Audience
Synchronisez les listes Brevo vers les Meta Custom Audiences :
custom_audiences: enabled: true lists: - brevo_list_id: 5 audience_name: "All Customers" subtype: "CUSTOM" - brevo_list_id: 6 audience_name: "High LTV Customers" subtype: "CUSTOM" - brevo_list_id: 7 audience_name: "Recent Purchasers" subtype: "CUSTOM"
# Champs de correspondance match_keys: - EMAIL - PHONE - FN # Prénom - LN # Nom - CT # Ville - ST # État - ZIP - COUNTRY
schedule: "daily" sync_mode: "mirror"Configuration de l’API Conversions
conversions_api: enabled: true pixel_id: "111222333444" test_event_code: "" # Défini pour les tests, vidé en production
events: - brevo_event: "order_completed" meta_event: "Purchase" value_field: "revenue" currency_field: "currency" - brevo_event: "cart_updated" meta_event: "AddToCart" - brevo_event: "customer_created" meta_event: "Lead" - brevo_event: "page_viewed" meta_event: "ViewContent"Endpoints API
| Méthode | Endpoint | Description |
|---|---|---|
POST | /v25.0/act_{id}/customaudiences | Créer une Custom Audience |
POST | /v25.0/{audience_id}/users | Ajouter des utilisateurs à une Custom Audience |
DELETE | /v25.0/{audience_id}/users | Retirer des utilisateurs d’une Custom Audience |
POST | /v25.0/{pixel_id}/events | Envoyer des événements API Conversions |
GET | /v25.0/act_{id}/campaigns | Lister les campagnes |
GET | /v25.0/act_{id}/insights | Obtenir les insights de campagnes |
GET | /v25.0/{form_id}/leads | Récupérer les soumissions de lead forms |
POST | /v25.0/act_{id}/adcreatives | Créer des créatifs publicitaires |
GET | /v25.0/{catalog_id}/products | Lister les produits du catalogue |
Exemples de code
Initialiser le connecteur Meta Ads
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Connecter le compte Meta Adsawait tajo.connectors.connect('meta-ads', { appId: process.env.META_APP_ID, appSecret: process.env.META_APP_SECRET, accessToken: process.env.META_ACCESS_TOKEN, adAccountId: 'act_123456789', pixelId: '111222333444'});Envoyer des événements API Conversions
// Envoyer un événement d'achat via l'API Conversionsconst response = await fetch( `https://graph.facebook.com/v25.0/${PIXEL_ID}/events`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ data: [{ event_name: 'Purchase', event_time: Math.floor(Date.now() / 1000), action_source: 'website', user_data: { ph: [hashSHA256('+15551234567')], fn: [hashSHA256('jane')], ln: [hashSHA256('kim')], client_ip_address: '192.168.1.1', client_user_agent: 'Mozilla/5.0...', fbc: 'fb.1.1234567890.AbCdEfG', // Click ID fbp: 'fb.1.1234567890.987654321' // Browser ID }, custom_data: { value: 89.99, currency: 'USD', content_ids: ['SKU-001'], content_type: 'product' } }], access_token: process.env.META_ACCESS_TOKEN }) });Synchroniser une Custom Audience depuis une liste Brevo
// Téléverser une liste de contacts Brevo en tant que Meta Custom Audienceawait tajo.connectors.syncAudience('meta-ads', { brevoListId: 5, audienceName: 'High Value Customers', matchKeys: ['EMAIL', 'PHONE', 'FN', 'LN'], syncMode: 'mirror'});Récupérer les insights de campagnes
// Obtenir les métriques de performance des campagnesconst insights = await tajo.connectors.query('meta-ads', { resource: 'campaigns', fields: ['campaign_name', 'impressions', 'clicks', 'spend', 'actions', 'cost_per_action_type'], dateRange: { since: '2024-01-01', until: '2024-01-31' }, level: 'campaign'});Limites de taux
| Ressource | Limite | Détails |
|---|---|---|
| Marketing API | Par niveau | Basé sur le niveau d’accès de l’app et les dépenses |
| Téléversements Custom Audience | 700 requêtes/heure | Par compte publicitaire |
| API Conversions | 2 000 événements/sec | Par pixel |
| API Insights | 200 appels/heure | Par compte publicitaire |
| Récupération de leads | 200 appels/heure | Par page |
| Requêtes batch | 50 requêtes/batch | Par appel batch |
Vérification business requise
L’accès complet à la Marketing API nécessite une vérification business dans Meta Business Manager. Les applications non vérifiées sont limitées au mode développement avec des limites de taux restreintes.
Dépannage
| Problème | Cause | Solution |
|---|---|---|
OAuthException | Jeton expiré ou invalide | Régénérez le jeton d’accès System User |
| Faible taux de correspondance Custom Audience | Qualité des données médiocre | Hachez toutes les PII avec SHA-256, incluez plusieurs clés de correspondance |
| Conversions non attribuées | Paramètres fbc/fbp manquants | Transmettez le Facebook Click ID et Browser ID depuis les cookies |
RATE_LIMIT_REACHED | Trop d’appels API | Implémentez un backoff exponentiel, vérifiez le niveau d’accès API |
| Lead forms non synchronisés | Permission leads_retrieval manquante | Ajoutez la permission au System User |
| Événements en mode test | test_event_code toujours défini | Supprimez le code d’événement de test pour la production |
Bonnes pratiques
- Utilisez les jetons System User - Les System Users fournissent des jetons stables et non-expirables pour les intégrations serveur
- Hachez toutes les PII - Hachez SHA-256 toutes les informations personnellement identifiables avant envoi à Meta
- Envoyez CAPI et Pixel - Utilisez l’API Conversions et le Meta Pixel pour un suivi redondant avec déduplication
- Incluez les event IDs - Définissez
event_idsur les événements CAPI et Pixel pour permettre la déduplication - Transmettez
fbcetfbp- Incluez le Facebook Click ID et Browser ID pour une attribution maximale des conversions - Vérifiez votre business - Complétez la vérification business pour un accès API complet et des limites plus élevées
- Utilisez
test_event_code- Testez les événements API Conversions dans Events Manager avant la mise en production
Sécurité
- Jetons System User - Jetons d’authentification non personnels, liés au business
- Hachage SHA-256 - Toutes les PII hachées avant transmission aux serveurs Meta
- App Secret Proof - Couche optionnelle supplémentaire de sécurité d’authentification
- Périmètres business - Permissions liées à des comptes publicitaires et pages spécifiques
- Conformité Meta - Soumis aux Meta Platform Terms et politiques publicitaires
- Conditions de traitement des données - Les conditions de traitement des données de Meta s’appliquent pour les données UE