Skip to content

Tracking UTM -- Configuration complete

Le tracking UTM est la piece maitresse de l'attribution dans DURUM.ai. Sans lui, vos leads et ventes apparaissent dans le dashboard mais ne sont pas relies aux bonnes publicites. Ce guide vous accompagne etape par etape pour configurer le tracking, peu importe l'outil de formulaire que vous utilisez.


Pourquoi c'est indispensable

Quand un prospect clique sur une publicite Meta, l'URL de destination contient des parametres UTM qui identifient la campagne et l'annonce. Ces parametres sont la seule facon pour DURUM.ai de savoir quelle pub a genere quel lead.

Le probleme : ces parametres vivent dans l'URL. Si votre formulaire ne les capture pas, l'information est perdue au moment ou le prospect soumet le formulaire. Le lead arrive dans DURUM.ai, mais il est impossible de le relier a la bonne publicite.

La solution repose sur trois couches complementaires qui se renforcent mutuellement.


Les trois couches de tracking

CoucheMethodeFiabiliteEffort
Script de trackingScript DURUM.ai sur vos landing pagesTres elevee1 ligne de code
Champs caches dans le formulaireHidden fields dans votre CRM/outil de formulaireMaximaleConfiguration manuelle
Enrichissement serveurDURUM.ai cherche les UTMs dans les sessions anterieuresElevee (fallback)Automatique

Recommandation

La combinaison des couches 1 et 2 donne une couverture quasi-parfaite. La couche 3 rattrape automatiquement les cas ou les deux premieres auraient echoue.


Etape 1 -- Parametres URL dans Meta Ads

Dans vos publicites Meta, ajoutez les parametres suivants dans le champ URL Parameters (au niveau de la publicite ou du compte). Copiez ce bloc tel quel :

utm_source=Meta&utm_medium=paid&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}&utm_campaign_id={{campaign.id}}&utm_ad_id={{ad.id}}&utm_adset_id={{adset.id}}

Les doubles accolades (campaign.name, ad.name, etc.) sont des macros Meta qui sont automatiquement remplacees par les vraies valeurs au moment du clic. Vous n'avez rien d'autre a faire de ce cote.

WARNING

Ne modifiez pas les noms des parametres (utm_source, utm_campaign, etc.). DURUM.ai s'attend a recevoir ces noms exacts. Changer utm_content en ad_name par exemple empecherait l'attribution.


Etape 2 -- Script de tracking DURUM.ai

Ajoutez cette ligne dans le <head> de chacune de vos landing pages. Remplacez VOTRE_CLE par votre client_key DURUM.ai.

html
<script src="https://app.durum.ai/api/track.js" data-client="VOTRE_CLE"></script>

Ce que fait le script

Le script est leger (moins de 5 Ko) et effectue automatiquement les operations suivantes :

  1. Capture les parametres UTM de l'URL au chargement de la page
  2. Stocke les valeurs dans un cookie (30 jours) pour couvrir les visites multi-pages
  3. Injecte les valeurs dans les champs caches de vos formulaires
  4. Detecte la soumission du formulaire et envoie les UTMs a DURUM.ai

Le script fonctionne avec tous les outils de formulaire : GHL, Typeform, Calendly, Jotform, Tally, WordPress, Webflow, ClickFunnels et tout formulaire HTML standard.

Detection intelligente

Le script detecte les soumissions de formulaire via six methodes differentes, ce qui lui permet de fonctionner meme avec les formulaires les plus exotiques :

  • Soumission HTML native (formulaires standard, GHL, WordPress)
  • Iframe Typeform (via postMessage)
  • Iframe Calendly (via postMessage)
  • Appels AJAX et fetch (formulaires SPA, React, Vue)
  • Pages de remerciement (detection par MutationObserver)
  • Changements d'URL (redirections SPA vers /merci, /thank-you)

Etape 3 -- Champs caches dans vos formulaires

Le script de tracking couvre la majorite des cas, mais ajouter des champs caches dans vos formulaires apporte une couche de securite supplementaire. C'est aussi la seule facon de garantir que votre CRM stocke les UTMs directement dans le contact.

Convention de nommage

Les noms de champs doivent etre exactement comme dans ce tableau. Respectez les minuscules et les underscores.

Nom du champDescriptionRequis
utm_sourceSource du trafic (Meta, Google, etc.)Oui
utm_mediumType de trafic (paid, organic, email)Oui
utm_campaignNom de la campagneOui
utm_contentNom de la publicite (ad)Oui
utm_termNom du groupe d'annonces (adset)Oui
utm_campaign_idID numerique de la campagne MetaRecommande
utm_ad_idID numerique de la publicite MetaRecommande
utm_adset_idID numerique du groupe d'annoncesRecommande

WARNING

Les noms de champs sont sensibles a la casse. UTM_Source ou utmSource ne seront pas reconnus. Utilisez toujours la version en minuscules avec underscore.


Configuration par plateforme

GoHighLevel (GHL)

  1. Allez dans Settings > Custom Fields > Contact
  2. Creez chaque champ du tableau ci-dessus comme Single Line Text
  3. Nommez chaque champ exactement comme dans le tableau (ex: utm_source)
  4. Dans votre formulaire ou page de capture, ajoutez ces champs en mode Hidden
  5. GHL supporte le pre-remplissage natif via les parametres URL : les champs nommes utm_source, utm_campaign, etc. sont automatiquement remplis depuis l'URL

TIP

Avec GHL, le script DURUM.ai et les custom fields sont complementaires. Le script remplit les champs caches au chargement de la page, et GHL les enregistre dans le contact au moment de la soumission.

Typeform

  1. Dans les parametres de votre formulaire, allez dans Hidden Fields
  2. Ajoutez les champs suivants : utm_source, utm_medium, utm_campaign, utm_content, utm_term, utm_campaign_id, utm_ad_id, utm_adset_id, client_key
  3. Typeform extrait automatiquement les valeurs depuis les parametres URL
  4. Definissez client_key avec votre cle client DURUM.ai

Calendly

Calendly capture automatiquement les parametres UTM standards (utm_source, utm_medium, utm_campaign, utm_content, utm_term) depuis l'URL de la page ou l'embed est place. Aucune configuration supplementaire n'est necessaire.

Le script DURUM.ai complete le tracking en capturant les identifiants Meta (utm_ad_id, utm_campaign_id) que Calendly ne supporte pas nativement.

Jotform

  1. Ajoutez des champs Hidden Field dans votre formulaire
  2. Definissez le Field Name avec le nom exact (ex: utm_source)
  3. Cochez Prepopulate et definissez le Query Parameter Name au meme nom

Tally

  1. Dans les reglages du formulaire, ajoutez des Hidden Fields
  2. Nommez chaque champ exactement comme dans le tableau
  3. Tally capture automatiquement les parametres URL correspondants

WordPress / Elementor

  1. Ajoutez des champs de type Hidden dans votre formulaire
  2. Definissez la Default Value comme URL Parameter et specifiez le nom (ex: utm_source)

Webflow

  1. Ajoutez des champs <input type="hidden"> dans votre formulaire
  2. Definissez l'attribut name avec le nom UTM exact
  3. Le script DURUM.ai remplira automatiquement ces champs

HTML personnalise

Si vous utilisez un formulaire HTML sur mesure, ajoutez ces champs caches entre les balises <form> :

html
<input type="hidden" name="utm_source">
<input type="hidden" name="utm_medium">
<input type="hidden" name="utm_campaign">
<input type="hidden" name="utm_content">
<input type="hidden" name="utm_term">
<input type="hidden" name="utm_campaign_id">
<input type="hidden" name="utm_ad_id">
<input type="hidden" name="utm_adset_id">
<input type="hidden" name="client_key" value="VOTRE_CLE">

Le script DURUM.ai injectera automatiquement les valeurs depuis le cookie UTM au chargement de la page.


Etape 4 -- Tester votre configuration

DURUM.ai fournit un endpoint de test pour verifier que vos UTMs sont correctement transmis.

Test via URL

Ouvrez cette URL dans votre navigateur en remplacant les valeurs :

https://app.durum.ai/api/webhook/test-utm?client_key=VOTRE_CLE&utm_source=Meta&utm_medium=paid&utm_campaign=test_campagne&utm_content=test_annonce&utm_term=test_adset

Test via webhook

Envoyez un webhook de test identique a ce que votre formulaire enverrait :

POST https://app.durum.ai/api/webhook/test-utm?client_key=VOTRE_CLE
Content-Type: application/json

{
  "email": "test@example.com",
  "utm_source": "Meta",
  "utm_medium": "paid",
  "utm_campaign": "campagne_test",
  "utm_content": "annonce_test",
  "utm_term": "adset_test"
}

Comprendre la reponse

La reponse contient un grade de A+ a F et un detail de ce qui a ete trouve :

GradeSignification
A+Tous les champs requis et recommandes sont presents
ATous les champs requis sont presents
BLa plupart des champs requis sont presents
CCertains champs requis sont manquants
D/FConfiguration incomplete, l'attribution sera limitee

La reponse indique aussi les champs manquants et les warnings eventuels pour corriger votre configuration.


Depannage

Mes leads arrivent mais ne sont pas attribues

  1. Verifiez que les parametres UTM sont presents dans l'URL de destination de vos publicites Meta
  2. Verifiez que le script DURUM.ai est bien installe sur la landing page
  3. Testez avec l'endpoint /api/webhook/test-utm pour voir quels champs sont recus
  4. Verifiez la convention de nommage des champs caches dans votre formulaire

Les UTMs contiennent des placeholders non resolus

Si vous voyez des valeurs comme campaign_name ou des accolades non resolues au lieu des vraies valeurs, cela signifie que les macros Meta n'ont pas ete resolues. Verifiez que les parametres UTM sont configures au bon niveau dans Meta Ads Manager (au niveau de la publicite, pas du compte).

Le script de tracking ne detecte pas la soumission

Certains formulaires tres customises peuvent echapper a la detection automatique. Dans ce cas, les champs caches dans le formulaire prennent le relais. Assurez-vous d'avoir configure les hidden fields comme explique dans la section de votre plateforme.

J'utilise un outil qui n'est pas liste

Le script DURUM.ai fonctionne avec tout formulaire HTML standard. Si votre outil genere un <form> standard ou utilise fetch/XMLHttpRequest pour soumettre les donnees, le tracking fonctionnera. En cas de doute, ajoutez les champs caches HTML et le script s'occupera du reste.


Resume

Pour une attribution complete dans DURUM.ai :

  1. Ajoutez les parametres UTM dans vos publicites Meta
  2. Installez le script de tracking sur vos landing pages (1 ligne)
  3. Ajoutez les champs caches dans vos formulaires (nommage exact requis)
  4. Testez avec l'endpoint de validation

Ces trois etapes garantissent que chaque lead, booking et vente sera correctement attribue a la publicite qui l'a genere.

Propulse par Durum Marketing