6 мин чтенияТуториалы

QR-код для номера телефона, SMS и email-адреса

QR-код для телефона кодирует tel: и открывает набор номера с уже заполненным номером. Точные форматы полезной нагрузки для звонков, SMS и email, и подвох, о котором никто не упоминает.

Ana Kowalska
Marketing solutions engineering
Три варианта полезной нагрузки QR-кода рядом друг с другом: для номера телефона, для SMS с предзаполненным сообщением и для email-адреса

QR-код номера телефона не содержит URL. Он содержит текст tel:+14155552671, и сканер распознаёт префикс tel: и передаёт его в набор номера с уже заполненным номером. Он никогда не совершает звонок сам, ни на одном телефоне, который я проверяла.

Тот же трюк работает для двух соседей: SMSTO: открывает текстовое сообщение, mailto: открывает письмо. Три схемы, три формата полезной нагрузки и один общий подвох, который сайты-генераторы обычно упускают - код, построенный так, кодирует действие, а не веб-запрос, поэтому его никогда нельзя ни отредактировать, ни посчитать. В этой статье - точные форматы полезной нагрузки, что каждый из них делает на реальном телефоне, и когда вместо этого стоит использовать ссылку. Про более широкий процесс печати статья QR-кампания с нуля рассказывает от планирования до измерения.

Три формата полезной нагрузки целиком

Каждый из них - это простой текст, который передаётся в любой генератор, принимающий произвольный текст. URL здесь вообще не участвует.

tel:+14155552671
SMSTO:+14155552671:Hi Acme, I saw the flyer
mailto:[email protected]?subject=Quote%20request&body=Hi%20team

Схема tel: происходит из RFC 3966, который прямо говорит, что телефонный URI должен нести глобальный номер - + и код страны - а не локальный. Схема sms: - это RFC 5724; SMSTO: вообще не из этого RFC, а из более старых QR-конвенций, и это до сих пор формат с самой широкой поддержкой сканеров, поэтому генераторы до сих пор его выдают. Email - это RFC 6068, где subject и body - обычные параметры запроса.

Именно на этой последней детали чаще всего ломается полезная нагрузка, собранная руками. subject и body должны быть URL-закодированы, так что пробел - это %20, а амперсанд внутри вашего сообщения - %26. Оставьте необработанный & в body, и всё, что после него, будет прочитано как другой параметр, так что половина вашего сообщения пропадёт. Статья URL-кодирование объяснено содержит полный список символов, если вы пишете это руками.

Форматы полезной нагрузки tel, SMSTO и mailto показаны с тем, что каждый из них открывает на телефоне и какая часть предзаполняется

Что на самом деле происходит при сканировании

Стоит знать это до печати, потому что поведение куда менее автоматическое, чем обещают маркетинговые тексты на сайтах-генераторах.

Сканирование tel: открывает набор номера с видимым номером и одним оставшимся нажатием. Ничего не звонит само по себе, и это осознанная защита, а не баг: получается, что "отсканируй, чтобы позвонить" на самом деле означает "отсканируй, чтобы номер набрали за тебя".

Сканирование SMSTO: открывает мессенджер с уже указанным получателем и, обычно, сообщением в черновике. Именно сообщение - та часть, которая варьируется: некоторые телефоны и некоторые сторонние мессенджеры отбрасывают предзаполненный текст и оставляют только номер. Учитывайте это при проектировании. Если текст критически важен - например, ключевое слово, нужное для маршрутизации, - напечатайте его рядом с кодом тоже.

Сканирование mailto: открывает то почтовое приложение, которое настроено у человека. На телефоне без настроенного почтового аккаунта сканирование выглядит так, будто вообще ничего не происходит, и это стоит помнить, если аудитория - обычные потребители.

Полезная нагрузкаЧто открываетсяЧто предзаполненоГлавный подвох
tel:+1...Набор номераНомерНикогда не звонит сам; нужен код страны
SMSTO:+1...:textМессенджерНомер, обычно текстПредзаполненный текст не гарантирован
sms:+1...?body=textМессенджерНомер, иногда текстСтандарт, но поддерживается менее широко, чем SMSTO
mailto:a@b?subject=Почта по умолчаниюАдрес, тема, текстМолча ничего не делает, если почта не настроена

Пишите номер в формате E.164, иначе он не сработает за границей

+14155552671, а не 0415 555 2671 и не (415) 555-2671. Международный формат стандартизирован как E.164 в ITU: ведущий +, код страны, а затем национальный номер без пробелов, дефисов и скобок.

Номер в национальном формате корректно разрешается для сканера в этой стране и не срабатывает для всех остальных, и именно поэтому напечатанный код для звонка часто отлично работает у команды, которая его проверяла, и ни у кого на выставке. Пунктуация - это вторая половина проблемы: некоторые наборщики убирают пробелы и дефисы, другие воспринимают их как цифры для набора, а скобка, как известно, может прервать разбор раньше времени.

Разместите ссылки и коды своих кампаний на собственном домене - и вы получите тот же генератор плюс аналитику, которую эта прямая полезная нагрузка дать не может.

Подвох: эти коды нельзя ни изменить, ни посчитать

Оба ограничения растут из одного и того же факта. Полезная нагрузка tel:, SMSTO: или mailto: - это инструкция для телефона, а не запрос к серверу. В интернет ничего не отправляется, так что нечего считать и нечего перенаправлять.

Для всего напечатанного это означает две вещи. Номер неизменен на весь срок жизни носителя: новая офисная линия, переезд отдела продаж или смена мессенджер-провайдера делают код неверным, и перепечатка - единственное решение. И вы никогда не узнаете, сработал ли код, потому что сканирование, открывающее набор номера, не оставляет никакого видимого следа. Динамические против статических QR-кодов разбирает это различие в целом, а истекает ли срок действия QR-кодов разбирает, что ещё может тихо перестать работать после тиража печати.

Альтернатива - один уровень непрямого обращения. Закодируйте короткую ссылку на небольшую страницу с кнопкой звонка, кнопкой сообщения и кнопкой email, построенными на тех же схемах. Теперь сканирование - это веб-запрос: его считают, адрес назначения можно редактировать при смене номера, а страница может содержать часы работы или форму для тех, кто сканирует в два часа ночи. Цена - одно лишнее нажатие для посетителя.

Сравнение прямой полезной нагрузки tel с QR-кодом, кодирующим короткую ссылку на страницу контактов: показано, какой вариант можно посчитать и перенаправить

Когда прямая схема всё же уместна

Два случая, и оба реальны:

  • Номер, который не изменится и не нуждается в измерении. Наклейка на лифте с номером ремонтной службы, внутренняя линия хелпдеска, табличка возле оборудования. Прямая полезная нагрузка короче, значит код меньше, и он работает без какого-либо сервиса позади вечно.
  • Место без надёжной связи. Сканирование tel: работает в подземном паркинге; короткая ссылка без сети не разрешится.

За пределами этих случаев непрямое обращение отрабатывает своё лишнее нажатие. Как отслеживать сканирования QR-кода разбирает, что вы получаете, когда сканирование становится запросом.

Проверьте перед печатью

Четыре проверки, и вторую обычно пропускают:

  1. Отсканируйте штатным приложением камеры и на iPhone, и на Android. Сторонние приложения-сканеры более снисходительны, чем встроенные, так что код, который работает только в приложении-сканере, - это код, который откажет в реальных условиях.
  2. Отсканируйте телефоном из другой страны, или хотя бы с другим установленным регионом. Именно это выявляет отсутствующий код страны.
  3. Проверьте, сохранилось ли предзаполненное сообщение, и решите, что делать, если оно не сохранилось.
  4. Распечатайте пробник в финальном размере и отсканируйте его при плохом освещении с того расстояния, с которого будет стоять реальный человек. Статья каким должен быть размер QR-кода содержит правила расстояния.

Меня однажды подвело именно почтовое приложение. Код mailto:, проверенный на рабочем телефоне с настроенным Outlook, выглядит идеально и вообще ничего не делает на обычном телефоне, на котором никогда не добавляли почтовый аккаунт. Если email - это основной призыв к действию, поставьте рядом с ним ссылку.

Читайте цикл опорных статей

Эта статья входит в кластер туториалов. Про весь процесс целиком статья QR-кампания с нуля рассказывает от планирования до измерения, а как создать QR-код разбирает выбор между статическим и динамическим.

Связанные статьи в блоге

Частые вопросы

Как сделать QR-код для номера телефона?

Закодируйте текст tel:+14155552671, а не URL. Это может сделать любой генератор, принимающий произвольный текст. Когда кто-то его сканирует, телефон открывает набор номера с уже заполненным номером и ждёт, когда человек нажмёт вызов - он никогда не звонит сам, ни на iOS, ни на Android.

Какая полезная нагрузка нужна для SMS QR-кода?

SMSTO:+14155552671:Your message here - это формат с самой широкой поддержкой сканеров, а sms:+14155552671?body=Your%20message - это стандарт из RFC 5724. Поддержка предзаполненного сообщения - та часть, которая различается между телефонами и мессенджерами, так что относитесь к тексту как к приятному бонусу, а к номеру - как к тому, что обязательно должно работать.

Как создать email QR-код с темой письма?

Закодируйте mailto:[email protected]?subject=Quote%20request&body=Hi%20team. subject и body - это параметры запроса, определённые в RFC 6068, и оба значения должны быть URL-закодированы, поэтому пробел выглядит как %20. Сканирование открывает почтовое приложение человека по умолчанию с уже заполненными полями.

Нужен ли QR-коду номера телефона код страны?

Да, и с ведущим плюсом. Записывайте номер в формате E.164 - то есть +14155552671, а не 0415 555 2671 и не (415) 555-2671. Номер в национальном формате работает только для сканера в этой стране и молча не срабатывает для всех остальных, и это самая частая причина, по которой напечатанный код для звонка работает у команды, которая его тестировала, и ни у кого больше.

Можно ли отследить, сколько людей отсканировали QR-код телефона или email?

Не с прямой полезной нагрузкой tel:, SMSTO: или mailto:. Они кодируют действие, а не веб-запрос, так что ничего не доходит до сервера, который мог бы это посчитать. Если вам нужно число, закодируйте вместо этого короткую ссылку на небольшую страницу с кнопками звонка и сообщения и считывайте клики там.

Что происходит, если номер телефона меняется после печати?

Прямой код tel: становится неверным навсегда, потому что номер зашит в узор. Остаётся перепечатать или перенаправить - а перенаправление возможно только если код кодирует ссылку, которую вы контролируете, а не сам номер. Для всего, что живёт дольше, чем сама кампания, кодируйте ссылку.

Попробуйте Elido

Вставьте URL - получите короткую ссылку

Без регистрации. Ссылка живёт 30 дней. Зарегистрируйтесь, чтобы оставить её навсегда.

Бесплатно, без регистрации · 2 в день

Попробуйте Elido

URL-сокращатель с хостингом в ЕС: собственные домены, глубокая аналитика, открытый API. Бесплатный тариф - без банковской карты.

Теги
qr code for phone number
sms qr code
email qr code
tel uri
mailto
dynamic qr code

Читать дальше