上传器从文件里只读两列:网址和你想要的别名。其余的——分组、标签、UTM 参数——都在表单里对整批设置一次,不按行填。

这是动手整理文件之前最该知道的一点。文件格式、各项上限,以及后面一半的「某些行失败」的原因,都是由它推出来的。

下面讲:怎么把文件做成一次能整批通过的样子;当不同链接需要不同参数时怎么办;一次能走多少行;以及有链接没创建成功时,报告该怎么读。

上传器认什么样的文件

CSV 或者普通文本文件都行。解析写得比较宽容,知道几个细节能省不少折腾。

分隔符会自动判断。 上传器看第一行,在逗号、分号和制表符里挑出现次数最多的那个。所以从表格里直接复制一列粘过来也能用——那样过来的是制表符分隔。导出成逗号分隔的 CSV 同样没问题。

表头行可有可无。 如果第一行以 url、alias 或 link 开头,就当作表头,不进入这一批。没有表头时,第一列是网址,第二列是别名。

只有一列也行。 一行一个网址、完全没有分隔符的清单,照原样接收。

url,alias
https://example.com/catalog/sale/shoes-2026,shoes
https://example.com/catalog/sale/bags-2026,bags
https://example.com/catalog/sale/coats-2026

网址里带逗号时必须加引号。 这是 CSV 的常规规则,而带参数的导出恰恰就栽在这里:

"https://example.com/search?tags=sale,new",sale-new

不加引号,这一行会在那个逗号处被切开,网址的一截就跑进别名里去了。值内部的双写引号("")表示一个字面引号——同样是标准 CSV 的写法。

空行会被跳过,所以文件末尾多出来的换行不用专门清理。

别名可以按需留空:上面例子里第三条就没有别名,系统会替它生成一个短码。带别名的行和不带别名的行混在一起是允许的。

当不同链接需要不同参数

分组、标签和 UTM 参数是一次性作用于整批的。上传同一个商品目录或同一封邮件时很省事;可一旦清单横跨好几个投放活动,它就成了限制。

两个靠得住的绕法。

把参数直接写进网址里。 UTM 标签就是普通的查询参数,只要写在网址本身,每一行就能不一样:

url
https://example.com/a?utm_source=newsletter&utm_campaign=june
https://example.com/b?utm_source=telegram&utm_campaign=june

在表格里拼出这一列,一个字符串连接公式就够了。要是不确定该用哪些参数、写成什么样,可以参考博客里关于在营销中使用短链接的那篇,里面讲了投放标记的整体思路。

拆成几批上传。 一个活动一批:各自带自己的标签和分组,之后看数据时可以按分组切,而不用在一长串清单里挑。活动数量不多的时候,这条路通常更干净。

一次能走多少链接

上限有三个,性质各不相同。

多少
单次上传的行数 1000
同时进行的上传 3
单个 API 请求里的链接数 100

文件超过一千行就拆开:超出上限的行根本不会进入这次上传。三个同时进行的上传,限的是未完成的任务数,不是每天的额度——有一个跑完,就能再起一个。

每月的量是另一回事,取决于套餐。免费套餐完全没有批量缩短这项功能。Pro 每月 100 条,够在真实清单上试一遍,弄清自己到底需不需要这个量。Premium 没有月度上限,但有每天 30000 条的天花板。

为什么有些行没创建出来

一行有问题不会把整批取消。上传会一直跑到最后,每一行都带着自己的结果。状态共三种,分清它们有用,因为修法不一样。

校验阶段被拒。 这一行没通过检查,文件刚解析完就能看见,还没开始缩短。通常是网址写坏了、别名太长,或者该放网址的地方放了别的东西。

未创建。 这一行本身是对的,但链接没生成出来——比如请求的别名已经被占了。

已创建。 完成,短链接就在这一行旁边。

常见原因和对应做法:

看到的现象 实际问题 怎么办
行被拒,但网址看着没毛病 缺协议头——写成 example.com 而不是 https://example.com 用公式给整列补上 https://
每隔一行就被拒一行 带逗号的网址没加引号 给值加引号,或者改存成分号分隔
别名里出现了网址的一截 同一个原因:行在分隔符处被切开了 同上
别名被截断 别名超出允许长度 缩短到 10 个字符以内
未创建,别名被占用 这个短码已经存在 换个别名,或者把这一格留空
加载进来的行比文件里的少 文件超过 1000 行 把文件拆开

一个值得养成的习惯:先拿文件开头十行跑一遍。导出里的系统性毛病——协议头不对、分隔符不对、多了一列——在十行上暴露得和一千行上一模一样,排查起来却快得多。

如果清单是程序生成的

当链接由你的代码准备、而不是由人对着表格敲时,API 有批量方法:单个请求最多 100 条,响应按条返回,同样分成已创建、未创建和被拒三类。

这里有个不显眼、却容易撞上的细节。一批按链接条数扣请求配额,而不是算作一个请求。 100 条的批次扣掉 100 个单位。否则批量方法就成了绕开频率限制的办法,一个客户每分钟能造出几千条链接。如果剩余配额装不下整批,请求会被整体拒绝,什么也不会创建——所以额度要在发送前查,而不是发送后。

公共参数的行为和表单里一致:defaults 块会并入每一行,行里自己的字段覆盖它。行里的空值表示「未指定」,于是取 defaults 的值,和导出表格里的空单元格完全一样。接口和响应结构写在 API 文档里。

拿到清单之后做什么

批量生成的短链接和一条条建出来的毫无差别:各有自己的点击统计、地域和来源。如果你给整批设了同一个分组,按这个分组看数据会很顺手——能看出整个目录、整封邮件作为一个整体跑得怎么样。

两件在大清单上尤其划得来的事:

  • 用自己的域名。 一千条链接的批次里,域名要和读者打一千次照面,这在邮件的观感里占的分量很实在。怎么接、能改变什么,在自定义域名那篇里;
  • 标记在上传之前做,不是之后。 给已经建好的一千条链接改 UTM 参数,比事先在表格里拼出一列带标记的网址代价大得多。

简短说来

把文件做成一列或两列,网址带上 https:// 协议头,含逗号的值加引号。公共参数在整批上设,需要各不相同的那些写进网址本身,或者分成几次上传。先拿十行试,再传剩下的,然后读按行的报告。

功能本身和分步操作顺序在批量短链接页面上;批量上传属于付费套餐,所以第一批需要 Pro 或更高的账号。