utm 参数怎么打:九个里三个必写,两个写了也不进报表

utm 参数是挂在链接后面的标签,统计工具靠它说出访问从哪来。Google Analytics 认九个,三个每次都要写,两个收下之后哪张报表都不显示;平台自动带的 gclid、fbclid 是另一套东西,别混着写。

效果衡量7 分钟读完1471 次阅读
utm 参数怎么打:九个里三个必写,两个写了也不进报表

utm 参数是你挂在链接后面的标签,统计工具靠它说出这次访问是从哪来的。Google Analytics 认九个:三个是每次都要写的,四个可选,还有两个它收下之后哪张报表里都不显示。九个的值全是你自己编的字符串 —— 所以真正决定报表好不好用的是命名规矩,不是参数清单。

读这篇前你要有什么

一个能出数的统计资源,外加一个诚实的预期:打标只对你自己发出去的链接有效。没有标的流量会被工具塞进它猜的那个桶,而答案引擎带来的访问,多半就落在直接访问那个桶里 —— 那件事写在 直接流量:把 AI 带来的访问捞出来。这一篇修不了那一半,只修你打得上标的这一半。

utm 参数到底做了什么

它往网址末尾追加几组键值对。服务器不理它,页面渲染结果一模一样,统计脚本把它读出来,按你给的名字给这次访问归档。没有注册表,也没有任何校验:utm_medium=emailutm_medium=Email 会一直是两个不同的渠道,在报表里占两行。

机制就这么点。它同时解释了几乎每个站在第三个月都会撞上的那件事:同一份邮件周报,在报表里长出十四种拼法。这也是为什么这一篇给的交付物是一套命名规矩,而不是一个链接生成器。

utm 参数不是一次测量,是一个你答应过要一直拼成同样写法的标签。

九个参数,和其中两个哪儿都不去的

最低要求 Google 写得很直接:「When you add parameters to a URL, you should always use utm_source, utm_medium, and utm_campaign」(用自定义网址收集广告系列数据,2026-09-04 访问)。同一页也写了漏掉会怎样:「Missing UTM parameters will result in (not set) values being present in reporting.」

参数装什么状态
utm_source这次点击从哪来每次都写
utm_medium属于哪一类渠道每次都写
utm_campaign这一波叫什么每次都写
utm_id广告系列 ID可选
utm_term付费搜索词可选
utm_content哪一版素材可选
utm_source_platform发出它的平台可选
utm_creative_format素材类型不进报表
utm_marketing_tactic定向方式不进报表

最后两行值得看两遍。官方原话是「utm_creative_format isn't currently reported in Google Analytics properties」,utm_marketing_tactic 那一条是同一句式。它们会被收下、会挂在事件上,但今天你打开任何一张报表都看不到。写上去只是让网址更长。

平台自动加的那些参数,不是 utm 参数

出海投放的人最先撞上的其实不是命名,是网址里一堆不是自己写的东西:Google Ads 的 gclid、Meta 的 fbclid、TikTok 的 ttclid。它们是各家自己的点击 ID,走的是各自的对接通道,和 utm_ 开头的那九个不是一套东西。Google 在讲会话归因时把两者并列写着:「the session_start event carries the information that determines the attribution of the session, such as the gclid, UTM parameters, and referrer」([GA4] Analytics 会话,2026-09-04 访问)。

参数谁加的该怎么办
gclidGoogle Ads 自动别删,别手工造
fbclidMeta 自动别删,别手工造
utm_*你自己写按下面的规矩写

两者同时出现在一个网址里时,报表最终按哪一个归因,我们没有查到一句能直接引用的官方口径,也没有自己测过 —— 所以这里不给结论。能给的判断只有一条:平台自动加的那部分别去动它,你自己那部分按规矩写,两边各管各的。

直接抄走的命名规矩

四条。它们故意写得很无聊,因为让广告系列报表可读的唯一原因,就是没有人临场发挥。

  1. 一律小写。大小写会被原样保留且区分,一个大写字母就把一行拆成两行。
  2. 词与词之间只用连字符,不用下划线。选一种分隔符,写进那份大家复制来复制去的文档里。
  3. utm_medium 的取值来自一张封闭清单,只写一次。五到六个值,加一个新的要有人专门做这个决定。
  4. utm_source 是一个地方,utm_medium 是一类地方。newsletter 不是一类渠道,email 才是。
# 封闭清单,放在人人找得到的地方
utm_medium ∈ { email | social | cpc | referral | affiliate | qr }

# 一条按规矩拼出来的链接
https://example.com/pricing
  ?utm_source=weekly-digest
  &utm_medium=email
  &utm_campaign=2026-09-pricing-update
  &utm_content=header-button

# 同一波的第二版素材,只改 utm_content
  &utm_content=footer-text-link

广告系列名前面带日期。这样按字母排一次,就等于按时间排了一次,而这是唯一一种不用教就会看的报表排法。

还有一条只有中文团队会踩:不要拿中文当参数值。中文会被百分号编码,报表里那一行就是 %E5%8F%8C%E5%8D%81%E4%B8%80 这样一串,导出到表格之后没人能一眼认出它是哪一波。想要中文可读,把中文写进你自己的排期表,链接里仍然只用小写英文。

别把 utm 参数挂到自己站内的链接上

三个理由里有两个是有文档的,第三个是我们停下来承认不知道的地方。

有文档的那一半说的是搜索,不是统计。一条带标的站内链接,等于给一个本来就有地址的页面又造了第二个地址,接下来选哪个由 Google 决定:「If you don't specify a canonical URL, Google will identify which version of the URL is objectively the best version to show to users in Search」(怎么指定规范网址,2026-09-04 访问)。自指的 canonical 标签写法在 canonical 标签怎么写,它的作用就是别让这个决定替你做了。

第二个理由是报表。着陆页和广告系列两列会被你自己的站内导航塞满,真正从站外来的那部分反而更难找。

第三个理由是归因,而文档到这里就停了。上面那句原文只说明会话归因挂在 session_start 上,没有说明一次已经开始的会话中途,那条带标点击会发生什么。这个我们没有测过,所以不告诉你它会改写来源。前两个理由本身就够了。

今天就能跑的两条审计

一条命令能找出已经带着标签的站内链接。挑模板最重的那种页面跑:首页、分类页,或者渲染成 HTML 的邮件底部。

# 自家页面上已经带了广告系列标签的链接
curl -sL -A 'Mozilla/5.0' https://example.com/ \
  | grep -oE 'href="[^"]*utm_[^"]*"' | sort | uniq -c | sort -rn

# 一批链接里实际在用的 medium 取值有几种
grep -ohE 'utm_medium=[^&"]+' links.txt | sort | uniq -c | sort -rn

第二条是用来发现规矩已经散掉的。它要是返回六个以上的取值,那张封闭清单就没人在用了;而事后再怎么整理报表,也没法把 Email 合回 email

三种会出事的写法

三种都不出声。报表照常渲染,数字照常相加,你看着的那张表只是在描述另一件事。

  1. 同一个来源两种拼法。一个渠道被拆到两行,两边都被低估。它不会提醒你,只是让报表看起来比实际小。
  2. 把标打在自己控制不了的链接上。任何人都可以把你带标的网址复制走贴到别处,那次访问照样算成你的邮件周报。标签是被信任的输入,不是被验证的输入。
  3. 带标网址进了 sitemap 或 canonical。一个追踪网址不是一个页面,它不该成为你指认的那个正式地址。而一旦进了 sitemap,几乎没人会再注意到它。

这一篇答不了的是:你的总到达量里,究竟有多大比例是打得上标的。多数站上这个比例很小,剩下的那部分只能靠两个说法不一致的系统去拼 —— 拼法在 流量来源对不上时怎么算出一个数。想先看看一条带标的网址实际返回什么,可以 看看 QueryWin 是怎么读一个页面的

常见问题

utm 参数会影响收录吗

参数本身不会。有风险的是同一个页面多出一个地址,自指的 canonical 就能定住这件事。带标的网址不该出现在 sitemap 里,也不该出现在站内链接上。

哪几个参数是必须写的

官方点名三个:source、medium、campaign。其余是可选的,而九个里有两个根本不进报表。

广告后台自动带的 fbclid 要不要删掉

不要。那是投放平台自己的点击 ID,删掉等于砍断它那条对接通道。你要做的只是别把它当成 utm 参数去手工拼。

短链跳转之后标签还在吗

看这个短链服务怎么做的。跳转时把查询串一起带过去的就还在,不带的就丢了,这一点各家不一样,也不由你决定。发之前用 curl -sIL 跟一遍跳转,看最后落地的那个网址里参数还在不在。

参数的先后顺序有讲究吗

没有。它们是按键值对读的。保持一致的顺序仍然有意义,但那是给人看链接表格时省事,不是工具的要求。

过去一年的标签口径乱了怎么办

已经收上来的数据没法回头改。把封闭清单定下来,从今天发出去的每一条开始执行,把旧的那批当成报表里另一个时期,而不是想办法合并进来。

本文属于 QueryWin 实操手册 · 第 2 阶

utm 参数怎么打:九个里三个必写,两个写了也不进报表