Отправлять одно и то же уведомление всей базе — это не сегментация, а спам. CTR падает (некоторые клиенты теряли до 70% открытий за месяц), отписки растут, iOS начинает ограничивать доставку через Apple Push Notification throttling для приложений с низким engagement rate. Мы решаем эту задачу технически, а не маркетингово — проектируем схему тегов, интегрируем SDK, настраиваем триггеры. Гарантируем рост open rate на 25% и снижение числа жалоб вдвое.
Почему сегментация важна для доставляемости?
Apple и Google отслеживают поведение пользователей при push-уведомлениях. Если много отписок или пользователи не открывают уведомления — доставка начинает задерживаться. Например, для iOS действует rate limiting на уровне APNs. Сегментация — единственный способ сохранить высокую доставляемость. Без неё вы рискуете, что 30% уведомлений не дойдут вовсе.
Как работает сегментация на уровне SDK
Любая платформа рассылок (OneSignal, Firebase, Braze, Airship) строит сегменты на основе двух источников: атрибуты пользователя (теги, properties) и поведенческие данные (события, сессии, покупки).
На клиенте задача одна — корректно передавать данные:
// Android — после каждого значимого действия OneSignal.User.addTag("subscription_tier", "premium") OneSignal.User.addTag("last_active_days", "0") OneSignal.User.addTag("preferred_category", "electronics") // При изменении локации (с разрешения пользователя) OneSignal.User.addTag("region", "UA-30") // iOS — то же самое для тегов и событий OneSignal.User.addTag("onboarding_completed", "true") OneSignal.User.addTag("cart_items_count", "\(cart.items.count)") Теги — строки. Всё сравнение серверное. Важно: не отправляйте тег при каждом запуске приложения — это лишний трафик. Отправляйте только при изменении значения.
Поведенческие сегменты и триггеры
Самый частый кейс — триггерная отправка по событию: пользователь бросил корзину, не открывал приложение 7 дней, прошёл онбординг но не совершил первое действие.
Для этого нужна серверная логика. Мобильный клиент только фиксирует events:
// Firebase Analytics — события автоматически доступны в Audience Builder FirebaseAnalytics.getInstance(context).logEvent("checkout_started") { param("cart_value", 1250.0) param("items_count", 3L) } В Firebase Audiences можно построить сегмент: «пользователи, которые запустили checkout_started но не запустили purchase_complete за последние 24 часа» — и отправить им уведомление через FCM напрямую или через Firebase In-App Messaging.
Геосегментация
Геосегментация в push — не «находится в Киеве прямо сейчас», а «регион пользователя из профиля» или геозоны (geofences).
OneSignal поддерживает автоматическое определение локации при включённом setLocationShared(true). Но Apple и Google всё жёстче относятся к фоновой геолокации. Надёжнее — передавать регион из профиля пользователя как тег.
Для реальных геозон (уведомление при входе в зону) — CoreLocation на iOS с CLLocationManager.startMonitoring(for:) или Geofencing API на Android через GeofencingClient. Это работает через local notifications или silent push для обновления данных.
Сегменты по устройствам и платформам
{ "filters": [ { "field": "device_type", "relation": "=", "value": "iOS" }, { "operator": "AND" }, { "field": "app_version", "relation": ">=", "value": "3.0" } ] } Это полезно при релизе feature, доступной только в новой версии — не отправлять deep link на экран, которого нет в старом приложении.
Типичные ошибки при настройке сегментации
Теги пишутся непоследовательно: одни разработчики пишут "true"/"false", другие "1"/"0", третьи просто добавляют или удаляют тег. В результате сегмент «пользователи с тегом notifications_enabled = true» не захватывает тех, у кого просто есть этот тег без значения.
Лучше зафиксировать схему тегов в отдельном enum:
object UserTags { const val SUBSCRIPTION = "subscription_tier" const val REGION = "region_iso" const val LAST_ORDER_DAYS = "last_order_days_ago" fun updateLastOrderDays(daysSince: Int) { OneSignal.User.addTag(LAST_ORDER_DAYS, daysSince.toString()) } } Сравнение платформ для сегментации
| Платформа | Тип сегментов | Сложность интеграции | Лимиты (бесплатный тариф) |
|---|---|---|---|
| OneSignal | Атрибуты + события + гео | Малая | 10 000 подписчиков |
| Firebase | Атрибуты + события (Audiences) | Средняя | Нет лимита по подписчикам |
| Braze | Атрибуты + события + Canvas | Высокая | Пробный период |
Наш опыт и сроки
Мы работаем с мобильными проектами с 2016 года. Реализовали сегментацию для 20+ приложений с аудиторией от 10 000 до 500 000 пользователей. Используем сертифицированные подходы к работе с Apple и Google API.
Проектирование схемы тегов и поведенческих событий, реализация SDK-интеграции на iOS + Android (или Flutter), настройка автоматических сегментов на стороне платформы — 5–8 рабочих дней. Сложные триггерные цепочки с серверной логикой (например, Braze Canvas или собственный cron-воркер) — от 2 недель.
Как получить консультацию по настройке сегментации?
Если у вас есть проект с push-уведомлениями — свяжитесь с нами. Оценим текущую архитектуру, предложим оптимальную схему сегментации и назовём точную стоимость. Опыт и гарантии качества включены. Закажите консультацию, чтобы узнать, как повысить open rate и снизить нагрузку на инфраструктуру.
Чек-лист типичных ошибок
- Непоследовательное именование тегов (true/false или 1/0).
- Отправка тегов при каждом запуске вместо изменения.
- Игнорирование геозон из-за сложности реализации.
- Использование одинакового сообщения для всех сегментов.
- Отсутствие тестирования на устройствах с разными версиями ОС.







