1次我运行一个适当的启动 - 一个WP管理员发布,邮件列表加上几个合作伙伴帖子加上一个产品狩猎推送 - 我在凌晨1点在电子表格中手工进行标记。两周后,我打开了分析报告,以找出哪个频道实际上已经工作,一半的流量坐在一个叫的桶里 未分配。不是"电子邮件",不是"推荐"未分配。链接有效。人们购买。我根本无法判断他们中的任何一个来自哪里。
原因小得令人尴尬,在我写的通讯链接上 utm_medium=Email 大写为 E。关于我写的合作伙伴链接 utm_medium=partner这听起来很明智,对 Google Analytics 来说毫无意义。在一批次上,我在 URL 已经带有 a 后粘贴了它 ?ref=hn 查询字符串,所以我的 ?utm_source= 开始第二个问号,整个事情在一些电子邮件客户端中崩溃了。
这些都不是分析问题,它们是字符串组装问题,字符串组装正是凌晨 1 点绝对不应该手工做的事情,这就是我构建的原因 中海外空建设者 进入 Toolz.dev:它将参数正确地组合在一起,标准化值,并且 - 我实际关心的部分 - 告诉您源/中对将登陆哪个 GA4 通道 之前 您发送电子邮件。
TL;博士: UTM 标记的 URL 是您的着陆页面加上一个带有查询字符串
utm_source、utm_medium並utm_campaign(有可选)utm_term、utm_content並utm_id)。来源是 点击声从哪里来,媒介是 这是什么样的营销。GA4从媒体构建其频道报告,它只识别一个固定的词汇 -cpc、organic、social、referral、affiliate、display还有一些。其他任何事情,包括非常诱人的utm_medium=facebook、在 Unassigned 下归档。保留每个值小写和连字符,从不标记内部链接,并让 中海外空建设者 组装字符串。
什么是UTM参数?
UTM参数是附加到一个URL上的普通查询-字符串键-值对,这个名字是一个化石:Urchin跟踪模块,来自Urchin软件,分析公司谷歌在2005年买下并变成了谷歌分析,参数在每次重写之后都幸存下来,这就是为什么为一个不再存在的产品设计的约定仍然是2026年竞选跟踪的通用语言 - 以及为什么Matomo,Plausible,Fathom,Adobe Analytics和每个电子邮件平台也读它们。
标记的 URL 看起来像这样:
https://toolz.dev/tools/utm-builder?utm_source=newsletter&utm_medium=email&utm_campaign=july-tool-roundup
Web服务器完全忽略查询字符串 - 页面渲染完全如同没有它。页面上的分析脚本将参数从地址栏中读出,将它们存储在会话中,您的报告会获得一行,告诉您此访问来自7月份的时事通讯。
常用参数有六个:
| 参数 | 它回答了什么 | 例子 | 需要吗? |
|---|---|---|---|
utm_source |
谁发送了点击 | newsletter、 producthunt、 github |
是的 - GA 不会将没有它的战役归因于它 |
utm_medium |
这是什么样的营销 | email、 cpc、 social、 referral |
实际上是的 - 没有媒介就意味着没有通道 |
utm_campaign |
它属于哪个活动 | july-tool-roundup、 black-friday-2026 |
有效是 - 否则报告显示"(未设置)" |
utm_term |
的付费关键字 | utm builder |
可选,仅限付费搜索 |
utm_content |
哪个变体或位置 | header-cta、 footer-link、 variant-b |
可选,对于 A/B 测试有用 |
utm_id |
广告平台上的广告系列 ID | q3-2026-001 |
可选,用于连接成本数据 |
人们错的区别在于来源与媒介,因此值得直言不讳。 Source是一个专有名词,中是一个范畴。 facebook 是来源。 social 是它所属的媒介。 newsletter 是来源; email 是它的媒介,如果你发现自己输入了一个品牌名称 utm_medium,你已经交换了它们。
为什么我的广告系列在 GA4 中显示为未分配?
这是最常见的标记失败,而且它几乎总是媒介。
GA4 不是从你的数据中发明通道,它有一组固定的 默认通道组- 直接,有机搜索,付费搜索,有机社交,付费社交,电子邮件,附属机构,推荐,显示,有机视频,付费其他和少数更多 - 它通过模式分配每个会话一个 - 匹配源和媒体的规则谷歌发布在其分析帮助文档的规则,例如,匹配源或媒体包含的会话 email。 有机社交的规则匹配一组社交媒介,例如 social、 social-network、 social-media 並 sm。付费搜索与公认的搜索源匹配 並 一种看起来付费的媒介-- cp*/ppc/paid* 家庭。
当没有匹配时,会话会结束 未分配。这不是您被警告的错误状态;这是一个安静的桶,您的营销活动会消失。
最终的经典方法是:
- 媒体中的品牌名称。
utm_medium=facebook不符合规则。你想要的utm_source=facebook&utm_medium=social。 - 一种发明的媒介。
utm_medium=partner、utm_medium=blog、utm_medium=newsletter-全部合理英语,全部频道规则看不见。用referral、referral、和email分别。 - 根本没有媒介。 仅包含一个 URL
utm_source为 GA 提供一个来源,但没有什么可以对其进行分类。 - 首都。
Email並email是不同的字符串,GA4是区分大小写的,有些通道规则写成区分大小写,你的一些报告不会,这意味着你的一个活动显示为两行,每行一半的数字。
UTM 生成器根据相同的规则形状检查源/介质对,并打印它期望的通道 - 电子邮件、付费搜索、有机社交、推荐、附属机构、显示或大声红色 未分配。这是一个两秒钟的检查,它会发现一个错误,否则只有在活动结束后,当数据已经错误并且无法回填时,您才会发现错误。
如何正确构建 UTM 链接?
从机械角度来说,四个决策和一个字符串。
1步:从干净的着陆页URL开始
使用规范的最终 URL - 您的网站实际服务的 URL https://的,前面没有重定向,这比听起来更重要,如果你标记 http://example.com/pricing 您的服务器 301 到 https://example.com/pricing,大多数服务器和CDN都保留查询字符串,但并非所有重定向规则都保留,并且用硬编码目标重写路径的规则将在之后默默地删除所有内容 ?。通过链接缩短器和电子邮件点击跟踪器重定向链条添加更多位置,以便发生这种情况。标记目的地,而不是垫脚石。
URL 已经有查询字符串的话 (?plan=pro)或一个片段(#features),保留它们。一个正确的构建器附加 &utm_source=… 而不是第二秒 ?并且离开 #fragment 在规格所指的最末端 - RFC 3986 将顺序定义为 scheme://authority/path?query#fragment并且放置在查询之前的片段不是片段,而是损坏的 URL。
第 2 步:填写源代码、介质、广告系列
把它们写下来,就好像一个陌生人会在六个月内读完报告一样,因为这就是发生的事情。 utm_campaign=july-tool-roundup 是一个你可以在一年后解码的名字。 utm_campaign=c3 是不是。
第 3 步:标准化值
Lowercase everything。替换空格 - 要么用连字符 (july-tool-roundup)或通过让编码器将它们变成 %20。两者都起作用;只有一个可以在报告中读取。这里不可选的百分比编码:根据RFC 3986,URL中的文字空间是非法的,虽然浏览器会在其上进行论文,但链接文本的电子邮件客户端和消息应用程序会愉快地截断空间处的链接,并向您的用户递交404。
4步:发货整个字符串
URL复制完毕,事后不要手编辑- 那就是第二个所在 ? 介绍一下。
对于具有十几个位置的启动,批处理模式一次性完成所有这些:粘贴 source,medium 每行一个,将活动名称在所有活动名称中共享,并将该集合作为 CSV 直接导出到您用于跟踪启动的任何表中。
团队应该商定哪些惯例?
UTM值是自由文本, 这意味着站在你和同一战役的三十种变体之间的唯一东西是每个人都遵循的惯例, 我们的规则长四条:
- 总是小写。 没有例外,没有判决。
- 连字符,而不是下划线或空格。
black-friday-2026。 - Medium来自一个固定的列表。
email、cpc、social、paid-social、organic、referral、affiliate、display、sms、qr。如果一个新的位置不适合其中之一,那么它几乎肯定是合适的referral。 - 活动名称带有日期或版本。
launch-v3-2026-07不是launch。您将再次运行相同的活动。
连字符规则具有超出 UTM 的第二个生命周期:它与管理可读 URL 路径的规则相同,这就是为什么 蛞蝓发生器 UTM Builder 以同样的方式规范文本。 Google 将连字符视为单词分隔符,将下划线视为连接器 - 这是 URL 的记录行为,并且将其一致地应用于活动名称无需花费任何费用。
如果您想严格执行,请将约定写入共享文档并放入 中海外空建设者 link at the top。dagging drift 大部分来自于有人通过复制一个旧的并在地址栏中编辑来构建链接。
UTM参数你永远不应该放在哪里?
关于内部链接。 这是最常因善意而被打破的规则。
Taging一个链接从你自己的博客文章到你自己的定价页面 - utm_source=blog&utm_medium=internal-感觉它会告诉你哪些帖子驱动定价视图,它在GA4中实际做的就是启动a 新 session与一个新的收购源。从你的时事通讯到达的访客, 阅读一篇文章, 点击进入定价现在归因于...你的博客。时事通讯's转换消失。你已经覆盖了你试图提出的问题的答案。
如果您想知道哪些内部链接被点击,那就是事件跟踪或点击链接报告的目的。 UTM 是为了边界 - 当有人从其他地方穿越到您的网站时。
另外两个地方要避开它们:
- 有机搜索结果。 您不控制这些 URL,如果您标记页面并且 Google 索引标记的变体,则您已创建副本。
- 您期望继续分享的任何内容。 发布到论坛的标记链接会被复制到 Slack、时事通讯、推文中,而这些访问中的每一个现在都声称来自原始活动。这并没有错,没错,但它会夸大一排,让其他排挨饿。
UTM 参数会损害 SEO 吗?
URL变体,他们创建URL变体,URL变体可以创建重复的内容- 但这是一个已解决的问题,解决方案是一行HTML。
每页都应带有 自引用规范标签 指向其干净的 URL:
<link rel="canonical" href="https://toolz.dev/tools/utm-builder" />
有了它, ?utm_source=newsletter 並 ?utm_source=x 裸露的 URL 全部合并为一个规范页面。搜索引擎索引干净的版本,排名信号累积在一个 URL 上,而不是在 20 个 URL 上碎片化,并且标记的变体不属于索引。 Google'自己关于规范化的文档明确表明,这就是规范的用途。
2个实用笔记,首先验证canonical其实在那,其实是自我参照- 数量惊人的主题在每个页面主页都发出一个canonical指向,比没有canonical根本差,你可以用the检查页面在发出什么 元标记生成器 作为正确头块外观的参考。其次,不要将 UTM 参数阻止在 robots.txt。阻止爬取不会从索引中删除 URL;它只是阻止 Google 看到可以解决重复的规范标签。 robots.txt 生成器 是用于控制爬行路径,而不是用于清理查询字符串。
UTM 如何与二维码和离线投放进行交互?
Campaign标签在这里赢得它的保留,因为离线根本没有推荐人海报,会议徽章,笔记本电脑上的贴纸,演讲的最后一张幻灯片 - 一个人扫描该二维码到达您的网站作为纯粹的直接流量,与输入URL的人没有区别。除非您标记了它。
URL 标记 之前 您生成代码:
https://toolz.dev/tools/utm-builder?utm_source=wordcamp-dhaka&utm_medium=qr&utm_campaign=talk-2026
然后将其输入 二维码生成器、两件事要看长网址做密集的二维码- 每个多出来的字符都把符号推到模块较多的更高版本,也就是说需要打印得更大或扫描得更近,标记的网址要保持在标记允许的短:drop utm_content 並 utm_term 除非您真正需要它们,否则请保持活动名称简洁。对于任何将被打印并可能被磨损的东西,使用高纠错级别,但代价是符号稍微密集一些。
同样的逻辑也适用于推荐人丢失的任何位置:PDF 文档、电子邮件签名、大声朗读的播客节目笔记、来自本机移动应用程序的应用内链接。
比较:六个参数的行为方式
| 参数 | GA4中的大小写敏感 | 影响频道分组 | 安全省略 | 的典型错误 |
|---|---|---|---|---|
utm_source |
是的 | 是(有媒介) | 否 | 使用中等值,例如 social 为源头 |
utm_medium |
是的 | 是的--就是这个 | 从技术上讲,但事实并非如此 | 在这里放置一个品牌名称 |
utm_campaign |
是的 | 否 | 从技术上讲,但事实并非如此 | 跨季度重复使用一个名称 |
utm_term |
是的 | 否 | 是的 | 填写非付费流量 |
utm_content |
是的 | 否 | 是的 | 用它作为第二个战役字段 |
utm_id |
是的 | 否 | 是的 | 混淆它 utm_campaign |
常见用例
跨多个渠道的产品发布
您有一个时事通讯、三个合作伙伴博客、Product Hunt、X、LinkedIn 和一个 Slack 社区。其中每一个都需要自己的来源、正确的媒体和相同的活动名称,因此它们在报告中一起卷起。那是一个电子表格作业,或者是三十秒的批处理模式:共享活动、每次放置一行、CSV 退出。然后您可以在一个查询中回答 "哪个频道驱动注册",而不是眯着眼睛查看推荐人报告。
审计链接其他人构建的
Agencies,合作伙伴和附属公司会向您发送标记的URL,他们会错的,将链接粘贴到审核字段中,构建者将其分解回其参数,这样您就可以看到实际记录的内容,十分之九的媒体是一个品牌名称,整个事情正在走向未分配。
电子邮件活动
广播中的每个链接都应携带相同的源和介质(newsletter / email),相同的活动,以及 不同 utm_content- hero-cta、 body-link、 footer-unsubscribe-adjacent。就是这样学习人们在电子邮件中实际点击的位置,这是改进下一个的唯一可靠方法。
付费广告
大多数广告平台都可以自动注入值 - Google Ads 自动标记 gclid parameter,它做自己的事情,不需要utm,但是如果你在任何地方运行广告,没有自动标记,手动标记它们: utm_medium=cpc的,真正的平台在 utm_source、和 utm_id 设置为广告帐户中的活动 ID,以便您可以稍后将单击数据加入到成本数据中。
常问问题
什么是 UTM 构建器?
UTM 构建器是一种工具,它从着陆页组装一个带有活动标记的 URL 以及您想要跟踪的 UTM 参数。它处理您本来会手工弄错的机械部件 - 当 URL 已经有一个百分比编码值时正确附加查询字符串,将片段保留在末尾 - 并生成一个链接,您可以粘贴到电子邮件、广告或二维码中。
需要哪些 UTM 参数?
utm_source 是谷歌分析严格要求唯一一个为广告系列赋予属性的广告系列,但实际上你想要 utm_source、 utm_medium 並 utm_campaign on every link。ga4 没有一个介质,没有什么可以与它的通道规则相匹配的,并且会话通常落在 Unassigned。如果没有一个活动名称,您的报告将流量分组在 "(未设置)" 下。 utm_term 並 utm_content 是可选的改进。
utm_source 和 utm_medium 有什么区别?
源是点击的具体来源 - 指定的站点,出版物或列表,例如 newsletter、 github 或 producthunt.媒介是起源所属的营销渠道,如 email、 cpc、 social 或 referral.来源是专有名词,medium是分类,如果在medium字段中打一个品牌名称,两者已经互换。
UTM 参数是否区分大小写?
是的。 Google Analytics 4 待遇 Email、 email 並 EMAIL 为三个不同的值,它将单个战役分成三行,每个行都有三分之一的数字保留每个UTM值小写和连字符作为硬规则UTM Builder小写默认值,并在输入包含大写时警告您。
为什么我的 UTM 流量显示为未分配?
几乎总是因为 utm_medium is 丢失或持有值 GA4 不映射到通道 GA4 从固定介质词汇构建其默认通道组 - email、 organic、 cpc、 social、 referral、 affiliate、 display 还有一些--所以 utm_medium=facebook 或 utm_medium=partner 匹配任何内容,并失败到未分配。使用 utm_source=facebook 与 utm_medium=social 相反。
我应该在内部链接上放置 UTM 参数吗?
号在自己网站的两个页面之间标记链接,开始一个新的会话,并覆盖原来的获取源,所以从你的时事通讯中到达的访问者突然看起来像是从你自己的博客中来的,只在你网站的其他地方指向的链接上使用UTM,并使用事件跟踪来测量内部点击。
UTM 参数会损害 SEO 吗?
他们为同一页面创建重复的 URL,这就是为什么每个标记页面都应该携带一个指向干净 URL 的自引用规范标签。在正确的规范到位后,搜索引擎会合并信号,并且标记的变体不会单独索引。不要阻止机器人中的 UTM 参数。txt - 这会阻止爬虫看到可以修复问题的规范。
我可以一次构建许多广告系列网址吗?
是批量模式每行一次放置- source、 source,medium 或 source,medium,content- 将共享的战役值应用到每一行,并为每一行生成一个标记的 URL。您可以复制整个集合或将其导出为包含预测通道的 CSV,这是准备启动或将链接表交给合作伙伴的最快方法。
相关工具: 中海外空建设者 · 蛞蝓发生器 · URL 编码器 · 二维码生成器 · 元标记生成器 · robots.txt 生成器
相关阅读: Web开发人员's工具包 · 数据隐私和在线工具



