Générateur de liens UTM
Les paramètres UTM sont des étiquettes ajoutées à une URL pour indiquer d’où vient un clic : une newsletter, un post sur les réseaux, une bannière. Cet outil assemble ces paramètres proprement — source, support, campagne — et vous rend un lien complet que vos statistiques sauront ventiler par origine.
Lancer gratuitement
Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.
À quoi servent les paramètres UTM
Sans étiquette, tous vos visiteurs se ressemblent : impossible de savoir si un achat vient de votre newsletter ou d’une publication. Les paramètres UTM changent cela. Ajoutés à la fin d’une adresse, ils passent l’information à votre outil de mesure d’audience, qui range alors les visites par source (newsletter, réseau social), par support (e-mail, bannière) et par campagne (soldes d’été). Vous voyez enfin quel canal travaille et lequel vous coûte pour rien.
Nommer sans se contredire
La force des UTM tient à la constance des noms. Si vous écrivez tantôt « Newsletter » tantôt « newsletter », votre outil compte deux sources distinctes et le tableau devient illisible. Fixez une règle simple — minuscules, pas d’accents, mots séparés par des tirets — et tenez-la sur toutes vos campagnes. L’outil encode correctement les caractères pour que le lien reste valide, mais la cohérence des libellés, elle, dépend de la convention que vous choisissez.
Gratuit et sans inscription
La construction du lien se fait dans votre navigateur : ni vos URL ni vos noms de campagne ne sont envoyés sur un serveur. C’est gratuit, illimité et sans inscription. Pour baliser des centaines de liens d’un coup, à partir d’un tableau de campagnes par exemple, la même fonction s’appelle par API et par d’autres canaux, à $0.002 la requête, en dollars US.
Cas d’usage
Newsletter
Studio Lumen SAS balise les liens de sa lettre mensuelle pour mesurer les ventes qu’elle génère vraiment.
Réseaux sociaux
Élodie Garnier distingue les clics venus de chaque plateforme grâce à une source UTM par réseau.
Bannière partenaire
Atelier Garnier SARL suit une bannière placée chez un partenaire pour juger si l’échange en vaut la peine.
Campagne saisonnière
Une boutique compare ses opérations de soldes d’une saison à l’autre via un nom de campagne cohérent.
Questions fréquentes
Qu’est-ce qu’un paramètre UTM, concrètement ?
Une étiquette ajoutée à la fin d’une URL — comme utm_source ou utm_campaign — qui indique à votre outil de mesure d’où vient le clic. Elle n’a aucun effet visible pour le visiteur.
Ces liens fonctionnent-ils avec les outils de statistiques ?
Oui. Les paramètres UTM sont le standard reconnu par les principaux outils de mesure d’audience, qui savent en tirer des rapports par source, support et campagne.
Pourquoi garder les mêmes noms partout ?
Parce qu’un outil de mesure distingue les majuscules et les variantes : « Email » et « email » deviennent deux sources. Une convention constante garde vos rapports lisibles.
Mes URL sont-elles envoyées quelque part ?
Non. Le lien est assemblé dans votre navigateur ; vos adresses et noms de campagne ne transitent par aucun serveur et ne sont pas conservés.
Est-ce gratuit ?
Oui, dans le navigateur : gratuit, illimité, sans inscription. Seule la génération en masse par API, pour baliser de longues listes de liens, est facturée à $0.002 la requête, en dollars US.
Les paramètres UTM ralentissent-ils la page ?
Non. Ce ne sont que des étiquettes ajoutées à l’adresse ; elles n’alourdissent pas le chargement et n’altèrent pas la page vers laquelle le lien pointe.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/dev/utm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/utm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/utm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/utm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/utm", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"items": [
"valor-1",
"valor-2"
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.utm",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |