Помощь

Шаблонизация SMS: как это устроено

Что такое операторские шаблоны, почему от них зависит цена сообщения и как идёт согласование. Про саму технологию, без привязки к Templify.

Почему одно SMS дороже другого

Оператор берёт за сообщение разные деньги — смотря что в нём написано. Дороже всего стоит реклама. Дешевле идут сообщения по делу клиента: код подтверждения, статус заказа, списание с карты. На небольшой рассылке разницы не видно, на регулярной она и есть основная часть счёта.

Вопрос в том, как оператор отличает одно от другого. Читать сообщения некому — их миллионы, а верить на слово отправителю нельзя: тогда рекламой не назвался бы никто. Поэтому решение принимается машиной и по самому тексту. Шаблон — это способ заранее показать оператору, какие тексты вы будете отправлять, и получить на них дешёвый тариф.

Шаблонами можно не пользоваться вовсе — рассылка от этого не сломается, просто вся уедет по рекламной цене. Возиться с ними стоит там, где сообщений много и разница в тарифе перевешивает возню с согласованием.

Что такое шаблон

Шаблон — это будущее сообщение, из которого вынули всё меняющееся. Постоянный текст остаётся как есть, а на месте суммы, кода, номера заказа и имени стоят переменные. Операторы называют их операндами — это слово встретится вам в их отказах.

  • Живое сообщение: «Заказ 69757 на сумму 4300 руб принят. Компания „Ромашка“».
  • Шаблон из него: «Заказ %d на сумму %d руб принят. Компания „Ромашка“».

Один шаблон покрывает все сообщения, которые из него получаются: и заказ 69757 на 4300 рублей, и заказ 12 на 90. Согласовывать каждое сообщение не нужно, согласовывают заготовку — в этом весь смысл затеи.

Как сообщение узнаётся по шаблону

Каждое уходящее сообщение сверяется с зарегистрированными шаблонами. Подошло под шаблон — идёт по его типу и по его цене. Не подошло ни под один — считается рекламой и тарифицируется как реклама.

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

Сверка при этом устроена не буквоедски, но и не вольно:

  • Регистр не важен: «КОД» и «код» для сверки одно и то же.
  • Лишние пробелы не важны: два пробела подряд или перенос строки читаются как один пробел.
  • А вот знаки препинания — часть текста. Кавычки-ёлочки вместо прямых, длинное тире вместо дефиса, лишняя точка — и сообщение под шаблон уже не подходит.
Шаблон, который не совпадает с живыми сообщениями, — самая дорогая тихая ошибка во всей теме. Оператор его зарегистрирует: он проверяет текст на соответствие своим правилам, а не сверяет его с вашей рассылкой. Дальше вы платите за такой шаблон, а трафик по нему идёт как реклама, и заметить это можно только по счёту. Одного неверного знака хватает, чтобы шаблон перестал ловить свои сообщения.

Переменные, они же операнды

Записываются переменные операторским синтаксисом — он общий у всех. Пород всего две:

  • %w — одно слово: буквы, цифры или знаки, лишь бы без пробелов. %w{1,3} — от одного до трёх слов через пробел.
  • %d — одно число целиком, сколько бы в нём ни было цифр. %d{1,3} — до трёх чисел через пробел; так записывают сумму, разделённую по разрядам: «1 234 567».
Единица счёта — слово и число, а не символ и цифра. %d{4} значит не «четырёхзначный код», а «четыре числа подряд через пробел». Код из четырёх цифр — это просто %d. На этом спотыкаются чаще всего, и спотыкаются тихо: оператор такой шаблон зарегистрирует, а живые сообщения под него не подойдут.

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

Форма «%w+» — «сколько угодно слов подряд» — в правилах операторов запрещена прямым текстом: под такой шаблон подходит почти любое сообщение. Оператор иногда пропускает такой шаблон, но опираться на это не стоит: правило написано, а практика конкретного модератора меняется без предупреждения. Вместо неё ставят «%w» — одно слово — или «%w{1,3}», если слов бывает несколько.

Типы трафика

У шаблона есть тип — это ваше утверждение о том, что за сообщение вы шлёте. От него зависит и цена, и то, примет ли оператор заявку вообще.

  • Сервисный (у части операторов он называется информационным) — сообщение по делу клиента: заказ собран, запись перенесена, услуга подключена.
  • Транзакционный — операция с деньгами: списание, зачисление, платёж. В тексте должно быть видно саму операцию, сумму и счёт, иначе оператор завернёт.
  • Авторизационный, он же идентификационный, — код для входа или подтверждения. Отдельным типом его принимают не все; остальным тот же код подаётся сервисным.
  • Рекламный — всё, что не попало в предыдущие. Шаблон для рекламы не нужен: дешевле она от этого не станет.

Наборы типов у операторов не совпадают — ни составом, ни названиями. Один и тот же код подтверждения у одного оператора идёт отдельным типом, а у другого сервисным, и это нормальное положение дел, а не чья-то ошибка.

Побуждение к покупке — «успейте», «продлите», «запишитесь», «только сегодня» — превращает сервисное сообщение в рекламное в глазах модератора. Это одна из самых частых причин отказа, и текст при этом выглядит совершенно обычным.

Каждый оператор решает сам

Шаблон согласовывается не «вообще», а у каждого оператора отдельно. Друг от друга они не зависят, правила у них похожие, но не одинаковые, а трактует эти правила живой модератор. Обычное дело: один принял текст сервисным, другой на том же тексте отказал.

Отсюда три вещи, которые удивляют чаще всего:

  • Отказ одного оператора не портит тариф у остальных. Абоненты той сети, где шаблон согласован, получат сообщение по дешёвой цене; абоненты отказавшей сети — по рекламной. Это одна и та же рассылка с разной ценой у разных получателей.
  • Переподавать надо только тому, кто отказал. У остальных шаблон уже работает, и трогать его незачем.
  • А вот если поменялся сам текст рассылки — переподавать надо всем. Старые шаблоны новый текст не покрывают, и он уедет рекламой у каждого оператора разом.

Подпись отправителя

Подпись — то, что абонент видит в SMS вместо номера. Её же называют именем отправителя или Sender ID. Регистрируется она у оператора отдельно от шаблонов и заранее: сначала имя, потом тексты под него.

Имя короткое: от 3 до 11 символов, латиница и цифры, без пробелов. Кириллицей его не написать — таких букв нет в алфавите, которым кодируются буквенные имена в SMS.

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

Путь шаблона и сроки

Согласование — процесс, внутри которого есть люди, и идёт он неделями, а не минутами.

  1. 1Вы отдаёте шаблоны туда, откуда идёт рассылка: напрямую оператору, если у вас с ним договор, или своему поставщику SMS.
  2. 2Заявка попадает к оператору. У части операторов приём идёт по графику — в определённые числа месяца; не попали в окно, ждёте следующего.
  3. 3Модератор читает текст и отвечает: зарегистрировал или отказал. Отказ приходит с причиной, обычно в одну строку и своими словами.
  4. 4У согласованного шаблона появляется дата активации. До неё сообщения по нему идут по прежней цене — то есть по рекламной.

Дальше шаблон живёт, пока по нему идёт трафик. Часть операторов снимает его сама, если по нему давно ничего не отправляли: у разных операторов это 60 и 180 дней простоя. Снятый шаблон не «включается обратно» — его согласовывают заново, со всеми сроками.

Отдать заявку можно двумя путями. Напрямую — если у вас свой договор с оператором и доступ в его кабинет. Или через поставщика SMS (его часто называют агрегатором), у которого договоры с операторами уже есть: тогда шаблоны вы отдаёте ему, а он несёт их дальше и возвращает ответ. Правила к тексту в обоих случаях операторские — их пишут не посредники, — а вот сроки, порядок подачи и цена у посредника свои.

За что идут деньги

Считать надо две вещи сразу, и вторую обычно узнают поздно.

  • Цена сообщения. Ради неё всё и затевается: трафик, покрытый шаблоном, стоит дешевле рекламного.
  • Плата за сам шаблон. У части операторов за каждый согласованный шаблон идёт помесячный счёт, и он не зависит от того, прошло по шаблону миллион сообщений или ни одного.

Поэтому лишний шаблон — это не беспорядок в списке, а счёт каждый месяц. Дубли (один и тот же текст, заведённый дважды), заготовки под рассылку, которая так и не началась, и остатки старых акций платятся наравне с рабочими.

Оттуда же и обратная задача: несколько похожих текстов часто описываются одним шаблоном с более широкой переменной — и платить придётся за один вместо пяти. Вся работа с шаблонами и сводится к этой середине: слишком широкая переменная не понравится модератору, слишком узкая не покроет трафик.

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

Что дальше

Это была технология — она одинакова, чем бы вы ни пользовались. Как то же самое делается по шагам: собрать текст с переменными, проверить его до подачи, выгрузить файл в том виде, в каком его ждёт оператор, и отметить ответ — в гайде «Первый шаблон: от текста до подачи».

Не нашли ответ — посмотрите соседние гайды: список на странице «Помощь».