ROI SMS-кампаний рассчитывается как разница между выручкой от рассылки и её стоимостью, делённая на стоимость и умноженная на 100%. Ключевые метрики: доставляемость, CTR, конверсия в целевое действие, средний чек и LTV привлечённых клиентов. Для точного измерения нужны UTM-метки, интеграция с CRM и сквозная аналитика до чека или заказа.
Что такое ROI в SMS-маркетинге и зачем его считать
ROI (Return on Investment) в SMS показывает, сколько рублей прибыли принес каждый вложенный в рассылку рубль. В отличие от email или пуш-каналов, SMS имеет высокую стоимость контакта — от 1,5 до 5 рубля за сообщение в России в 2025 году. Ошибка в сегментации или тайминге быстро съедает маржу.
Измерение ROI решает три задачи: обоснование бюджета перед финансовым директором, поиск неэффективных сегментов и масштабирование работающих гипотез. Без расчёта ROI SMS-канал воспринимается как центр затрат, а не как драйвер выручки.
Ключевые метрики для расчёта ROI SMS-кампаний
Метрики доставляемости и охвата
Базовый слой — техническая доставляемость. Если сообщения не доходят, дальше считать нечего. Норма для качественной базы в 2025–2026 годах — 97–99% доставленных. Ниже 95% — сигнал проблем с репутацией отправителя или «грязной» базой.
- Delivery Rate = (Доставлено / Отправлено) × 100%
- Bounce Rate = (Не доставлено / Отправлено) × 100% — разделяют на hard bounce (номер не существует) и soft bounce (временно недоступен)
- Opt-out Rate = (Отписавшихся / Доставлено) × 100% — норма до 0,5% на кампанию; выше — проблема с частотой или релевантностью
Метрики вовлечения
Показывают, заинтересовала ли аудитория предложением. В SMS нет открытий (open rate), поэтому основной индикатор — клики по ссылке.
- CTR (Click-Through Rate) = (Уникальные клики / Доставлено) × 100%. Медиана по рынку в 2025 году: 3–6% для промо, 8–15% для транзакционных и триггерных
- CPC (Cost Per Click) = Стоимость кампании / Уникальные клики. Позволяет сравнивать SMS с контекстной рекламой и таргетом
Метрики конверсии и выручки
Самый важный слой для ROI. Без привязки к деньгам CTR и доставляемость — vanity metrics.
- Conversion Rate = (Заказы / Клики) × 100% — зависит от лендинга, оффера и сегмента
- CPA (Cost Per Acquisition) = Стоимость кампании / Количество заказов
- AOV (Average Order Value) — средний чек заказов из SMS
- Revenue per SMS = Выручка от кампании / Количество отправленных сообщений
- LTV (Lifetime Value) привлечённых через SMS клиентов — критично для подписочных моделей и ритейла с повторными покупками
Пошаговая методология расчёта ROI
Алгоритм расчёта одинаков для разовых промо-рассылок и триггерных цепочек. Разница — в окне атрибуции и учёте повторных продаж.
- Фиксируйте все затраты. Стоимость SMS (платформа + шлюз), затраты на подготовку контента, сегментацию, техническую интеграцию. Для триггеров — амортизация разработки за месяц.
- Настройте сквозную аналитику. Обязательны UTM-метки (
utm_source=sms&utm_medium=cpc&utm_campaign=summer_sale) и передачаclient_idилиphone_hashв CRM/analytics. - Определите окно атрибуции. Для импульсных покупок — 24–48 часов. Для considered purchase (авто, недвижмость, B2B) — 14–30 дней. Зафиксируйте правило в документации аналитики.
- Соберите выручку. Сумма заказов, атрибутированных кампании, за окно атрибуции. Вычтите возвраты и отмены.
- Примените формулу.
ROI = ((Revenue - Total_Cost) / Total_Cost) × 100%Пример: кампания стоила 45 000 ₽, принесла 120 заказов на 360 000 ₽ выручки. ROI = ((360 000 — 45 000) / 45 000) × 100% = 700%.
Для триггерных цепочек (брошенная корзина, реактивация) считают ROI за когорту за месяц: суммарная выручка от когорты / суммарные затраты на SMS за месяц.
Инструменты для измерения: от таблиц до CDP
Выбор инструмента зависит от масштаба и зрелости аналитики. Ниже — сравнение типичных решений на рынке в 2025–2026 годах.
| Категория | Примеры | Для чего подходит | Ограничения |
|---|---|---|---|
| Встроенная аналитика SMS-провайдеров | Unisender, ePochta, SMS.ru, MTS Exolve, Beeline API | Delivery rate, CTR, базовый CPA. Быстрый старт без интеграций | Нет данных о выручке, LTV, повторных заказах. Не умеют в мультитач-атрибуцию |
| Google Analytics 4 / Яндекс.Метрика + UTM | GA4, Яндекс.Метрика | Веб-конверсии, воронки, сегментация по поведению на сайте | Не видят офлайн-продажи, звонки, приложения. Проблемы с cross-device |
| Комплексная сквозная аналитика | Roistat, Alytics, Calltouch, PrimeGate, OWOX BI | Связка SMS → CRM → Чек/Звонок/Приложение. ROI по каналам, когортам, сегментам | Стоимость от 15–30 тыс. ₽/мес. Требует настройки интеграций |
| CDP / Marketing Automation | Mindbox, Carrot Quest, Altcraft, Braze (enterprise) | Триггерные цепочки, персонализация, LTV-оптимизация, A/B тесты контента | Сложность внедрения 1–3 месяца. Цена от 50 тыс. ₽/мес. |
| BI-самопис / Data Warehouse | ClickHouse + Metabase / Superset, BigQuery + Looker | Полный контроль, кастомные атрибуционные модели, объединение онлайн/офлайн | Требует дата-инженеров. Time-to-insight: недели |
Минимальный стек для старта в 2025 году: SMS-провайдер с вебхуками доставки + GA4/Метрика с UTM + выгрузка заказов из CRM в Google Sheets для ручного расчёта раз в неделю. Переход на сквозную аналитику оправдан при бюджете на SMS от 100 тыс. ₽/мес.
Типичные ошибки при измерении ROI и как их избежать
1. Игнорирование скрытых затрат
Считают только стоимость SMS, забывают про зарплату маркетолога, дизайнера, разработчика API, стоимость валидации базы (HLR-запросы), комиссии платёжных систем на оплату заказов. Реальная стоимость кампании на 15–30% выше тарифа шлюза.
2. Атрибуция только по последнему клику
Клиент видел SMS, не кликнул, через 3 дня пришёл по брендовому запросу и купил. Last-click спишет продажу на органику. Решение: используйте view-through окно 24–48 часов для SMS (аналогично view-through в дисплее) или data-driven атрибуцию в сквозной аналитике.
3. Усреднение по всей базе
ROI по всей рассылке скрывает сегменты с отрицательным ROI. Всегда считайте ROI по когортам: новые / спящие / лояльные, по RFM-сегментам, по гео, по типу оффера. Часто 20% сегмента дают 120% прибыли, а 60% — убыток.
4. Неучёт кросс-девайс и офлайн
Клиент кликнул по SMS на телефоне, купил на десктопе или в магазине. Без User ID / Phone ID в CRM и кассовом ПО продажа потеряна для атрибуции. В 2025 году стандартом де-факто является передача хеша телефона (sha256(phone)) в dataLayer и CRM.
5. Сравнение ROI разных каналов без нормализации
SMS ROI 700%, Email ROI 3000% — вывод «email лучше» ошибочен. У каналов разная аудитория, разная стадия воронки, разная стоимость контакта. Сравнивайте marginal ROI (ROI следующего вложенного рубля) и инкрементальность через A/B тесты с контрольной группой (holdout).
Продвинутые подходы: инкрементальность и предиктивные модели
Базовый ROI отвечает на вопрос «сколько заработали». Инкрементальный ROI — «сколько заработали благодаря SMS». Разница критична для зрелых баз.
Holdout-тесты (A/B с контрольной группой без SMS)
Отделяете 5–10% сегмента, не отправляете им SMS, сравниваете выручку за окно атрибуции. Инкрементальная выручка = Выручкаtest — Выручкаcontrol. Инкрементальный ROI считается по инкрементальной выручке.
# Псевдокод расчёта инкрементального ROI
incremental_revenue = revenue_test_group - revenue_control_group * (size_test / size_control)
incremental_roi = (incremental_revenue - sms_cost) / sms_cost * 100Проводите holdout тесты минимум раз в квартал на ключевых сегментах. В 2025 году большинство сквозных аналитик (Roistat, Alytics, OWOX) имеют встроенные модули для этого.
Предиктивный LTV и bid-оптимизация
Если у вас есть исторические данные (6+ месяцев), обучите модель предсказания LTV по первым 3–7 дням после клика из SMS. Используйте предсказанный LTV для управления ставками в программных SMS-платформах (MTS Exolve, Beeline API поддерживают bid-модификаторы по сегментам) или для динамической сегментации: высокий pLTV → чаще и дороже, низкий → только триггеры.
Чек-лист внедрения измерения ROI SMS
- Настроены UTM-метки на всех ссылках в SMS
- В CRM/analytics передаётся идентификатор клиента (phone_hash / client_id) из клика
- Окно атрибуции зафиксировано и согласовано с продажами/финансами
- Все затраты (SMS, труд, софт) собраны в едином реестре затрат на кампанию
- ROI считается по сегментам, а не только в целом
- Проводится holdout-тест раз в квартал
- Еженедельный отчёт: Delivery Rate, CTR, CPA, ROI, Revenue per SMS — по кампаниям и сегментам
- Настроены алерты: Delivery Rate < 95%, Opt-out > 1%, ROI < 0%
FAQ: частые вопросы о ROI SMS-кампаний
Какой ROI считается хорошим для SMS в 2025 году?
Для электронная коммерция ритейла: ROI > 300% (3:1) — норма, > 600% — отлично. Для банковских продуктов и B2B — выше, так как LTV больше. Для ресторанов и локального бизнеса — часто 150–200% из-за низкого чека. Ориентируйтесь на marginal ROI: следующий 1000 ₽ вложений должен приносить > 3000 ₽ выручки.
Нужно ли считать ROI для транзакционных SMS (коды, уведомления)?
Транзакционные SMS — операционные расходы (OpEx), не маркетинговые инвестиции. Считают cost per notification и SLA доставляемости (> 99.5% за 10 сек). ROI считают только для промо и триггерных маркетинговых цепочек.
Как учитывать органику, если клиент не кликнул, но купил?
Используйте view-through атрибуцию с окном 24–48 часов: если заказ сделан тем же телефоном/юзером в течение окна после доставки SMS — атрибутируйте частично (например, 30% веса SMS, 70% органике) или проводите holdout-тест для калибровки веса.
Какое минимальное количество отправок для статистической значимости?
Для CTR — минимум 1000 доставленных (ошибка ~3%). Для конверсии и ROI — нужно минимум 30–50 заказов в сегменте. При низких объёмах агрегируйте данные за неделю/месяц или используйте байесовские оценки с априорными распределениями.
Как измерить ROI, если продажи только офлайн (магазины, салоны)?
Промокод уникальный на кампанию / QR-код в SMS / передача телефона кассиру → совпадение по телефону в CRM / интеграция кассового ПО с аналитикой (1С:Розница, Эвотор, Яндекс.Касса офлайн). Без идентификации клиента в чеке ROI офлайн не измерить точно.
Стоит ли включать в затраты стоимость сбора базы (лид-магниты, виджеты)?
Для unit-экономики конкретной кампании — нет, это sunk cost. Для unit-экономики канала SMS в целом — да, амортизируйте CAC (Cost of Acquiring Contact) на срок жизни контакта в базе (обычно 6–12 месяцев).
Глоссарий ключевых терминов
| Термин | Определение |
|---|---|
| ROI (Return on Investment) | Рентабельность инвестиций: (Выручка — Затраты) / Затраты × 100% |
| Delivery Rate | Доля доставленных сообщений от отправленных |
| CTR (Click-Through Rate) | Доля уникальных кликов от доставленных сообщений |
| CPA (Cost Per Acquisition) | Стоимость привлечения одного заказа/клиента |
| AOV (Average Order Value) | Средний чек заказа |
| LTV (Lifetime Value) | Пожизненная ценность клиента — суммарная маржа за всё время отношений |
| Holdout group | Контрольная группа, не получающая воздействие, для измерения инкрементальности |
| View-through attribution | Атрибуция конверсии по факту доставки/показа без клика в заданном окне |
| UTM-метки | Параметры в URL для идентификации источника перехода в веб-аналитике |
| Phone hash (SHA-256) | Хеш номера телефона для безопасной передачи идентификатора в аналитику без ПДн |