Une convention de nommage UTM est l'ensemble de règles qui décide comment votre équipe écrit les tags de campagne, pour que le même canal produise toujours la même chaîne. Cela importe car les valeurs UTM sont sensibles à la casse et en forme libre, ce qui signifie que rien n'empêche trois personnes de tagger le même canal comme facebook, Facebook et FB. Votre outil d'analytics traite alors ceux-ci comme trois sources séparées, et votre chiffre Facebook est faux à trois endroits à la fois.
C'est tout le problème en une phrase : les tags incohérents fragmentent les rapports. La solution n'est pas plus de discipline. La solution est une convention écrite plus un outil qui l'applique. L'ensemble de règles de base est court. Tout mettre en minuscules. Pas d'espaces, un seul délimiteur. Définissez un vocabulaire contrôlé pour utm_source et utm_medium pour que les gens choisissent dans une liste au lieu d'inventer des valeurs. Gardez les données personnelles hors de l'URL. Documentez-le une fois et verrouillez-le là où les liens sont créés. Le reste de cet article complète chaque règle, vous donne un tableau de taxonomie que vous pouvez copier, et couvre comment appliquer la convention pour qu'elle survive à une semaine de lancement chargée.
C'est le complément de gouvernance au guide de suivi UTM de bout en bout et au billet sur la fonctionnalité constructeur UTM. Ceux-ci couvrent le pipeline et l'outillage. Celui-ci porte sur les règles de nommage elles-mêmes.
Pourquoi une convention de nommage UTM est importante#
Ouvrez n'importe quelle propriété GA4 qui a exécuté des campagnes pendant un an sans gouvernance, et vous trouverez les mêmes décombres. La dimension source a facebook, Facebook, FB, fb, facebook.com et meta, qui sont tous le même canal. Le medium a email, Email, e-mail et newsletter qui se disputent la même idée. Chaque variante est sa propre ligne. Chaque ligne contient une tranche du trafic. Les additionner à nouveau est un après-midi manuel et source d'erreurs chaque fois que quelqu'un demande « comment s'est comporté Facebook ».
Le coût n'est pas seulement l'ordre. Les plateformes payantes lisent vos données de conversion pour optimiser les dépenses. Si la moitié de vos clics sociaux payants atterrissent sous utm_medium=social et l'autre moitié sous paid-social, le regroupement de canaux par défaut de GA4 en classe certains comme organiques, vos rapports payants sous-rapportent, et la question financière « pourquoi les dépenses payantes n'apparaissent-elles pas dans les revenus attribués » n'a pas de réponse propre. Nous approfondissons quels de ces chiffres faire confiance dans les analytics de liens courts : quoi mesurer vraiment.
Les paramètres UTM sont anciens. La convention vient d'Urchin, le produit d'analytics web que Google a acquis en 2005 et intégré dans ce qui est devenu Google Analytics. L'acronyme signifie toujours Urchin Tracking Module. Le script original __utm.js n'avait pas de couche de template ni de validation ; la règle a toujours été « tapez-le de manière cohérente », et l'outillage ne l'a jamais appliqué. Deux décennies plus tard, la plupart des équipes s'appuient encore sur la mémoire. C'est le manque qu'une convention comble.
Les cinq paramètres UTM et ce que chacun doit contenir#
Il y a cinq paramètres. Trois sont effectivement requis pour un reporting propre ; deux sont optionnels et régulièrement mal utilisés. Bien comprendre la division du travail est la majeure partie de la bataille, car la plupart des dérives commencent par une confusion sur quelle valeur appartient où.
utm_source nomme d'où vient le clic : la plateforme spécifique, la publication ou le partenaire. google, newsletter, partner-acme. Il répond à « quelle propriété a envoyé ceci ».
utm_medium nomme comment il est arrivé là : la catégorie marketing. cpc, email, social, referral, affiliate. Il répond à « quel type de canal est-ce ». La source est le nom propre, le medium est la catégorie à laquelle il appartient.
utm_campaign nomme l'initiative dont fait partie le lien. spring-sale-2026, q3-product-launch. C'est la valeur sur laquelle vous découpez les rapports, donc son format compte le plus pour les expressions régulières en aval.
utm_content distingue les variantes dans une même campagne et source : le créatif, le placement, le bras A/B. hero-banner, carousel-v2, footer-link. Utilisez-le quand vous avez plus d'un lien pointant vers la même destination depuis la même campagne et avez besoin de les distinguer.
utm_term a été construit pour les mots-clés de recherche payante et il vaut mieux le conserver pour cela. Si vous ne faites pas de recherche payante, laissez-le nul plutôt que d'en faire une poubelle pour les métadonnées qui ne s'intègrent pas ailleurs.
L'erreur structurelle la plus courante est d'échanger source et medium. utm_source=cpc est faux car cpc est une catégorie, pas un endroit. utm_medium=google est faux car google est un endroit, pas une catégorie. Le bon appariement est utm_source=google, utm_medium=cpc. Décidez la règle une fois, écrivez-la à côté de chaque paramètre dans votre doc, et l'échange s'arrête.
Normes des paramètres UTM : casse, espaces et délimiteurs#
Trois règles de formatage éliminent la plupart des dérives, et les trois sont bon marché à appliquer une fois et coûteuses à ignorer.
Tout mettre en minuscules. GA4 traite Email et email comme des valeurs différentes, donc la dérive de capitalisation multiplie silencieusement vos canaux. Il n'y a aucune raison d'autoriser les majuscules dans une valeur UTM ; choisissez les minuscules et ne déviez jamais.
Pas d'espaces, jamais. Un espace dans une URL s'encode en %20, donc utm_campaign=vente printemps arrive dans vos rapports comme vente%20printemps, ce qui casse l'expression régulière de nom de campagne que les équipes utilisent pour regrouper les entonnoirs et semble cassé dans chaque tableau de bord. Remplacez les espaces à la source.
Un seul délimiteur, utilisé partout. Choisissez un tiret ou un underscore pour séparer les mots dans une valeur et engagez-vous dessus. Les mélanger vous donne spring-sale et spring_sale comme campagnes séparées, ce qui est le même problème de fragmentation avec un chapeau différent. Les tirets sont le choix courant car ils correspondent aux habitudes de slug d'URL et se lisent proprement : q3-launch-dach. Quel que soit votre choix, la règle est la cohérence, pas le caractère spécifique.
Ces normes s'alignent sur les propres recommandations UTM de Google, qui demandent aux équipes d'être cohérentes et d'utiliser les minuscules. Le conseil est correct. Ce que le Campaign URL Builder de Google ne fait pas, c'est appliquer quoi que ce soit, c'est pourquoi une convention sur papier dérive dès qu'une échéance arrive.
Vocabulaires contrôlés pour la source, le medium et la campagne#
Une convention de nommage qui dit « utilisez les minuscules et les tirets » laisse quand même quelqu'un inventer utm_source=the-newsletter quand la valeur convenue est newsletter. La solution est un vocabulaire contrôlé : une liste fixe de valeurs autorisées pour les paramètres où l'ensemble est connaissable à l'avance.
utm_medium devrait être un enum fermé. Les catégories marketing que vous utilisez sont dénombrables et stables. Une liste par défaut saine :
cpcpour la recherche payantepaid-socialpour les placements payants sur les plateformes socialessocialpour les réseaux sociaux organiquesemailpour les newsletters et les e-mails de cycle de viereferralpour les liens partenaires et de bouche à oreilleaffiliatepour le trafic de réseau d'affiliationdisplaypour les bannières et le programmatiqueqrpour les codes sur l'imprimé et l'emballage
Si une valeur n'est pas sur la liste, elle doit être rejetée, pas acceptée silencieusement. Cette seule règle tue la confusion social versus paid-social qui gâche le regroupement des canaux.
utm_source est semi-contrôlé. Pour les plateformes, ça devrait être un enum (instagram, linkedin, tiktok, youtube, facebook, x), car c'est là que vivent le pire la dérive de capitalisation et d'abréviation. Pour les partenaires et publications, liez-le à une vraie liste, vos comptes partenaires CRM ou votre plan média, pour qu'une source hors liste force une décision explicite plutôt qu'une supposition.
utm_campaign ne peut pas être un enum fermé car les campagnes sont créées constamment, mais il doit quand même suivre un modèle. Une forme utile est trimestre-theme-region : q3-launch-dach, q4-blackfriday-eu. Le modèle rend les campagnes triables et permet à une expression régulière de regrouper tout un trimestre ou une région en une expression.
Un vrai tableau de taxonomie UTM#
Voici une taxonomie que vous pouvez adapter aujourd'hui. Elle mappe chaque canal courant aux valeurs exactes que votre équipe doit produire, ce qui transforme une convention de texte en quelque chose qu'une personne peut suivre sous pression d'échéance.
| Canal | utm_source | utm_medium | Modèle utm_campaign | utm_content | utm_term |
|---|---|---|---|---|---|
| Newsletter | newsletter | email | trimestre-theme | variante-creative | nul |
| E-mail cycle de vie | lifecycle | email | nom-flux | id-etape | nul |
| Instagram organique | instagram | social | trimestre-theme | id-post | nul |
| Meta payant | facebook | paid-social | id-campagne | id-annonce | nul |
| Annonces recherche Google | google | cpc | id-campagne | id-annonce | {keyword} |
| Référence partenaire | partner-{nom} | referral | id-accord | placement | nul |
| Affilié | affiliate-{res} | affiliate | nom-programme | sub-id | nul |
| QR sur imprimé | print | qr | trimestre-support | placement | nul |
Les colonnes de modèle sont délibérées. utm_content porte l'identifiant de variante pour que vous puissiez comparer les créatifs dans une campagne ; pour les canaux payants, utilisez l'ID d'annonce natif de la plateforme plutôt qu'un label humain, car le label appartient au gestionnaire d'annonces et l'ID stable appartient à l'URL. Gardez utm_term nul à moins de faire de la recherche payante, où il contient le mot-clé correspondant.
Erreurs UTM courantes qui fragmentent les rapports#
Les modes d'échec se répètent dans chaque équipe que j'ai auditée. Nommer ceux ci-dessous et écrire le correctif à côté de chacun est la majorité de ce pour quoi un document de convention existe.
La dérive de capitalisation est la plus importante. Facebook, facebook et FB deviennent trois sources car les valeurs sont sensibles à la casse et sans contrainte. Le correctif est une transformation en minuscules appliquée au moment de l'assemblage et un enum qui ne contient pas FB.
Mettre le medium dans la source, ou la source dans le medium. utm_source=cpc et utm_medium=google inversent tous deux le modèle. Le correctif est le vocabulaire contrôlé plus la règle source-est-d'où, medium-est-comment écrite là où les gens peuvent la voir.
Espaces et délimiteurs mixtes dans utm_campaign. Vente Printemps 2026 DACH devient Vente%20Printemps%202026%20DACH, et spring-sale versus spring_sale divise une campagne en deux. Le correctif est une transformation de slug qui met en minuscules, remplace les espaces et normalise le délimiteur avant que la valeur ne soit jamais validée.
Données personnelles dans la chaîne de requête. Celui-ci est un problème de conformité, pas d'ordre. Une valeur UTM vit dans l'URL, qui est enregistrée par les serveurs web, se trouve dans l'historique du navigateur, est transmise dans les en-têtes de référent, et est fréquemment collée dans le chat en texte clair. Une adresse e-mail, un nom ou tout autre identifiant dans un champ utm_ est une donnée personnelle dans un endroit non protégé. Les lignes directrices du Comité européen de la protection des données sur la transparence et la minimisation des données pointent dans la même direction : ne collectez pas et n'exposez pas de données personnelles dont vous n'avez pas besoin, et une URL est l'un des pires endroits pour en garder. Gardez les UTMs pour les métadonnées de campagne. Si vous devez lier un clic à une personne, faites-le côté serveur contre un ID, pas dans un paramètre de requête. Le côté consentement de cela se trouve dans Consent Mode v2 pour le suivi.
utm_term comme fourre-tout. Sans règle, il collecte ce qui ne s'intègre pas ailleurs. Définissez à quoi il sert (mot-clé de recherche payante, nul sinon) et la tentation disparaît.
Appliquer des tags UTM cohérents avec des templates#
Une convention qui vit seulement dans un document dérive. Les gens oublient, les nouveaux embauchés ne la lisent jamais, et une échéance du vendredi bat les bonnes intentions. L'application doit passer dans l'outil qui assemble les liens, pour que les règles s'appliquent que quelqu'un s'en souvienne ou non.
Le modèle qui tient est un template d'espace de travail avec les vocabulaires contrôlés intégrés. Vous écrivez la convention une fois au niveau de l'espace de travail, définissez utm_medium comme un littéral quand il ne varie jamais (email pour le template newsletter), liez utm_source à un enum, et laissez des espaces réservés remplir le reste depuis le payload du lien. Un nouveau marketeur ne peut alors pas produire un utm_source mal formé, car le template rejette tout ce qui n'est pas sur la liste. Les transformations en minuscules et en slug s'appliquent automatiquement, donc la cohérence cesse de dépendre de la discipline par personne.
Un raccourcisseur qui possède l'étape d'assemblage peut faire trois choses qu'un formulaire autonome ne peut pas : détenir le template, valider chaque entrée contre lui, et refuser de valider un lien qui enfreint les règles. Quand Elido assemble le lien, la valeur résolue et la valeur finale sont toutes deux enregistrées, donc un remplacement par lien laisse une piste d'audit avec qui l'a changé et quand. La syntaxe complète du template, y compris les templates par canal et les chemins des espaces réservés, est dans le guide des templates UTM, et le cas plus large pour les marketeurs est sur la page de solutions marketeurs. Pour les analytics qui dépendent de cette hygiène, voir Elido analytics.
Le périmètre honnête : les templates corrigent l'hygiène de tagging et l'audit. Ils ne corrigent pas l'attribution cross-device ni le transfert côté serveur qui survit à Safari ITP, qui sont tous deux des problèmes séparés couverts dans le guide de bout en bout. Ce qu'ils corrigent est la chose qui casse silencieusement chaque rapport : le même canal qui arrive sous cinq noms différents.
Une convention et un template de feuille de calcul à copier-coller#
Si vous n'êtes pas encore prêt à déplacer l'assemblage dans un outil, commencez avec une convention écrite et une feuille de suivi. Les deux valent mieux que la mémoire, et ce sont les artefacts que vous donnez à un outil plus tard.
Le bloc de convention, assez court pour être collé dans un wiki d'équipe :
CONVENTION UTM (v1)
- Toutes les valeurs en minuscules. Pas d'exceptions.
- Mots séparés par des tirets. Pas d'espaces, pas d'underscores, pas d'autres délimiteurs.
- utm_source : d'où vient le clic. Enum pour les plateformes ; liste CRM pour les partenaires.
- utm_medium : comment il est arrivé. Enum fermé seulement :
cpc | paid-social | social | email | referral | affiliate | display | qr
- utm_campaign : trimestre-theme-region. ex. q3-launch-dach
- utm_content : id de variante (créatif, placement, id-annonce). Optionnel.
- utm_term : mot-clé de recherche payante uniquement. nul sinon.
- Ne jamais mettre de noms, e-mails ou autres données personnelles dans un UTM. Jamais.
Le template de feuille de calcul nécessite un onglet pour les vocabulaires contrôlés et un pour les liens. Structurez-le ainsi :
- Un onglet
vocabavec une colonne par paramètre contrôlé (source,medium), chacune contenant les valeurs approuvées. C'est la source de vérité unique vers laquelle pointent les règles de validation de données. - Un onglet
liensavec des colonnes pour l'URL de destination, chaque valeur UTM (validée contre l'ongletvocabpour qu'une faute de frappe soit rejetée à l'entrée), une colonne d'URL assemblée qui les concatène, et une colonne de notes en texte libre pour le contexte. - Une règle de validation de données sur les colonnes medium et source pour que les cellules n'acceptent que des valeurs de l'onglet
vocab. C'est ce qu'une feuille de calcul peut faire de plus proche de l'application.
Quand la feuille dépasse la saisie manuelle, les noms de colonnes se mappent directement sur les espaces réservés de template, et le même CSV s'importe directement dans un endpoint de création en masse. La convention que vous avez écrite le premier jour devient le schéma que l'outil applique au centième jour. La tarification des paliers qui incluent les templates d'espace de travail est sur la page de tarification.
Une convention de nommage est une infrastructure ennuyeuse, ce qui est exactement pourquoi elle est ignorée et exactement pourquoi l'ignorer coûte un trimestre de données propres. Écrivez les règles, verrouillez-les là où les liens sont créés, et vos rapports commencent à s'additionner à nouveau.
Sur le blog#
- Suivre les campagnes UTM de bout en bout sans CDP - le pipeline complet que cette convention alimente.
- Raccourcisseur de liens avec constructeur UTM - l'outillage qui applique les règles.
- Analytics de liens courts : quoi mesurer vraiment - lire les rapports une fois que les tags sont propres.
- Qu'est-ce qu'un raccourcisseur d'URL - les bases si vous partez de zéro.