Сокращатель URL хранит четыре вида данных, и только один переносится без потерь, когда вы уходите. Таблица ссылок - слаги, конечные адреса, теги и домены, на которых они размещены, - это то, для чего любой серьезный поставщик позволяет экспортировать данные коротких ссылок, обычно в виде CSV или через API, потому что схема простая, а каждой платформе нужен базовый импортер, чтобы переманивать новых клиентов. Агрегированные подсчеты кликов тоже обычно доступны, хотя детализация различается. Необработанные события кликов - запись на каждый клик с меткой времени, реферером, устройством и IP - исключение: большинство поставщиков никогда их не открывают, потому что поверхность экспорта никогда не строилась для выгрузки полной истории. Метаданные аккаунта - теги, домены, пользователи - находятся посередине: их можно выгрузить по частям, но не одной цельной выгрузкой.
Относитесь к таблице ссылок как к единственному классу данных, на перенос которого можно рассчитывать, закладывайте полную потерю истории необработанных кликов и получайте письменный ответ по агрегированным подсчетам до того, как что-либо подпишете. Это не еще одна история о миграции - переход уже описан в руководстве по миграции с Bitly. Это постоянная привычка забирать свои собственные данные - мигрируете вы или нет.
Что на самом деле хранит платформа коротких ссылок
Любой сокращатель построен вокруг одних и тех же четырех классов данных. То, знаете ли вы, что есть что, до момента, когда понадобится экспорт, решает, займет ли миграция или аудит один день или целый квартал.
- Таблица ссылок: слаг, конечный URL, дата создания, теги, папка и кастомный домен, к которому привязана ссылка.
- Агрегированные подсчеты кликов: пожизненный итог по каждой ссылке, иногда разбивка по дням, изредка - по странам или реферерам.
- Необработанные события кликов: одна строка на каждый клик, с меткой времени, IP, user agent и реферером, который его породил.
- Метаданные аккаунта: настройки рабочего пространства, записи кастомных доменов, список участников команды, API-ключи, таксономия тегов.
Эти четыре класса открыты не в равной степени, и разрыв между ними - это и есть тема всего поста.
Почему таблица ссылок переносится, а история кликов - как правило, нет
Таблица ссылок переносима, потому что ее схема нарочно скучная. Слаг, конечный адрес, горстка необязательных полей - каждый поставщик поддерживает импорт CSV, чтобы переманивать новых клиентов, а значит, у каждого поставщика есть и та или иная форма экспорта CSV, хотя бы для того, чтобы маркетинговая страница конкурента могла обещать "переход за один день". Руководство по типичным сбоям при переходе с Bitly описывает, что на самом деле ломается при переносе этой таблицы - регистр слага, конечные слэши, коллизии путей у диплинков. Этот пост - о другом моменте: о рутинной выгрузке, которую вы делаете независимо от того, стоит ли миграция в календаре.
История кликов - совсем другое дело. Агрегированный экспорт, если поставщик вообще его предлагает, дает вам пожизненный счетчик или грубый дневной итог - полезно для заголовочной цифры, но бесполезно, когда нужна детализация по дням или по реферерам. Собственный экспорт Bitly - показательный пример: он выдает пожизненный счетчик по каждой ссылке и ничего на уровне отдельных событий, и это закономерность, характерная для большей части категории, а не особенность именно Bitly. Как только экспорт теряет эту детализацию, она пропадает навсегда.
Куда пропадают необработанные события кликов
Необработанные события кликов пропадают по структурной причине, а не из-за жадности поставщика. Хранилища событий кликов строятся для запросов внутри собственного дашборда поставщика, а не для массовой выгрузки. API-поверхность, которая позволила бы клиенту постранично пролистать миллионы отдельных строк кликов, - это совсем другое инженерное обязательство, чем график в дашборде, и большинство поставщиков никогда его не строят, потому что большинство клиентов никогда не спрашивают об этом, пока не понадобится.
Последствие простое и жесткое: как только аккаунт выходит за окно хранения необработанных событий, или понижение тарифа отрезает уровень API, который их открывал, эти данные пропадают навсегда. Таблица ссылок обычно переживает изменение аккаунта; история кликов под ней - нет. Даже там, где API для необработанных событий существует, выгрузка полной истории упирается в ту же механику, что управляет любым крупным вызовом к API сокращателя - о том, как выстроить темп многодневной выгрузки, не упершись в лимитер, рассказывает статья ограничения скорости, повторы и идемпотентность в API сокращателя ссылок. Если история кликов - это то, что ваша команда постоянно запрашивает, а не просто архивирует, аналитика ссылок Elido устроена так, что большая часть таких запросов вообще обходится без экспорта.
Вопросы, которые стоит задать поставщику перед подписанием
Задайте эти вопросы до подписания, а не после того, как придет уведомление о понижении тарифа. Поставщику, который письменно отвечает на все шесть вопросов уже на этапе продажи, можно доверять и через год.
| Вопрос | Почему это важно | Тревожный ответ |
|---|---|---|
| В каком формате выгружается экспорт? | CSV/JSON против проприетарного формата определяет объем работы по повторному импорту | "Экспорт предоставляется по запросу" |
| Доступны ли вообще необработанные события кликов? | Определяет, реален ли экспорт истории кликов или это просто график в дашборде | "Это можно увидеть в дашборде" |
| Какие ограничения скорости действуют на полную выгрузку? | Выгрузка полной истории на низкой скорости может занять дни для крупного аккаунта | Опубликованного лимита нет, либо он слишком низкий, чтобы завершить выгрузку |
| Каково окно хранения данных о кликах? | Экспорт не может восстановить необработанное событие, которое уже устарело | В документации не указана политика хранения |
| Включает ли экспорт удаленные или архивированные ссылки? | Для аудита нужна полная инвентаризация, а не только активные ссылки | Экспорт незаметно отбрасывает все неактивное |
| Привязан ли доступ к экспорту к активному платному тарифу? | Определяет, успеете ли вы сделать последний экспорт до потери доступа | Экспорт требует того тарифа, с которого вы уходите |
Если ничего из этого нигде не зафиксировано в документации поставщика, это молчание и есть ответ на первый вопрос. API и SDK Elido публикуют эндпоинты экспорта, ограничения скорости и окно хранения в тех же справочных документах, что и все остальное - получение собственных данных обратно никогда не должно требовать обращения в поддержку.
Регулярный экспорт как привычка, которая сохраняет независимость
Решение - это привычка, а не разовый проект. Делайте полный экспорт по расписанию, до того как понижение тарифа или спор по оплате вынудит вас заняться этим вопросом, - и вы перестанете быть заложником того, что поставщик в этом квартале решит считать достойным вашего тарифа.
Запланируйте выгрузку. Раз в неделю для активного рабочего пространства, раз в месяц - для тихого. Запланированная задача, обращающаяся к эндпоинтам таблицы ссылок и агрегированных подсчетов, - это несколько строк скрипта; суть в том, что она работает без вмешательства человека.
Храните ее вне системы поставщика. В месте, которое контролируете вы, а не в папке внутри продукта, из которого вы экспортируете, - в собственном хранилище, на общем диске, в репозитории. Если сокращатель исчезнет завтра, экспорт должен это пережить. Та же структура таблицы, что используется для массового импорта ссылок кампании из таблицы, одинаково хорошо работает и в обратную сторону - одна строка на ссылку.
Проверьте количество строк. Сравните количество строк в свежем экспорте с количеством ссылок, которое показывает дашборд. Расхождение меньше одного-двух процентов - это нормально: архивированные ссылки, которые вы намеренно исключили. Большее расхождение означает, что экспорт что-то упустил.
Сохраняйте последнюю заведомо исправную копию. Держите две-три последние выгрузки, а не только самую свежую. Поврежденный экспорт, перезаписывающий вашу единственную копию, сводит на нет весь смысл регулярной выгрузки аналитики по ссылкам.
Эта привычка закрывает и более тихую угрозу - обычное протухание ссылок. Конечные адреса за вашими слагами разрушаются по собственному расписанию независимо от того, что делает ваш сокращатель - о стороне обнаружения этой проблемы рассказывает статья предотвращение протухания ссылок в кампаниях с короткими URL. Регулярный экспорт дает вам инвентарь, по которому можно запускать такое обнаружение, независимо от того, за какой дашборд вы платите в этом году.
Что на самом деле охватывает GDPR Article 20
Переносимость данных о ссылках постоянно всплывает в разговорах о закупках, и точность в том, на что эта статья действительно распространяется, меняет ход переговоров.
Article 20 GDPR дает субъекту данных право получить персональные данные, которые он предоставил контролеру, в структурированном, машиночитаемом формате, и передать их другому контролеру - но только для обработки на основании согласия или договора, и только автоматизированными средствами. Рекомендации WP29 по переносимости данных сужают это еще больше: право распространяется на данные, предоставленные напрямую или сгенерированные в результате собственного использования сервиса субъектом, а не на данные, выведенные о нем.
Отсюда следуют два вывода. Во-первых, это право отдельного человека против контролера, а не право бизнеса на собственную агрегированную аналитику - никакое право по GDPR не отдает вашей маркетинговой команде историю кликов по первому запросу. Во-вторых, отслеживание кликов на уровне кампаний в большинстве случаев работает на основании законного интереса, а не согласия или договора, как подробно описывает основополагающий материал о GDPR для сокращателей ссылок, а Article 20 не применяется к обработке на этом основании, независимо от того, чьи это данные. Получение истории кликов от поставщика - это вопрос закупки, который решается контрактом и API экспорта, описанными выше, а не статьей о защите данных. Является ли лежащий в основе IP-адрес или данные об устройстве персональными данными вообще, и как долго вы вправе их хранить, отдельно рассматривается в статье хранение данных о кликах.
Как проверить экспорт, прежде чем ему доверять
Непроверенный экспорт - это слух, а не запись. Прежде чем куда-либо его подшить или удалить исходник, выполните три проверки.
Посчитайте строки и сравните с общим числом ссылок в дашборде; любое расхождение больше одного-двух процентов требует разбирательства. Откройте файл в том инструменте, в котором собираетесь реально с ним работать - CSV-экспорт, который выглядит нормально в текстовом редакторе, все еще может содержать сломанный разделитель или проблему с кодировкой, которую таблица проявит только при разборе, поэтому образец стоит сверить с RFC 4180, а не полагаться на предположения. Выборочно проверьте несколько известных ссылок, намеренно включив хотя бы одну архивированную или удаленную, поскольку незаметное исключение неактивных ссылок - самый частый способ, которым экспорт выглядит полным, но таким не является.
Я видела, как проверка на соответствие требованиям застряла на неделю из-за экспорта, в котором отсутствовали все ссылки, созданные до повышения тарифа восемнадцать месяцев назад - никто не сообщил инструменту, что эти ссылки существуют под другим внутренним ID. Тридцать минут проверки количества строк выявили бы это еще до начала проверки.
Связанные темы в блоге
- Миграция с Bitly на Elido: техническое руководство
- Миграция с Bitly без потери ссылок: руководство по типичным сбоям
- GDPR для сокращателей ссылок: что на самом деле хочет увидеть ваш DPO
- Хранение данных о кликах: сколько держать журналы аналитики
- API сокращателя ссылок: ограничения скорости, повторы, идемпотентность
Частые вопросы
Какие данные на самом деле можно экспортировать из сокращателя URL?
В большинстве случаев существует четыре класса данных, и надежно экспортируются только два: таблица ссылок (слаги, конечные адреса, теги, домены) и агрегированные подсчеты кликов (пожизненные или дневные итоги по каждой ссылке). Необработанные события кликов - запись на каждый клик с меткой времени, реферером и устройством - в большинстве случаев вообще не экспортируются, а метаданные аккаунта, такие как участники команды и настройки доменов, обычно выгружаются по частям, а не одной цельной выгрузкой.
Можно ли экспортировать необработанные данные на уровне отдельных кликов, а не только итоги?
Обычно нет. Большинство платформ-сокращателей строят дашборд на хранилище необработанных событий, но никогда не открывают путь для массовой выгрузки из него, поэтому вы получаете агрегированный подсчет, а не отдельные строки кликов. Если экспорт на уровне кликов важен для вашего сценария, убедитесь, что он вообще существует, и попросите показать пример файла, прежде чем полагаться на него - график в дашборде не доказывает наличие API экспорта.
Дает ли GDPR право экспортировать аналитику по моим ссылкам?
Не так, как это обычно предполагают в разговорах о закупках. Article 20 - это право, принадлежащее субъекту данных - то есть конкретному человеку - в отношении данных, которые он предоставил на основании согласия или договора, а не право бизнеса на собственную агрегированную аналитику. Получение истории кликов от поставщика - это вопрос контракта и функциональности продукта, а не право, вытекающее из GDPR, даже если на эту статью ссылаются так, будто она решает вопрос.
Что происходит с данными о ссылках при понижении тарифа или отмене подписки?
Это полностью зависит от того, что написано в условиях поставщика, а в большинстве условий не написано ничего конкретного. Понижение тарифа может немедленно отрезать доступ к историческим данным о кликах через API, даже если таблица ссылок остается нетронутой, а отмена подписки может запустить отсчет до удаления, за которым вы никогда не соглашались следить. Решение - регулярный экспорт, сделанный заранее, а не запрос, поданный после того, как пришло уведомление.
В каком формате должен быть экспорт данных о ссылках?
Структурированном и машиночитаемом - CSV или JSON, а не PDF-отчет или скриншот дашборда. Практический ориентир - экспорт в CSV, который открывается без ошибок, с одной строкой на ссылку и согласованными столбцами, а RFC 4180 - это ближайший аналог стандарта, описывающего, как должен выглядеть корректно сформированный CSV-файл.
Как понять, что экспорт ссылок полный?
Сравните количество строк в файле с количеством ссылок, которое показывает дашборд, и любое расхождение больше одного-двух процентов считайте необъясненным, пока не разберетесь в его причине. Затем выборочно проверьте несколько известных ссылок, включая хотя бы одну архивированную или удаленную, потому что незаметное исключение неактивных ссылок по умолчанию - самый частый способ, которым экспорт выглядит полным, но таким не является.
Попробуйте Elido
Вставьте URL - получите короткую ссылку
Без регистрации. Ссылка живёт 30 дней. Зарегистрируйтесь, чтобы оставить её навсегда.
Бесплатно, без регистрации · 2 в день