Aller au contenu
🛠️ToolsShed

Constructeur UTM

Créez des URL avec des paramètres UTM pour le suivi des campagnes Google Analytics.

Présets rapides

UTM URL

https://example.com/

À propos de cet outil

Les paramètres UTM sont la base de l'analyse du marketing digital. Ces codes spéciaux ajoutés aux URLs vous permettent de suivre précisément d'où provient votre trafic—qu'il s'agisse d'une campagne sur les réseaux sociaux, d'une newsletter par email ou d'une publicité payante. Quand ils sont correctement implémentés, les balises UTM transforment les données de trafic brut en informations exploitables qui montrent quelles campagnes attirent les visiteurs et conversions les plus précieux.

Construire manuellement des liens UTM est fastidieux et sujet aux erreurs. Cet outil simplifie le processus en vous permettant de saisir votre URL de base et de remplir uniquement les champs dont vous avez besoin : source (d'où vient le trafic), medium (type de canal), campagne (ce que vous promouvez) et optionnellement terme (mots-clés pour la recherche payante) et contenu (pour différencier plusieurs liens dans une campagne). Un clic génère une URL de suivi correctement formatée prête à partager n'importe où—sans besoin de codage ou de syntaxe spéciale.

Questions Fréquentes

Implémentation du Code

from urllib.parse import urlencode, urlparse, parse_qs, urlunparse

def build_utm_url(base_url: str, source: str, medium: str, campaign: str,
                  term: str = "", content: str = "") -> str:
    """Append UTM parameters to a URL, preserving existing query params."""
    parsed = urlparse(base_url)
    existing_params = parse_qs(parsed.query, keep_blank_values=True)

    utm_params = {
        "utm_source":   source,
        "utm_medium":   medium,
        "utm_campaign": campaign,
    }
    if term:    utm_params["utm_term"]    = term
    if content: utm_params["utm_content"] = content

    # Merge (UTM params override existing ones with the same name)
    merged = {k: v[0] for k, v in existing_params.items()}
    merged.update(utm_params)

    new_query = urlencode(merged)
    return urlunparse(parsed._replace(query=new_query))

def parse_utm_url(url: str) -> dict:
    """Extract UTM parameters from a URL."""
    query = parse_qs(urlparse(url).query)
    keys = ["utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content"]
    return {k: query[k][0] for k in keys if k in query}

# Build a URL
url = build_utm_url(
    base_url  = "https://example.com/landing",
    source    = "newsletter",
    medium    = "email",
    campaign  = "spring-sale-2025",
    content   = "header-cta",
)
print("UTM URL:", url)

# Parse it back
print("Params: ", parse_utm_url(url))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.