UCS-2 или GSM 7-bit: что выгоднее для SMS через SMPP

UCS-2 или GSM 7-bit: что выгоднее для SMS через SMPP

Выбор кодировки напрямую влияет на количество SMS-сообщений, которое вы отправляете, и, соответственно, на бюджет. Если вы используете SMPP-подключение для рассылок, то разница между GSM 7-bit и UCS-2 может составлять до 40–50% стоимости трафика. В этой статье разберём, как кодировка работает, когда экономия реальна, а когда лучше переплатить, чтобы не потерять клиента.

Как кодировки SMPP влияют на длину SMS и цену?

Протокол SMPP передаёт текст сообщения в разных форматах. Базовый — GSM 7-bit, он поддерживает латиницу, цифры и ограниченный набор символов (вроде $, %, &). Одно сообщение в GSM 7-bit вмещает до 160 символов. Если текст длиннее, SMPP разбивает его на сегменты — каждый до 153 символов (остаток занимают заголовки). Соответственно, одно сообщение в 300 символов займёт 2 сегмента, и тарифицироваться будет как 2 SMS.

Кодировка UCS-2 (она же UTF-16) используется для кириллицы, эмодзи и других нелатинских символов. Одно сообщение в UCS-2 вмещает только 70 символов. Сегмент — 67 символов. То есть 300-символьное сообщение на русском языке — это уже 5 сегментов. Платить придётся за 5 SMS вместо 2.

Для малого бизнеса, который отправляет тысячи сообщений в месяц, разница ощутима. Если ваша база состоит из русскоязычных клиентов, каждый текст на кириллице стоит примерно в 2,5 раза дороже, чем аналогичный на латинице. Но латиница часто выглядит неестественно для белорусской аудитории — это снижает доверие.

Когда использовать GSM 7-bit, а когда UCS-2?

Однозначного ответа нет. Всё зависит от содержания сообщения и канала связи.

  • Транзакционные уведомления (код подтверждения, статус заказа) — часто используют латиницу и цифры. Если ваш текст помещается в латинский алфавит (например, “Your code: 4821”), GSM 7-bit идеален. Сообщение влезает в один сегмент, экономия на каждую тысячу отправок составит 60–70% по сравнению с UCS-2.
  • Маркетинговые рассылки на русском — кириллица неизбежна. Но если сообщение короткое (до 70 символов), разницы в сегментах нет: одно сообщение и в GSM 7-bit, и в UCS-2. Поэтому короткие фразы вроде “Акция! Скидка 20%” можно смело писать кириллицей без потери в цене.
  • Сообщения с эмодзи — только UCS-2. Смайлик может удвоить количество сегментов, поэтому эмодзи стоит использовать только в маркетинге, когда важна эмоция, а не экономия.

Таблица сравнения: GSM 7-bit vs UCS-2

ПараметрGSM 7-bitUCS-2
Максимальная длина одного сообщения160 символов70 символов
Длина сегмента153 символа67 символов
Поддерживает кириллицуНетДа
Поддерживает эмодзиНетДа
Стоимость 300-символьного сообщения (в сегментах)2 сегмента5 сегментов
Когда выгодноЛатинские тексты, коды, короткие цифрыКороткие кириллические фразы до 70 символов, эмодзи

Типичные ошибки при выборе кодировки

  1. Писать кириллицу в GSM 7-bit. Некоторые SMPP-шлюзы автоматически переключаются на UCS-2, если находят неподдерживаемый символ. Вы думаете, что экономите, а фактически платите за UCS-2. Лучше явно указать кодировку в настройках.
  2. Использовать латиницу для длинных сообщений. Если текст на латинице превышает 160 символов, он всё равно разбивается на сегменты. Иногда выгоднее сократить текст, чем платить за 2 сегмента.
  3. Не проверять длину в символах. Одна запятая или пробел считаются символом. Всегда считайте точное количество символов до отправки, особенно в автоматических скриптах.
  4. Ставить эмодзи в транзакционные SMS. Смайлик переводит всё сообщение в UCS-2 и может удвоить количество сегментов. В кодах или уведомлениях эмодзи не нужны, а цена за них высокая.
  5. Полагаться на «автовыбор кодировки» в SMPP. Некоторые SMSC (SMS-центры операторов) могут самостоятельно переключать кодировку, не предупреждая вас. При интеграции через SMPP лучше явно указывать data_coding (0x00 для GSM 7-bit, 0x08 для UCS-2).

Почему для Беларуси вопрос кодировки особенно актуален?

Основные операторы — MTS, life, A1 — работают со стандартными SMPP-соединениями. Но белорусские абоненты привыкли получать SMS на русском или белорусском языке. Если ваш бизнес обслуживает клиентов в Минске, Гомеле, Бресте или других городах, вы почти всегда используете кириллицу.

Единственный способ сэкономить — отправлять короткие сообщения, которые укладываются в 70 символов. Тогда неважно, какая кодировка: сегмент один. Если же текст длиннее, можно разбить его на две короткие SMS, но каждая будет тарифицироваться отдельно. Иногда выгоднее сделать два коротких сообщения, чем одно длинное в UCS-2, которое займёт 3–4 сегмента.

Подробнее о том, как именно кодировка меняет стоимость, читайте в статье «Как кириллица и латиница в SMS через SMPP меняют стоимость».

Практический совет: как рассчитать сегменты до отправки

Большинство SMPP-библиотек и систем позволяют увидеть количество сегментов. Если вы пишете скрипт самостоятельно, используйте формулу:

  • Для GSM 7-bit: ceil(длина_текста / 153)
  • Для UCS-2: ceil(длина_текста / 67)

Перед отправкой проверяйте, сколько сегментов получится. Это легко сделать в любом онлайн-калькуляторе длины SMS или прямо в коде.

Если вы часто отправляете сообщения на русском языке длиной 100–150 символов, рассмотрите вариант сокращения текста. Уберите лишние приветствия или подпись — иногда 10–15 символов экономят целый сегмент. Для массовых маркетинговых рассылок такая оптимизация может снизить расходы на 20–30%.

Полезные ссылки «Оптимизация расходов на SMS-трафик: практические шаги для бизнеса Беларуси», «SMPP или API: что выгоднее для SMS в Беларуси».

3 шага, которые можно сделать сегодня:

  1. Проверьте, какую кодировку вы используете в настройках SMPP-шлюза — явно укажите data_coding.
  2. Посчитайте среднюю длину ваших сообщений в символах; если она превышает 70, сократите текст хотя бы до 70 или до 153 (если используете латиницу).
  3. Протестируйте отправку короткого кириллического сообщения (до 70 символов) — сравните стоимость с длинным (например, 150 символов) и зафиксируйте разницу в бюджете.

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