Статические и динамические QR-коды - это не две разновидности одного и того же. Это два совершенно разных артефакта, которые в момент сканирования выглядят одинаково. Один из них навсегда кодирует URL в сетку черно-белых модулей. Другой кодирует короткую ссылку - указатель. Важно ли это различие для вас, полностью зависит от того, на что вы ссылаетесь и планируете ли вы когда-либо это изменить.
TL;DR#
- Статический QR-код кодирует целевой URL напрямую в паттерне модулей. Напечатайте его, и пункт назначения будет зафиксирован навсегда.
- Динамический QR-код кодирует короткую ссылку. Фактический пункт назначения хранится в Elido, и его можно изменить, отслеживать или использовать для A/B-маршрутизации уже после того, как код напечатан.
- Динамические QR-коды добавляют один переход по HTTP-редиректу (~5–15 мс в edge-инфраструктуре Elido). На практике пользователи этого не замечают.
- Если есть хоть малейший шанс, что пункт назначения изменится, или вам нужна аналитика сканирований - используйте динамические коды. Статические подходят только в тех случаях, когда URL стабилен вечно и вам действительно не нужно отслеживание.
Что на самом деле кодирует статический QR#
QR-код - это не изображение URL. Это 2D-матрица бинарных модулей - темных и светлых квадратов, расположенных в сетке, которая кодирует данные в четырех возможных режимах (числовом, буквенно-цифровом, байтовом, кандзи). Длинный HTTPS-URL обычно требует байтового режима.
Размер этой сетки называется версией. Стандарт ISO/IEC 18004, определяющий структуру QR-кода, специфицирует 40 версий: версия 1 - это сетка 21×21 модуль, способная вместить 17 буквенно-цифровых символов; версия 40 - 177×177 модулей, вмещающая 4 296 символов. Каждая последующая версия добавляет по четыре модуля с каждой стороны. URL вида https://example.com/products/spring-collection-2026?utm_source=flyer&utm_medium=print&utm_campaign=march состоит из 101 символа. При уровне коррекции ошибок M для него потребуется как минимум версия 15 (77×77 модулей), а это уже достаточно плотная сетка, сканирование которой с расстояния вытянутой руки на изношенном или малоконтрастном отпечатке может не сработать.
Уровни коррекции ошибок - L, M, Q, H - позволяют жертвовать емкостью данных ради устойчивости к повреждениям. Уровень H может восстановить до 30% поврежденных или скрытых данных модулей; уровень L справляется с 7%. Чем больше запас для коррекции вы закладываете, тем больше должна быть сетка для размещения той же полезной нагрузки. Подробнее об этом в разделе о логотипах ниже.
Как только QR-код напечатан, URL «вжигается» в паттерн модулей. Опции «редактировать пункт назначения» не существует. Опечатка в URL, перемещение страницы, завершение кампании - все это означает перепечатку. Создатель QR-кода Denso Wave публикует полные таблицы версий и емкости, если вы хотите рассчитать точную точку окупаемости.
Что кодирует динамический QR#
Динамический QR-код кодирует короткую ссылку вместо полного целевого URL. Например, https://b.elido.me/spring26 - 32 символа, версия 3 (29×29) при уровне коррекции ошибок H. Фактический пункт назначения находится в хранилище данных Elido и разрешается в момент сканирования.
Этот слой косвенности позволяет делать четыре вещи, недоступные статическому QR:
Изменение редиректа. Обновите целевой URL в панели управления или через API. Напечатанный код никогда не меняется. Кампания переезжает на новый лендинг - флаеры, уже находящиеся «в полях», следуют за ней.
Аналитика сканирований. Каждое сканирование - это событие редиректа. Elido записывает его в наше аналитическое хранилище: метка времени, страна, тип устройства - без сэмплирования. Функция отслеживания конверсий позволяет замкнуть цикл от сканирования до целевого действия, если ваш лендинг отправляет postback.
A/B-маршрутизация. Smart links позволяют настраивать маршрутизацию по стране, устройству или языку на уровне редиректа. Один QR-код на упаковке товара может отправлять пользователей iOS в App Store, пользователей Android в Play Store, а десктопных посетителей - на маркетинговую страницу. Один напечатанный код, три пункта назначения, ноль перепечаток.
Срок действия. Вы можете настроить ссылку так, чтобы после определенной даты она перенаправляла на страницу «кампания завершена». Код по-прежнему будет сканироваться, но пользователи попадут на актуальную страницу вместо 404.
Штраф по задержке - один дополнительный HTTP-редирект. Edge-инфраструктура Elido работает на уровне p95 15 мс при попадании в кэш. Сканирование с телефона включает захват кадра камерой (~100–300 мс), декодирование QR библиотекой ОС, разрешение DNS, TLS-рукопожатие и сам редирект - все это значительно превышает те 5–15 мс, которые добавляет сам редирект. Пользователи никогда этого не замечают.
Компромисс с коррекцией ошибок#
Динамические QR-коды меньше (короче URL → меньше версия). Это имеет значение при размещении логотипа внутри кода.
При уровне коррекции ошибок H сканер восстановит данные, даже если 30% модулей повреждены или скрыты. Именно этот запас в 30% позволяет разместить логотип бренда в центре QR-кода - логотип закрывает часть модулей, а алгоритм коррекции ошибок их восстанавливает.
Подвох в том, что коррекция уровня H требует места. При той же полезной нагрузке переход с уровня M на H увеличивает количество модулей примерно на 15–20%. Статический QR версии 15 (уровень M), который вы попытаетесь перевести на уровень H, превратится в версию 22 или около того - значительно более плотную сетку. Динамический QR версии 3 (уровень H) для короткого URL типа b.elido.me/spring26 остается крошечным и при этом сохраняет запас коррекции для логотипа.
Это недооцененная причина, по которой команды выбирают динамические QR-коды, даже если им не нужно редактирование редиректов: короче URL → меньше версия → больше запас коррекции ошибок → помещается логотип → печатные материалы соответствуют бренду.
Производительность и сканируемость#
Размер модуля на расстоянии печати - это практическое ограничение, о котором никто не говорит, пока QR-код не перестает работать «в полях».
QR-код версии 3 (29×29), напечатанный размером 3 см × 3 см, дает модули шириной примерно 1 мм. На расстоянии 30 см большинство камер телефонов разрешают их четко. Перейдите к QR версии 20 (97×97) при том же физическом размере печати, и вы получите модули 0,3 мм - на расстоянии вытянутой руки, на глянцевом флаере под галогеновым освещением, надежное сканирование будет под вопросом.
Руководство по печати QRTIGER (доступно от 10.05.2026) описывает эмпирическое правило, которое подтверждается практикой: минимальный размер печатного QR-кода должен составлять 1/10 от расстояния сканирования. Код, предназначенный для сканирования с 1 метра, должен быть как минимум 10 см × 10 см. Все, что меньше, заставляет полагаться на хорошую камеру при хорошем освещении.
Минимальный размер модуля - это нижний предел, а не цель. Если вы печатаете на упаковке, которую смотрят с разных расстояний - товар на полке, постер - используйте версию с наименьшей плотностью модулей. А это значит кратчайший URL, то есть короткую ссылку.
Когда статический QR - лучший выбор#
У статических QR-кодов есть свои законные сферы применения. Они подходят, когда:
- Пункт назначения действительно постоянен и стабилен: DOI, обязательное раскрытие информации, ссылка на государственные реестры.
- Код нанесен на то, что никогда не будет перепечатано, и вас не интересует аналитика сканирований (книга разового тиража, товар, где лендингом является руководство пользователя, которое не изменится).
- Вы генерируете QR-коды офлайн, без подключения к сервису сокращения, и вам нужно, чтобы код работал без какой-либо серверной зависимости.
Во всех трех случаях статический код проще. Не нужен аккаунт, нет риска истечения срока действия, нет зависимости от внешнего сервиса в процессе сканирования. QR-код, встроенный в PDF-архив со стабильным URL, останется сканируемым и через десять лет без какой-либо инфраструктуры на вашей стороне.
Когда побеждает динамический QR#
Во всех остальных случаях. В частности:
Все, что вы можете захотеть отредактировать после печати. Любая кампания с фиксированной датой окончания. Любой сценарий, где вы хотите знать, сколько людей сканировало код, откуда и с какого устройства. Любой код на упаковке, которая поставляется в разные регионы и требует геозависимых лендингов. Любая ситуация, когда «финальный» URL еще согласовывается, а код уже нужно отправлять в печать.
Динамические QR-коды также уменьшают «радиус поражения» от неверного URL. Если в целевом адресе ошибка, вы исправляете ссылку, а не упаковку. Это своего рода страховка, которая ничего не стоит при создании, но может спасти всё, когда она внезапно потребуется.
См. также: кастомные домены для коротких ссылок - там описано, как использовать собственный домен для короткого URL, встроенного в QR, вместо общего поддомена elido.me.
Третий вариант: динамический QR с брендированным коротким URL#
Практическим стандартом для большинства команд является не выбор между «статическим или динамическим», а динамический код с короткой ссылкой на собственном домене. Например, links.acme.example/spring26 вместо сырого b.elido.me/spring26.
Почему это важно именно для QR: брендированный домен вроде links.acme.example обычно на 17–20 символов короче, чем небрендированный URL для отслеживания с UTM-параметрами. Эта разница при версии 3 / коррекции ошибок H дает значительно меньшее количество модулей, чем кодирование полной строки с UTM в версии 7. Меньшее количество модулей означает лучшую сканируемость при меньших размерах печати и больше места для наложения логотипа.
Помимо физики: собственный домен в коротком URL означает, что QR-код останется валидным, даже если вы смените сервис сокращения ссылок. Точка назначения редиректа находится на домене, а домен принадлежит вам. Настройка кастомных доменов описана на странице функций, а доступность по тарифам - на странице цен (кастомные домены доступны в тарифе Pro и выше).
Для маркетологов, управляющих QR-кодами в больших масштабах, страница решений для маркетологов описывает полный цикл работы с кампаниями, включая массовую генерацию QR через API.
Операционные ловушки#
Критическая ошибка, которую никто не описывает, пока она не случится: динамический QR-код, чей домен сокращателя перестал работать, превращается в бесполезный мусор. QR-код размещен на физических носителях - упаковке, вывесках, мерче, книгах - а сканирование ведет на домен, который больше не резолвится. Обновить код нельзя, потому что в нем зашит короткий URL, а не конечная цель. Короткий URL исчез.
Решение здесь административное, а не технологическое. Знайте, кто владеет доменом, знайте дату продления, держите оплату в той же биллинговой системе, что и все остальное важное. Если вы используете поддомены Elido (elido.me), то продление - это наша забота. Если вы используете собственный домен - это ваша ответственность, и к нему нужно относиться с той же серьезностью, что и к api.acme.example.
Вторая ловушка - удаление ссылки. Динамический QR-код, указывающий на удаленную ссылку, выдаст ошибку 404 или перенаправит на резервную страницу в зависимости от настроек сервиса. Elido перенаправляет удаленные ссылки на настроенный в воркспейсе URL «не найдено» - это лучше, чем «сырая» 404, но все же не оригинальный пункт назначения. Если QR-код нанесен на физические материалы, отправляйте ссылку в архив, а не удаляйте ее.
Все это аргументы в пользу того, что к коротким ссылкам для QR-кодов нужно относиться иначе, чем к обычным ссылкам для кампаний. Помечайте их тегами, складывайте в отдельную папку и ставьте напоминание перед любым продлением. Стандарт GS1 для QR-кодов на розничной упаковке добавляет к этому еще один слой - GS1 Digital Link кодирует идентификатор продукта в структуре URL, что дает розничной экосистеме стабильный слой разрешения ссылок, даже если отдельные бренды меняют поставщиков сокращателей. Полезно знать, если вы работаете в ритейле.
Техническая анатомия пути редиректа, на котором базируется динамический QR - как работают кэши L1/L2, что происходит при промахе кэша, как выглядит распределение задержек в продакшене - описана в посте о smart links. Там используется та же edge-инфраструктура, что обслуживает каждый редирект QR.
- Marius
Похожие статьи в блоге#
Попробуйте Elido
Вставьте URL - получите короткую ссылку
Без регистрации. Ссылка живёт 30 дней. Зарегистрируйтесь, чтобы оставить её навсегда.
Бесплатно, без регистрации · 2 в день