WhatsApp Ads Conversions API & Tracking 2026 : CAPI pour CTWA en pratique
SendSeven Team, Editorial Team
Diffuser des Click-to-WhatsApp Ads sans Conversions API laisse 20–40 % de précision de tracking sur la table. Ce guide technique montre la configuration CAPI, les quatre événements standard pour les CTWA, le mapping Click-ID, le hashage SHA-256 et les implications cookies.
TL;DR
La Meta Conversions API (CAPI) envoie les événements de conversion côté serveur directement à Meta — indépendamment des cookies navigateur et des bloqueurs de publicités. Pour les Click-to-WhatsApp Ads, la CAPI n'est pas une option, mais une obligation : comme la conversion (lead, rendez-vous, achat) se produit dans le chat WhatsApp et non dans le navigateur, le pixel classique ne peut pas la capturer. Quatre événements standard couvrent le tunnel CTWA : Lead, Schedule, AddToCart, Purchase. Les données personnelles doivent être hashées en SHA-256 avant envoi, et le Click-ID de l'annonce d'origine assure l'attribution correcte.
Cet article de tracking approfondit la section 9 (Conversions API) du guide pilier sur les Click-to-WhatsApp Ads & wa.me. Ceux qui ont déjà parcouru le guide de configuration CTWA en 7 étapes trouveront ici la couche de tracking technique correspondante.
Pourquoi le pixel seul ne suffit pas
Le Meta Pixel classique est un tracker JavaScript qui s'exécute dans le navigateur. Tant qu'il est correctement livré et que les cookies sont présents, il rapporte des événements (PageView, AddToCart, Purchase) à Meta. Ces dernières années, sa fiabilité s'est effondrée :
- App Tracking Transparency d'Apple (lancée avec iOS 14.5 en avril 2021) permet aux utilisateurs d'iPhone de refuser le tracking cross-app. Selon le marché et la cible, 60–75 % des utilisateurs iOS refusent le tracking — dans les pays à forte sensibilité à la vie privée comme la France, plutôt en haut de cette fourchette.
- Restrictions de confidentialité côté navigateur dans Safari (Intelligent Tracking Prevention) et Firefox bloquent complètement les cookies tiers.
- Bloqueurs de publicités (uBlock Origin, AdBlock Plus, Brave) bloquent les requêtes Pixel au niveau réseau côté serveur.
- iOS 17 et mises à jour ultérieures ont étendu la protection contre le tracking des liens et suppriment les paramètres de tracking des URL dans Mail et Messages.
Conséquence pratique : les implémentations purement pixel perdent typiquement 20–40 % des conversions normalement mesurables. Dans les audiences à forte proportion iOS (B2C premium, Tech), des pertes de 50 % et plus sont réalistes.
Pour les CTWA, la situation s'aggrave : la vraie conversion se passe dans le chat WhatsApp. Le pixel voit le clic sur l'annonce, mais ne voit pas si le lead a été qualifié, si un rendez-vous a été pris ou si un achat a été finalisé. Sans CAPI, l'algorithme Meta optimise sur les clics — pas sur les conversations qualifiées. Cela produit beaucoup de clics bon marché mais sans valeur.
Comment fonctionne la CAPI techniquement
La CAPI ne remplace pas le pixel, elle le complète. Le workflow en quatre étapes :
L'avantage : même si l'utilisateur bloque tous les trackers dans son navigateur ou a refusé ATT sur son iPhone — l'événement CAPI arrive intact de votre serveur à Meta. Tant que le Click-ID est conservé, Meta attribue correctement la conversion.
Quatre événements standard pour les tunnels CTWA
Meta dispose d'un vocabulaire officiel d'événements standard. Quatre d'entre eux couvrent pratiquement tous les parcours clients CTWA :
| Événement | Déclencheur dans le tunnel | Payload recommandé | Levier d'optimisation |
|---|---|---|---|
Lead | Bot a qualifié la demande ou premier contact humain | currency, value (valeur lead), content_name | L'algorithme optimise sur les leads qualifiés, pas seulement les clics |
Schedule | Rendez-vous pris via WhatsApp | currency, value (valeur RDV) | Précieux pour les entreprises de conseil (artisanat, santé, B2B) |
AddToCart | Produit concret demandé ou réservé dans le chat WhatsApp | currency, value, content_ids, num_items | Passerelle vers les tunnels e-commerce |
Purchase | Achat finalisé, paiement confirmé | currency, value (vrai chiffre d'affaires), content_ids, order_id | Métrique principale ROAS, source d'audience similaire pour futures campagnes |
Recommandation : commencer par Lead et Purchase — ce sont les deux événements minimaux. Schedule et AddToCart s'ajoutent dès que le tunnel est stable. Implémenter plus de quatre événements ne vaut généralement pas la peine pour la plupart des PME françaises.
Mapping Click-ID & Attribution
Pour que Meta associe la conversion côté serveur à l'annonce d'origine, l'événement CAPI a besoin d'un identifiant de clic. Pour les CTWA, Meta transmet cet identifiant lors du clic sur l'annonce à WhatsApp (paramètres internes comme fbclid ou identifiants CTWA spécifiques comme ctwa_clid).
Déroulement pratique :
- L'utilisateur clique sur l'annonce CTWA → Meta génère un Click-ID et le transmet à WhatsApp.
- WhatsApp relaie le Click-ID avec le premier message vers l'inbox de la plateforme.
- La plateforme stocke le Click-ID dans le profil du contact.
- Dès qu'une conversion se produit (ex. tag Lead dans l'inbox), la plateforme récupère le Click-ID stocké et l'envoie avec l'événement serveur à Meta.
- Meta retrouve l'annonce et crédite la conversion au compte de campagne.
Ceux qui utilisent une plateforme sans persistance du Click-ID perdent la majeure partie de l'attribution. Avec les webhooks SendSeven, vous recevez le ctwa_clid comme paramètre de référence lors du premier inbound — stockez-le vous-même dans le profil contact via l'Unified Inbox ou l'API REST.
Hashage SHA-256 des données utilisateur
Les données personnelles ne peuvent pas être envoyées en clair à Meta. La Conversions API exige obligatoirement le hashage — généralement avec l'algorithme SHA-256 — pour les champs suivants :
- Email (em) — avant le hashage : couper les espaces, convertir en minuscules
- Numéro de téléphone (ph) — en format E.164 sans le signe plus, chiffres seulement
- Prénom / Nom (fn / ln) — couper, mettre en minuscules, supprimer les caractères spéciaux
- Ville / État / Code postal — normaliser de même avant hashage
- ID externe (external_id) — votre identifiant utilisateur interne, également hashé
Meta compare les hashes avec ses propres données sans que des données en clair ne soient transmises ou stockées durablement. Du point de vue RGPD, le traitement reste soumis à obligation de mention — voir l'article CTWA & RGPD.
Exemple de payload d'événement
Un événement CAPI complet en JSON pour un événement Lead d'un tunnel CTWA :
POST https://graph.facebook.com/v19.0/<PIXEL_ID>/events
{
"data": [{
"event_name": "Lead",
"event_time": 1746091800,
"event_source_url": "https://wa.me/33601XXXXXXX",
"action_source": "business_messaging",
"messaging_channel": "whatsapp",
"user_data": {
"ph": ["a1b2c3d4..."], // hash SHA-256 du téléphone
"em": ["e5f6a7b8..."], // hash SHA-256 de l'email
"ctwa_clid": "ARDEr...", // Click-ID CTWA
"client_user_agent": "Mozilla/5.0..."
},
"custom_data": {
"currency": "EUR",
"value": 50.00, // Valeur du lead
"content_name": "Demande travaux carrelage"
}
}],
"access_token": "<ACCESS_TOKEN>"
}Champs importants :
action_source:business_messagingsignale que la conversion provient d'un canal de messageriemessaging_channel:whatsappprécise la plateformectwa_clid: le Click-ID de l'annonce CTWA d'origineevent_time: timestamp Unix en secondes, max. 7 jours dans le passé pour l'attribution
CAPI et bannière cookies
Les événements CAPI déclenchés par le navigateur (ex. après clic sur « Acheter » sur votre site) sont soumis au même obligation de consentement que le pixel — ils nécessitent le consentement marketing dans la bannière cookies.
Les événements purement côté serveur (ex. le tag Lead dans l'inbox WhatsApp déclenche un événement CAPI) sont différents : le déclencheur est une action commerciale délibérée, pas une action navigateur. Tant que vous avez une base juridique (généralement art. 6 §1 b ou f RGPD) et que la mention figure dans la politique de confidentialité, aucun consentement cookie supplémentaire n'est nécessaire.
En pratique : les événements CAPI CTWA fonctionnent typiquement en pur côté serveur — car le déclencheur est une action de plateforme, pas un clic navigateur. C'est l'un des parcours de tracking les plus propres du point de vue RGPD.
Connecter CAPI avec SendSeven — via Webhooks + API REST
SendSeven n'a actuellement pas d'intégration CAPI avec interface graphique. Ceux qui veulent renvoyer des événements CAPI du tunnel WhatsApp à Meta construisent cela avec les briques développeur disponibles — les webhooks et l'API REST fournissent tout le nécessaire. Quatre étapes :
- Configurer un webhook dans SendSeven. Enregistrer un endpoint qui envoie un payload à votre serveur lors d'un changement de statut de conversation ou d'un message entrant. Guide de configuration dans le guide webhooks.
- Construire le handler serveur. Votre serveur reçoit l'événement webhook, extrait l'ID de conversation, l'ID de contact et les informations de statut. Si besoin, des appels API REST supplémentaires vers SendSeven pour lire les données du contact (email, numéro de téléphone).
- Assembler le payload CAPI. Hasher les données utilisateur en SHA-256, récupérer le Click-ID dans le profil contact (voir paragraphe suivant), compléter avec
event_name+custom_dataavec valeur de chiffre d'affaires. - HTTPS POST vers l'API Graph Meta :
graph.facebook.com/v<version>/<PIXEL_ID>/eventsavec votre token d'accès système.
Persistance du Click-ID à construire vous-même : l'API WhatsApp Business fournit le ctwa_clid comme paramètre de référence lors du premier inbound depuis une annonce CTWA — stockez-le dans le profil contact dès réception. Le hashage SHA-256 est réalisé par toute bibliothèque crypto standard dans votre langage (Python hashlib, Node crypto, PHP hash) en une ligne.
CTWA + CAPI avec SendSeven
Webhooks et API REST pour votre propre connexion CAPI. Hébergé dans l'UE.
Erreurs d'implémentation fréquentes
- Envoyer des données non hashées. Meta rejette silencieusement l'événement ou réduit le taux de correspondance à zéro. Toujours SHA-256 avant l'envoi.
- Ne pas persister le Click-ID. Ceux qui ne stockent pas le
ctwa_cliddans le profil contact perdent l'attribution — même si l'événement est correctement envoyé. - Double tracking sans déduplication. Si pixel et CAPI envoient tous les deux le même événement sans
event_idpour la déduplication, Meta double le compte des conversions. - Événements de test en tracking de production. Les événements de test oubliés s'accumulent et faussent les données d'optimisation. Garder strictement les événements de test en mode test.
- Mauvais
action_source. Les événements CTWA nécessitentbusiness_messaging, paswebsite. Sinon Meta rate la logique d'attribution. - Event_time de plus de 7 jours. Meta n'accepte pas les événements avec un timestamp de plus de sept jours. Vérifier le workflow pour les qualifications de leads retardées.
- Plateforme sans journal d'audit. Ceux qui ne journalisent pas quel événement a été envoyé quand et avec quel payload ne peuvent pas déboguer les problèmes de taux de correspondance.
FAQ
Ai-je besoin de CAPI même si j'exploite seulement le Free Entry Point de 72 h ?
Oui — même dans ce cas, la CAPI est le seul moyen de signaler à Meta qu'une conversation a abouti à une vraie conversion. Sans CAPI, Meta voit seulement le clic et optimise l'algorithme sur les clics, pas sur les résultats commerciaux.
Quel taux de correspondance est normal pour CAPI sur les CTWA ?
Dans les configurations bien configurées, les taux de correspondance se situent à 85–95 % selon Meta Events Manager Diagnostics — nettement plus élevés qu'avec le pixel seul (60–75 %). La raison principale : le numéro de téléphone et le Click-ID sont des clés de correspondance très stables.
Comment connecter CAPI à un workflow CRM en aval ?
Idéalement, un changement de statut CRM (ex. de « Lead » à « Client ») déclenche l'événement CAPI. Avec les webhooks SendSeven, vous pouvez construire ce déclencheur vous-même — un événement de changement de statut du CRM (Salesforce, HubSpot, Pipedrive) déclenche sur votre serveur le POST CAPI.
Que se passe-t-il si le Click-ID arrive après plus de 7 jours ?
Meta n'accepte pas l'événement pour l'attribution publicitaire. Il peut toutefois encore être utilisé comme signal d'audience (Custom Audiences, Lookalikes). Conséquence : les conversions survenant plus de sept jours après le clic sont perdues pour l'optimisation.
Est-il suffisant de tracker uniquement l'événement Lead ?
Pour une phase pilote oui. Dès que le tunnel est stable, trackez au minimum Lead + Purchase — avec la vraie valeur du chiffre d'affaires. C'est seulement alors que Meta peut optimiser sur le résultat commercial plutôt que sur le seul volume de leads.
Lectures complémentaires :