Attribution des clics publicitaires pour WhatsApp
Si vous diffusez des publicités Meta ou Google vers une page de votre propre site web, et que cette page contient un bouton WhatsApp, DM Champ peut vous indiquer de quel clic publicitaire provient chaque conversation WhatsApp. Il vous suffit d’insérer un petit script sur votre site web. Lorsqu’un visiteur appuie sur votre bouton WhatsApp, le clic est mémorisé et associé au premier message qu’il vous envoie. Le contact affiche ensuite la campagne dont il provient, et les données du clic sont transmises avec le contact vers les webhooks, l’API et, si vous le souhaitez, renvoyées vers Meta.
Cela fonctionne pour n’importe quelle page dotée d’un bouton WhatsApp : une page de destination, une page de réservation, une page tarifaire ou un questionnaire qui se termine par « Envoyer mes réponses sur WhatsApp ».
Cette page concerne les publicités qui envoient les utilisateurs vers votre site web en premier. Si vos publicités ouvrent directement WhatsApp (publicités « Click to WhatsApp » de Meta), cela est pris en charge automatiquement, sans script, dans Attribution des publicités Click-to-WhatsApp.
Configuration
- Allez dans Paramètres → Suivi des clics publicitaires (groupe Intégrations).
- Cliquez sur Activer et obtenir mon script. Votre compte obtient sa propre clé de site et un script d’une ligne.
- Copiez le script et collez-le juste avant la balise de fermeture
</body>sur chaque page contenant un bouton WhatsApp :
<script src="https://api.dmchamp.com/v1/ad-visit/YOUR_SITE_KEY.js" async></script>
- Facultatif : sous Numéro WhatsApp, saisissez le numéro vers lequel vos boutons renvoient. Seuls les liens vers ce numéro seront alors suivis. Laissez vide pour suivre tous les liens WhatsApp du site.
- Choisissez le libellé du numéro de demande (voir ci-dessous) et cliquez sur Enregistrer. Vous n’avez pas besoin de modifier le script sur votre site web après une modification des paramètres.
- Testez-le : ouvrez votre page à partir d’un lien contenant une balise de campagne, par exemple
https://yoursite.com/?utm_source=test&utm_campaign=setup-check, appuyez sur votre propre bouton WhatsApp et envoyez le message. Ouvrez ce contact dans Chats : le panneau de contact affiche Provient d’un clic publicitaire avec la campagne.
La clé de site est déjà incluse dans le script. Ce n’est pas un mot de passe, il n’y a donc aucun problème à ce qu’elle figure sur une page publique.
Agences : chaque compte client possède sa propre clé de site et son propre script, de sorte que le site web de chaque client rapporte les données dans son propre compte. Vous pouvez masquer la section pour un client via la visibilité du menu, comme pour toute autre section de paramètres.
Ce que fait le script
- Au chargement de la page, il conserve les identifiants de clic publicitaire et les balises de campagne (les paramètres
utm_) provenant de l’adresse de la page dans le stockage de session de l’onglet du navigateur, afin qu’ils soient toujours présents si le visiteur consulte une autre page au préalable. Il ne définit aucun cookie, ne charge rien d’autre et n’envoie rien. - Lorsque le visiteur appuie sur un lien WhatsApp (
wa.me,api.whatsapp.com/sendouwhatsapp://send), il ajoute le numéro de demande au message, enregistre la visite et laisse l’appui se poursuivre vers WhatsApp normalement.
Rien n’est envoyé à DM Champ avant l’appui.
Le numéro de demande
Un numéro court, semblable à la référence qu’une boutique ou une clinique vous donnerait, est ajouté au message WhatsApp du visiteur. C’est ainsi que DM Champ sait exactement quel clic publicitaire correspond à quelle conversation. Un message ressemble à ceci :
Hi, I would like to know more.
Enquiry no. 4827
- Libellé : « Réf. demande » est la valeur par défaut. Vous pouvez utiliser n’importe quelle ligne de texte qui semble naturelle pour votre entreprise, comme « Réf. réservation » ou « Réf ». Pas de chiffres.
- Emplacement : Sur sa propre dernière ligne (par défaut) ou À la fin du texte. La page des paramètres affiche un aperçu en direct.
- Longueur : 4 chiffres, ou 5 lorsque votre site est très fréquenté.
- Votre agent IA ne le voit jamais et ne le répète jamais. La boîte de réception affiche le message complet, numéro inclus.
Vous pouvez désactiver le numéro de demande. La correspondance ne fonctionne alors que sur le texte du message, de sorte que deux visiteurs envoyant exactement le même texte (par exemple les mêmes réponses à un quiz) ne peuvent pas être distingués, et certains clics ne seront pas mis en correspondance.
Votre propre code de quiz ou de bouton
Si votre page génère elle-même le message WhatsApp (un quiz qui insère les réponses dans le texte, ou votre propre code de bouton), ajoutez data-manual à la balise script :
<script src="https://api.dmchamp.com/v1/ad-visit/YOUR_SITE_KEY.js" data-manual async></script>
Avec data-manual, le script ne modifie plus les liens WhatsApp de lui-même. Votre propre code l’appelle juste avant l’ouverture de WhatsApp, afin que chaque visite soit enregistrée une seule fois :
window.ChatAttribution.text(finalText, number)renvoie votre texte avec le numéro de demande ajouté et enregistre la visite. Utilisez le texte renvoyé dans votre lien WhatsApp.window.ChatAttribution.link(finalText, number)fait de même et renvoie un lienwa.meprêt à l’emploi avec ce texte. Omettez le numéro pour utiliser celui défini sous Numéro WhatsApp dans les paramètres.
<script>
function sendAnswers(answers) {
var text = "Hi, my answers: " + answers.join(", ");
if (window.ChatAttribution) {
window.location.href = window.ChatAttribution.link(text, "+15551234567");
} else {
window.location.href = "https://wa.me/15551234567?text=" + encodeURIComponent(text);
}
}
</script>
La branche else permet au bouton de continuer à fonctionner si le script n’a pas été chargé, par exemple lorsqu’une extension de navigateur le bloque. Un texte qui contient déjà un numéro émis par le script n’est jamais modifié une seconde fois.
Ce qui est enregistré
Au moment du clic, l’enregistrement de la visite contient :
- les identifiants de clic publicitaire présents dans l’adresse de la page, tels que
fbclid(Meta) etgclid(Google) - les cookies
_fbcet_fbp, si votre propre pixel Meta les a définis sur votre site (le script les lit, il ne les définit jamais) - les balises de campagne (
utm_source,utm_medium,utm_campaign,utm_content,utm_term) - la page d’atterrissage, la page d’origine du visiteur, le navigateur et le texte du message
- l’adresse IP et l’heure, ajoutées par DM Champ lors de l’arrivée de la visite
Les enregistrements de visite sont conservés pendant 90 jours. Lorsqu’une visite est mise en correspondance, une copie de ses données de clic est stockée sur le contact et reste associée à celui-ci jusqu’à ce que vous la supprimiez.
Votre politique de confidentialité : le script s’exécute sur votre site web, votre politique de confidentialité doit donc le mentionner : ce qu’il enregistre (la liste ci-dessus) et le fait qu’il le fasse lorsqu’un visiteur appuie sur un bouton WhatsApp.
Comment fonctionne la mise en correspondance
Lorsque le premier message d’un contact arrive, DM Champ recherche une visite effectuée dans les 15 minutes précédentes :
- D’abord par numéro de demande. Un message contenant un numéro émis par le script est mis en correspondance avec cette visite.
- Sinon par texte identique. Un message ayant exactement le même texte qu’une visite est mis en correspondance avec celle-ci. Lorsque deux visiteurs différents envoient le même texte dans le créneau imparti, aucun n’est mis en correspondance, volontairement, afin qu’un contact ne soit jamais attribué à la mauvaise publicité.
Un message ultérieur contenant le numéro de demande est également mis en correspondance, tant que le contact n’a pas encore de correspondance.
Limites :
- La première correspondance l’emporte. Une fois qu’un contact a une correspondance, elle n’est jamais écrasée.
- WhatsApp uniquement : les canaux WhatsApp Business API et WhatsApp Web.
- 15 minutes : un visiteur qui appuie sur le bouton mais envoie le message beaucoup plus tard n’est pas mis en correspondance.
- Vers l’avenir uniquement : les contacts datant d’avant l’installation du script n’ont aucune correspondance.
Où le voir
- Panneau de contact : Provenant d’un clic sur une publicité avec la campagne ou la source et la date. Survolez pour voir les détails.
- Webhooks :
contact.ad_attributiondans les webhooks de tags d’agent et dans chaque événement d’abonnement webhook qui transporte un contact. - API :
ad_attributionsur la liste de contacts etadAttributionsur un contact unique, dans la section Contacts de la référence API. - Outils MCP : le même objet sur chaque contact qu’ils renvoient.
La valeur est null lorsque le contact n’a aucune correspondance.
| Champ | Ce que c’est |
|---|---|
visit_at |
Quand le visiteur a appuyé sur le bouton WhatsApp. |
matched_at |
Quand la visite a été mise en correspondance avec le contact. |
match_method |
reference (mis en correspondance par numéro de demande) ou text (mis en correspondance par texte de message identique). |
reference |
Le numéro de demande, ou null lorsqu’il était désactivé. |
fbc / fbp |
Le clic Meta et les cookies de navigateur de votre propre pixel Meta, s’ils sont présents. |
fbclid |
L’identifiant de clic publicitaire Meta provenant de l’adresse de la page. |
gclid / gbraid / wbraid |
Les identifiants de clic publicitaire Google provenant de l’adresse de la page. |
utm_source / utm_medium / utm_campaign / utm_content / utm_term |
Les tags de campagne provenant de l’adresse de la page. |
landing_url |
La page sur laquelle le visiteur a atterri. |
referrer |
La page d’où provient le visiteur. |
client_ip |
L’adresse IP du visiteur. |
user_agent |
Le navigateur du visiteur. |
site_key |
La clé de site du script qui a enregistré la visite. |
visit_id |
L’identifiant de l’enregistrement de visite. |
Envoyer les résultats à Meta (optionnel)
Vous pouvez laisser DM Champ rapporter les résultats à votre compte publicitaire Meta, afin que Meta apprenne quelles publicités génèrent de vrais prospects et ventes et les optimise en conséquence. Cela utilise vos propres détails de l’API Conversions de Meta.
- Dans le Gestionnaire d’événements Meta, trouvez l’identifiant de votre pixel (aussi appelé jeu de données) sous Sources de données, et créez un jeton d’accès sous Paramètres, API Conversions, Générer un jeton d’accès.
- Dans Paramètres → Suivi des clics publicitaires, sous Envoyer les résultats à Meta (optionnel), saisissez l’Identifiant du pixel / jeu de données et le Jeton d’accès. Lors des tests, vous pouvez ajouter le Code d’événement de test depuis l’onglet Événements de test de Meta ; effacez-le une fois terminé. Cliquez sur Enregistrer les détails Meta.
- Ouvrez l’éditeur d’agent, allez dans l’onglet Tags et ouvrez un tag. Sous Envoyer à Meta, choisissez l’événement : Lead, Contact, Schedule, Purchase ou un nom personnalisé. Ajoutez optionnellement une valeur et une devise.
À partir de là, chaque fois que ce tag est appliqué à un contact (par l’IA, manuellement, via l’API ou par une automatisation), DM Champ envoie l’événement à Meta avec les données de clic stockées du contact (fbc, fbp, adresse IP, navigateur, page d’atterrissage) ainsi que son téléphone, son e-mail et son nom, hachés, afin que Meta puisse les lier à la publicité. Un contact sans correspondance envoie tout de même l’événement, avec uniquement le téléphone, l’e-mail et le nom hachés.
- Pas de double comptage : chaque événement possède un identifiant fixe composé de l’identifiant du contact et du nom du tag. Si votre CRM envoie le même événement à Meta avec le même identifiant, Meta n’en conserve qu’un seul.
- Fenêtre d’attribution de Meta : Meta n’attribue un événement à une publicité que dans sa fenêtre d’attribution, qui est par défaut de 7 jours après le clic. Une affaire conclue des semaines plus tard ne sera pas comptabilisée seule, envoyez donc également un événement antérieur, par exemple un tag pour la consultation réservée ou payée.
FAQ
Cela fonctionne-t-il si ma publicité ouvre directement WhatsApp ? Ces publicités ne passent pas par votre site web, donc le script ne s’exécute jamais. Meta envoie les détails de la publicité avec le premier message à la place, voir Attribution des publicités Click-to-WhatsApp.
Le script ralentit-il mon site web ou définit-il des cookies ?
Il se charge en arrière-plan (async), ne définit aucun cookie et ne charge rien d’autre. Il n’envoie quelque chose que lorsqu’un visiteur appuie sur un bouton WhatsApp.
Puis-je suivre les publicités Google ainsi que les publicités Meta ?
Oui. Les identifiants de clic Google (gclid, gbraid, wbraid) et tous les tags de campagne sont enregistrés et affichés sur le contact. L’envoi des résultats est disponible uniquement pour Meta.
Pourquoi un contact n’a-t-il pas obtenu de correspondance ? Les raisons les plus courantes : le message est arrivé plus de 15 minutes après l’appui, le numéro de demande a été supprimé du message, le numéro de demande est désactivé et un autre visiteur a envoyé le même texte, ou la page ne contient pas le script.
Mon site web contient des liens vers deux numéros WhatsApp. Puis-je n’en suivre qu’un seul ? Oui. Saisissez ce numéro sous Numéro WhatsApp dans les paramètres. Laissez vide pour suivre tous les liens WhatsApp.
Puis-je modifier le libellé plus tard ? Oui. Les modifications s’appliquent immédiatement à votre site web ; vous n’avez pas besoin de coller à nouveau le script.