跳到内容
🛠️ToolsShed

UTM链接生成器

为Google Analytics广告系列跟踪构建UTM标记的URL。

快速预设

UTM URL

https://example.com/

关于此工具

UTM参数是数字营销分析的基础。这些附加到URL的特殊代码允许您精确追踪流量来源——无论是社交媒体、电子邮件通讯还是付费广告。当正确实施时,UTM标签将原始流量数据转化为可操作的洞察,展示哪些活动吸引最有价值的访客和转化。

手动构建UTM链接既繁琐又容易出错。此工具通过让您输入基础URL并填入所需字段来简化流程:源(流量来源)、媒介(频道类型)、活动(推广内容),以及可选的词条(付费搜索的关键词)和内容(用于区分一个活动中的多个链接)。一次点击即可生成格式正确的追踪URL,随处可分享——无需编码或特殊语法。

常见问题

代码实现

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.