客服把活动页丢进工单,运营把商品链转发到群里,开发把文档地址贴进聊天——这三件事每天都在发生。复制出来的字符串往往比你以为的长:utm_source=newsletter、fbclid= 后面几十个字符、spm= 一串点号分隔的位置码。把整段原样发出去,等于把投放渠道、广告点击身份和页面位置一并转给下一个人。
反过来,有人图省事把问号后面全部抹掉,结果 YouTube 打不开、商品页回到首页、搜索结果变成空列表。问题不在「要不要清理」,而在先分清两类参数:追踪标签可以删;资源定位符必须留。下面按对照表、例外和可当场验证的步骤把这件事写清楚。MyPassGen 的隐私清洗页按这个原则做剥离清单;本文不讲工具总览,只回答外发时哪些能删、哪些不能删。
问号后面并不都是垃圾
网址里 ? 后面的部分叫查询字符串(query)。按 WHATWG URL 标准,打开 http / https 链接时,查询字符串会进入请求行,也会出现在对端站点的访问日志里。它和井号 # 后面的 fragment 不是一类东西:fragment 默认不随 HTTP 请求发出;query 会。
查询字符串由一组 名字=值 组成,多项之间用 & 连接。浏览器提供的 URLSearchParams 可以按名字读写,不必靠手工找问号。判断能不能删,只看这个名字对打开内容是否必要,而不是看值有多长、多像乱码。
追踪参数:给分析系统看的标签
追踪参数是给统计、广告归因和邮件系统准备的。页面模板通常不读它们也能渲染同一篇文章、同一个商品。删掉之后,访问者仍应落到同一份内容;变化的是:目标站的分析报表少记一次「从哪条广告、哪封邮件点进来」。
Google Analytics 把这类标签写成 UTM。官方文档 Collect campaign data with custom URLs 列出的名字包括 utm_source、utm_medium、utm_campaign、utm_term、utm_content 和 utm_id。其中 source、medium、campaign 被标成自定义活动里应始终带上的三项——那是给投放人员用的,不是打开页面的前提。
业务参数:打开这一份内容所必需
业务参数指向具体资源。YouTube 的 v= 是视频 ID;电商的 sku= 或 id= 指向某一 SKU;搜索页的 q= 是查询词;分页的 page= 决定第几页。删掉它们,服务器不知道你要哪一份资源,页面会 404、回首页或给出空结果。名字短、值像随机串,都不能当成「一定是追踪」。
先问一句,再动手删
这个名字是「告诉分析系统从哪来的」,还是「告诉服务器打开哪一条」?答不上来,就先只动以 utm_ 开头的项和常见点击 ID,然后在新标签验证页面是否仍是同一份内容。
可以删的追踪参数对照
下面这张表按来源分组。它不是全网穷尽清单——投放系统会发明新名字——但覆盖了从广告后台、邮件和国内电商分享按钮里最常跟出来的一批。删它们,一般不会改变你要打开的那一页。
| 分组 | 常见名字 | 删掉之后通常怎样 |
|---|---|---|
| UTM 活动标签 | utm_source utm_medium utm_campaign utm_term utm_content utm_id |
同一页面;目标站少一次活动归因 |
| 广告点击 ID | fbclid gclid gbraid wbraid msclkid dclid twclid |
同一页面;广告平台少一次点击对账 |
| 分析与邮件 | _ga _gl mc_eid mkt_tok |
同一页面;跨域或邮件系统少一次身份串联 |
| 国内电商归因 | spm scm pvid utparam share_token |
多数商品页仍打开;位置码与分享令牌不再跟着走 |
fbclid 是 Facebook 系分享或广告跳转常见的点击标识;gclid 是 Google Ads 的点击 ID;msclkid 对应 Microsoft Advertising。gbraid / wbraid 出现在限制第三方 Cookie 之后的 Google 归因链路上。它们的值很长,看起来像密钥,但职责是归因,不是定位文章或商品。
国内电商里 spm(Super Position Model)用来标记「从哪个坑位点进来」。把它连同商品 ID 一起转发给同事,对方站点会把这次访问记到你的坑位上,也等于把内部投放结构泄露到工单和群聊。商品 ID 要留,spm 通常可以走。
还有一类灰色名字:ref、source、from。有的站点用它们做活动归因,有的用它们决定落地页模板。拿不准时先留着,只删 UTM 和点击 ID,再在新标签对照标题、正文和商品规格是否一致。
一删页面就打不开的业务参数
业务参数没有统一前缀,只能按站点习惯辨认。下面几类几乎总是必须留:
- 资源 ID:
v=(视频)、id=/sku=/pid=(商品或对象)、doc=(文档编号)。 - 查询本身:搜索页的
q=、query=、keyword=;地图的坐标或地点 ID。 - 分页与排序:
page=、p=、offset=、sort=。删掉会回到第一页或默认排序,不一定 404,但已经不是你要转发的那一屏。 - 语言与站点:
hl=、lang=、locale=。删掉可能跳出你正在核对的语言版本。
一个能当场做的试验:把整段 query 先复制到记事本,只删一个名字,在隐私窗口打开。页面标题、主图、价格或正文与原文不一致,就把这个名字加回「必须留」一侧。不要一次清空问号后再猜是哪一项坏了。
带登录态或一次性令牌的链接更危险。token=、auth=、access_key= 看起来也像随机串,但它们可能是会话或下载凭证。这类值既不是 UTM,也不该出现在群聊里。正确做法是:不要转发带令牌的 URL;需要给别人看同一份内容时,改用对方自己的登录入口,或把文件先在本机加密再另选通道。
不要把整段问号交给来路不明的「在线清洗」
查询字符串里可能混着会话令牌、预览码或内部对象 ID。把完整 URL 贴进会上传原文的网站,等于把这些值写进对方日志。清洗应在浏览器本地完成,并且列出被去掉的名字,方便你核对,而不是让你相信一句「我们不保存」。
短链、二维码和复制按钮会把参数藏起来
看到 bit.ly、t.co 或各平台自己的短链,不要以为问号后面是干净的。短链只是一层跳转:浏览器先请求短链主机,再 301/302 到带完整 query 的长址。你在聊天里复制的是短的那一截,接收方点开后,地址栏最终仍可能出现 utm_ 和点击 ID。
二维码同理。很多「分享」按钮先生成带追踪参数的长址,再压成码。用手机扫开后,看的是跳转之后的地址栏,不是码图片本身。要外发干净链接,应在落地之后从地址栏复制,而不是从海报或后台的「复制短链」直接转发。
邮件和短信里的包装更隐蔽。部分邮件服务商会把每条链接改写成自己的点击统计域,点开后再跳到带 mkt_tok 或 mc_eid 的目标页。你要转发的是最终落地页,不是邮件里那条统计跳转。操作顺序:自己点开 → 等地址栏稳定 → 再决定删哪些 query。
当场核对:地址栏、新标签、Network
口号无法核对,流量可以。下面这组步骤不依赖任何品牌承诺,浏览器自己会把结果摊开。
- 把待转发的 URL 完整粘贴到记事本,保留原始 query,避免只凭记忆删改。
- 按上一节的对照表,先只删除
utm_*与点击 ID(fbclid、gclid等),业务 ID 先不动。 - 用隐私窗口或新标签打开清理后的地址,对照标题、正文、价格或视频是否仍是同一份。
- 打开开发者工具的 Network 面板,勾选「保留日志」,再刷新一次。看文档请求的 Request URL:被删的名字不应再出现;
v=、id=一类应仍在。 - 若页面异常,把记事本里刚删的那一项加回去,一次只恢复一个名字,定位到真正必需的参数。
若你使用会在浏览器里列出「去掉了哪些名字」的工具,把清单与 Network 里的 Request URL 对读一遍:清单上有、请求里没有,才算清干净;清单上没有、你却亲手删掉了 id=,那是误伤,应加回。
MyPassGen 的隐私清洗按这个边界工作:标准模式覆盖常见 UTM、点击 ID 以及部分电商归因参数;保守模式主要动 UTM 与点击 ID。剥离在当前标签页完成,原文不上传,也无需注册。页面会列出被去掉的参数,方便和地址栏对照。单条 URL 超过 8 KB、或一次粘贴超过约 100 行时,应拆开处理,而不是假设工具会吞掉任意长度的文本。
误区:删光问号、留下短链、忽略令牌
「问号后面全是垃圾」是最常见的过度清理。搜索、分页、语言和资源 ID 都活在 query 里。正确默认值是:白名单删除(只动已知追踪名),而不是黑名单清空(删掉一切未知名)。
「短链已经够短,一定干净」不成立。短的是跳转层,不是落地 query。要验证,必须看到跳转结束后的地址栏。
「HTTPS 已经保护隐私」只覆盖传输路径上的窃听者。接收方打开链接时,目标站仍然看得到完整 query。你要减少的是转发出去的那一份里不必要的标签,不是改写 HTTPS 的职责。
「清洗链接等于脱敏」也不对。手机号、身份证号、邮箱和 API Key 经常写在正文、截图或工单表格里,不在 URL 上。链接干净之后,仍要用同一套本地处理去掩码这些字段,而不是以为去掉 utm_ 就结束了。
从哪一步开始清理
先处理你今天就要发出去的那一条。打开原链接,等地址栏稳定,复制完整 URL,按对照表只去掉 UTM 和点击 ID,新标签验证,再发给别人。群公告、知识库和工单模板里的旧链接可以后补,不必一次清全站。
若同一段文本里混着多条网址,按行拆开,逐条看问号后面的名字。一条里同时有 id= 和 spm= 时,留下 id=,去掉 spm=,再打开确认商品未变。做完这一条,你就已经能回答本文的问题:能删的是追踪标签,不能删的是打开内容所必需的业务参数。
需要把清理后的地址连同一段秘密一起给同事时,不要把密钥再写进 query。一次性短秘密用阅后即焚,密钥放在 URL 的 # 后面;需要可反复解密的文件则走文件加密盒,在本机生成 .lock / .enc。链接清洗解决的是「转发时少带标签」,不是密钥交换。
常见问题
去掉 UTM 之后,对方打开的还是同一页吗?
对绝大多数内容站和商品页是的。UTM 给分析系统做活动归因,页面模板通常不依赖它们渲染正文。仍应以新标签里的标题和主内容为准,而不是只看状态码 200。
fbclid 很长,是不是密钥?能转发吗?
它是点击标识,不是登录口令,但也没有必要转发出去。留下它,等于把这次点击的归因链交给下一个打开的人,并写进对方可能保存的聊天记录。
短链要不要先展开再删参数?
要。在自己的浏览器里打开短链,等跳转结束,从地址栏复制长址,再按对照表删除追踪名。只转发短链,接收方落地后仍可能带上完整 query。
清洗链接需要注册吗?原文会不会上传?
不需要注册。把 URL 交给会上传原文的网站,才有日志风险。本地处理时,原文留在当前标签页;你要核对的是 Network 里有没有把完整 URL 发到第三方,以及清单上列出的名字是否真的从地址栏消失。