Загрузчик читает из файла две колонки: адрес и желаемый алиас. Всё остальное — группа, теги, UTM-метки — задаётся один раз на всю пачку в форме, а не построчно.
Это главное, что стоит знать до того, как вы соберёте файл. Из него следуют и формат, и ограничения, и половина причин, по которым строки потом отваливаются.
Ниже — как собрать файл, чтобы пачка прошла целиком; что делать, когда метки нужны разные для разных ссылок; сколько строк уходит за раз; и как читать отчёт, если часть ссылок не создалась.
Какой файл поймёт загрузчик
Подойдёт CSV или обычный текстовый файл. Разбор устроен терпимо, и несколько деталей избавят вас от лишней возни.
Разделитель определяется сам. Загрузчик смотрит на первую строку и выбирает между запятой, точкой с запятой и табуляцией — тем, что встречается чаще. Это важно, потому что Excel в русской локали сохраняет CSV с точкой с запятой, и такой файл не придётся переделывать. Выгрузка из Google Таблиц с запятыми тоже подойдёт, как и просто скопированный из таблицы столбец с табуляцией.
Заголовок не обязателен. Если первая строка начинается со слова 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 — это обычные query-параметры, так что они могут отличаться у каждой строки, если вы допишете их в самих адресах:
url
https://example.com/a?utm_source=newsletter&utm_campaign=june
https://example.com/b?utm_source=telegram&utm_campaign=june
Собрать такой столбец в таблице — дело одной формулы со склейкой. Если вы не уверены, какие метки и в каком виде ставить, их разбор есть в отдельной статье про UTM-метки.
Разбить на несколько пачек. По пачке на кампанию: у каждой свои теги и своя группа, зато потом статистику можно смотреть срезом по группе, а не разбирать общий список. Этот путь обычно чище, если кампаний немного.
Сколько ссылок уходит за раз
Ограничений три, и они разного рода.
| Сколько | |
|---|---|
| Строк в одной загрузке | 1000 |
| Одновременных загрузок | 3 |
| Ссылок в одном запросе к API | 100 |
Если в файле больше тысячи строк, разбейте его на части: лишние строки сверх лимита просто не попадут в загрузку. Три одновременные загрузки — это потолок на незавершённые задания, а не на день; как только одна дошла до конца, можно запускать следующую.
Отдельно — месячный объём, и он зависит от тарифа. На бесплатном плане массового сокращения нет вообще. На Pro доступно 100 ссылок в месяц — этого хватает попробовать на реальном списке и понять, нужен ли объём. На Premium месячного ограничения нет, но действует суточный потолок в 30 000 ссылок.
Почему часть строк не создаётся
Одна плохая строка не отменяет всю пачку. Загрузка идёт до конца, и напротив каждой строки вы видите её судьбу. Статусов три, и различать их полезно, потому что лечатся они по-разному.
Отклонена при проверке. Строка не прошла валидацию, и это видно сразу после разбора файла, ещё до сокращения. Обычно это битый адрес, слишком длинный алиас или мусор вместо URL.
Не создана. Строка была корректной, но ссылка не получилась — например, запрошенный алиас уже занят.
Создана. Готово, короткая ссылка стоит напротив строки.
Типовые причины и что с ними делать:
| Что видно | В чём дело | Что сделать |
|---|---|---|
| Строка отклонена, адрес на вид нормальный | нет схемы — example.com вместо https://example.com |
дописать https:// формулой на весь столбец |
| Отклонена каждая вторая строка | адреса с запятыми не взяты в кавычки | закавычить значения или сохранить файл с точкой с запятой |
| В алиасе оказался обрывок ссылки | тот же случай: строка распалась по разделителю | то же |
| Алиас обрезан | алиас длиннее допустимого | укоротить до 10 символов |
| Ссылка не создана, алиас занят | такой код уже существует | поменять алиас или оставить поле пустым |
| Загрузилось меньше строк, чем в файле | в файле больше 1000 строк | разбить файл на части |
Полезный приём на будущее: прогоните сначала десяток строк из начала файла. Если в выгрузке системная ошибка — не та схема, не тот разделитель, лишняя колонка, — она проявится на десяти строках так же, как на тысяче, но разбираться будет быстрее.
Если список формируется программой
Когда ссылки готовит ваш код, а не человек с таблицей, есть пакетный метод API: до 100 ссылок одним запросом, ответ поэлементный — с тем же делением на созданные, не созданные и отклонённые.
Здесь есть неочевидная деталь, на которой легко налететь. Пачка расходует лимит запросов по числу ссылок, а не как один запрос. Батч на 100 ссылок списывает 100 единиц. Иначе пакетный метод превращался бы в способ обойти ограничение частоты, и один клиент мог бы создавать тысячи ссылок в минуту. Если лимита не хватает на весь объём пачки, запрос отклоняется целиком и ничего не создаёт — так что проверять остаток стоит до отправки, а не после.
Общие параметры в API работают так же, как в форме: блок defaults вливается в каждую строку, а поля самой строки его перекрывают. Пустое значение в строке — это «не указано», то есть берётся значение из defaults, ровно как пустая ячейка в выгрузке. Эндпоинт и схема ответа описаны в документации API.
Что делать с готовым списком
Короткие ссылки из пачки ничем не отличаются от созданных по одной: у каждой своя статистика переходов, география и источники. Если вы выставили на пачку общую группу, статистику удобно смотреть срезом по ней — так видно, как отработал весь каталог или вся рассылка целиком.
Два шага, которые окупаются именно на больших списках:
- свой домен. На пачке в тысячу ссылок доменное имя попадается читателю тысячу раз, и это заметная часть того, как выглядит рассылка. Как подключить и что это меняет — в статье про кастомные домены;
- разметка до загрузки, а не после. Поменять UTM-метки у тысячи уже созданных ссылок дороже, чем собрать столбец с метками в таблице заранее. Общая логика разметки кампаний разобрана в материале про короткие ссылки в маркетинге.
Коротко
Соберите файл из одной-двух колонок, адреса — со схемой https://, значения с запятыми — в кавычках. Общие метки задайте на пачку, разные — впишите в сами адреса или разнесите по нескольким загрузкам. Проверьте на десяти строках, потом грузите остальное и посмотрите отчёт по строкам.
Сам раздел и пошаговый порядок действий — на странице массового сокращения ссылок; массовая загрузка доступна на платных тарифах, так что для первой пачки понадобится аккаунт с планом Pro или выше.