Feature flags
Feature flag (флаг функции) — это переключатель «вкл/выкл» для функции в вашем приложении или на сайте. Вы переключаете его в Control Panel, без нового релиза.
Для каждого флага вы выбираете, кто получит функцию: пользователи сегмента, процент всех пользователей или и то, и другое. Например, сначала покажите новый экран 10% пользователей, а затем увеличьте процент. Если что-то пойдёт не так, вы можете отключить функцию для всех кнопкой Выключить для всех. Флаг также может передавать свойства, например цвет кнопки или лимит скидки, которые вы задаёте для каждой аудитории.
Перед началом
Anchor link to- Тариф: feature flags доступны только на тарифах, которые их включают. На других тарифах пункт Фича-флаги не отображается в меню Аудитория. Чтобы подключить их, свяжитесь с вашим аккаунт-менеджером.
- Доступ: Фича-флаги отображается в каждом приложении, которое вам доступно. Чтобы создавать и изменять флаги, нужно разрешение Изменение приложений или такое же разрешение для этого приложения в его разрешениях для конкретного приложения.
- Настройка разработчиками: флаг влияет на пользователей только после того, как ваши разработчики прочитают его в коде приложения или сайта по ключу. Им нужен Web SDK 3.94.1 или новее, Android SDK 6.16.0 или новее либо iOS SDK 7.2.10 или новее. В приложении, где ещё нет флагов, страница Фича-флаги показывает готовые примеры кода для Web, Android и iOS. Передайте их разработчикам вместе с ключом флага. Поделитесь с ними руководством по Web SDK, руководством по Android SDK или руководством по iOS SDK.
Если ваш тариф перестаёт включать feature flags, устройства перестают получать флаги, а приложение или сайт использует значения, заданные в его коде. Создание или восстановление флага в этом случае завершается ошибкой с сообщением Фича-флаги недоступны на вашем тарифе, например во вкладке Control Panel, открытой до смены тарифа.
Как флаг решает, что получит каждый пользователь
Anchor link toУ каждого флага есть список правил. Каждое правило содержит сегмент, процент пользователей, для которых флаг включён (Раскатка, %), и необязательные значения свойств. Для каждого устройства Pushwoosh проверяет правила сверху вниз:
- Решает первое правило, сегменту которого соответствует устройство. Правило без сегмента подходит любому устройству.
- Значение Раскатка, % правила определяет, включится ли флаг для этого пользователя. При 20% флаг получают двое пользователей из десяти.
- Пользователь, для которого флаг включён, получает значения свойств, заданные в этом правиле. Пользователь, для которого флаг выключен, получает значения свойств по умолчанию.
Как только устройство подошло под правило, следующие правила пропускаются, даже если это правило выключает для него флаг. Устройство, не подошедшее ни под одно правило, получает флаг выключенным.
Пользователь получает один и тот же результат при каждом посещении. Устройства, на которых выполнен вход с одним и тем же User ID, получают одинаковый результат, если подходят под одно и то же правило, потому что Pushwoosh проверяет сегменты для каждого устройства. Pushwoosh определяет пользователя по User ID, а если User ID не задан — по ID устройства. Когда вы увеличиваете процент, пользователи, у которых флаг уже включён, сохраняют его, а к ним добавляются новые.
Создание флага
Anchor link to-
Перейдите в Аудитория → Фича-флаги.
-
Нажмите Создать фича-флаг.

-
Введите Ключ, например
new_checkout. Ключ — любое выбранное вами имя, но разработчики читают флаг в коде именно по этому ключу с учётом регистра. Согласуйте его с ними до сохранения флага. -
Введите Название и, при желании, Описание, чтобы команда понимала, чем управляет флаг.
Ключ подчиняется следующим правилам:
- Латинские буквы, цифры,
_,.и-, до 58 символов. - Изменить ключ позже нельзя.
- Нельзя повторно использовать ключ, который уже есть у другого флага приложения, даже архивного, или ключ, отличающийся от него только регистром, например
New_Checkoutиnew_checkout.
Добавление свойств
Anchor link toСвойства — это значения, которые приложение или сайт читает из флага, например текст баннера или количество товаров в блоке рекомендаций. Пропустите этот шаг, если флаг только включает и выключает функцию.
- В разделе Свойства нажмите Добавить свойство.
- Введите Ключ свойства, например
button_color. Используйте латинские буквы, цифры и_, до 64 символов. Ключ свойства — любое выбранное вами имя, но разработчики читают значение в коде именно по этому ключу с учётом регистра. Согласуйте его с ними до сохранения флага. - Выберите тип: Строка, Число, Логический или JSON. После сохранения флага изменить тип нельзя.
- Введите Значение по умолчанию. Это значение получают пользователи, для которых флаг выключен.
У флага может быть до 50 свойств.

Добавление правил
Anchor link to- В разделе Правила нажмите Добавить правило.
- Введите Название правила, например
Paying customers. - В поле Сегмент выберите, к кому применяется правило. Оставьте поле пустым, чтобы применить правило ко всем пользователям.
- В поле Раскатка, % введите процент сегмента, для которого флаг включается, от 0 до 100, до двух знаков после запятой.
- В блоке Значения для пользователей, которым правило включает флаг измените свойства, которые для этих пользователей должны отличаться от значений по умолчанию. Свойства, которые вы не меняете, сохраняют значения по умолчанию.
- Чтобы добавить ещё одну аудиторию, повторите шаги. Меняйте порядок кнопками Выше и Ниже, потому что решает первое подходящее правило.
У флага может быть до 10 правил.
Под полем Раскатка, % каждое правило показывает, примерно скольким устройствам оно включает флаг, например ≈ 1 200 устройств. Pushwoosh умножает размер сегмента правила на процент. Для правила без сегмента берутся все устройства приложения. Считайте это число максимумом, которого может достичь правило: устройство, подошедшее под одно из предыдущих правил, на нём и останавливается.

Например, чтобы дать новый процесс оформления заказа всем платящим клиентам и 20% остальных пользователей, создайте два правила:
| Правило | Сегмент | Раскатка, % | Значения для пользователей, которым правило включает флаг |
|---|---|---|---|
| Paying customers | Purchased something | 100 | button_color = green, show_apple_pay = true |
| Everyone else | — | 20 | button_color = orange |
Сохранение флага
Anchor link toНажмите Сохранить. Флаг создаётся в статусе Активен, и устройства получают его при следующей проверке флагов.
Управление флагами
Anchor link toВ списке флагов для каждого флага отображаются название, ключ, статус, количество правил и время последнего обновления. Чтобы увидеть архивные флаги, включите Показать архивные. Чтобы открыть флаг, нажмите на его название. Блок Поддержка в SDK в верхней части списка и каждого флага показывает долю устройств приложения со старой версией SDK, если эти устройства передают версию SDK. Такие устройства не получают флаги, пока пользователи не обновят приложение.
У флага один из трёх статусов:
| Статус | Что получают пользователи | Действия |
|---|---|---|
| Активен | Флаг работает по своим правилам. | Перемешать, Выключить для всех, В архив |
| Выключен | Флаг выключен для всех пользователей, со значениями свойств по умолчанию. Правила и свойства сохраняются. | Включить обратно, В архив |
| В архиве | Устройства больше не получают флаг, поэтому код использует значения, которые в нём задали разработчики. | Восстановить |
Изменение флага
Anchor link to- Откройте флаг.
- Измените название, описание, свойства или правила.
- Нажмите Сохранить.
- Если вы изменили правила или значения свойств по умолчанию, диалог Проверьте изменения покажет, что произойдёт с устройствами. Проверьте его и нажмите Сохранить.
Диалог показывает по одной строке на каждое изменение:
- Раскатка правила: примерно сколько устройств дополнительно получат флаг или сколько его потеряют.
- Значения правила: примерно сколько устройств получат новые значения, а также старое и новое значение каждого свойства.
- Новое или удалённое правило, другой сегмент или новый порядок правил: куда перейдут устройства. Например, устройства удалённого правила переходят к следующему подходящему им правилу.
- Значения по умолчанию: старые и новые значения, которые получают устройства с выключенным флагом.
Изменения только названия или описания сохраняются без диалога.
Чтобы выкатывать функцию постепенно, поэтапно увеличивайте значение Раскатка, % правила.
Если кто-то другой сохранил флаг, пока вы его редактировали, Control Panel не перезаписывает чужие изменения и просит перезагрузить флаг. Нажмите Обновить и внесите изменения заново.
Отключение флага для всех
Anchor link toИспользуйте Выключить для всех, когда функция вызывает проблемы и её нужно остановить для всех:
-
Откройте флаг и нажмите Выключить для всех.

-
Подтвердите действие. Каждое устройство получит флаг выключенным со значениями свойств по умолчанию при следующей проверке флагов.
Пока сайт или приложение открыты, устройства получают изменение в течение часа. См., как проверяют флаги Web SDK, Android SDK и iOS SDK.
Чтобы снова включить флаг с прежними правилами, нажмите Включить обратно.
Выбор другой выборки пользователей
Anchor link toПеремешивание распределяет каждого пользователя в новую группу, поэтому тот же процент пользователей состоит из других людей. Используйте его, когда нужна новая выборка, например чтобы начать новый тест.
- Откройте активный флаг и нажмите Перемешать.
- Подтвердите действие. Часть пользователей, у которых флаг был включён, потеряют его, а другие получат при следующей проверке флагов их устройствами, при этом проценты останутся прежними.
Архивирование и восстановление флага
Anchor link toАрхивируйте флаг, когда функция полностью выпущена или удалена из кода. Архивный флаг не учитывается в лимите флагов на приложение по вашему тарифу, а его ключ остаётся зарезервированным.
- Откройте флаг и нажмите В архив.
- Подтвердите действие.
Архивный флаг нельзя редактировать. Чтобы вернуть его, включите Показать архивные в списке, откройте флаг и нажмите Восстановить. Восстановленный флаг возвращается в статусе Выключен, поэтому сам по себе до пользователей не доходит. Когда будете готовы, нажмите Включить обратно.
Кто изменил флаг
Anchor link toИстория изменений показывает каждую сохранённую версию флага: что изменилось, кто это изменил и когда. Историю видит любой, кто может открыть флаг.
История записывается для изменений начиная с 13 октября 2026 года. Флаг без записанных изменений показывает Изменений пока нет. У флага, созданного до этой даты, самая старая запись не содержит списка изменений, потому что сравнивать её не с чем — более ранней версии нет.
- Откройте флаг.
- Нажмите История.
Панель История изменений показывает версии флага, начиная с новых. В каждой записи указаны:
- Действие, например Изменён.
- Кто внёс изменение: email пользователя или API-токен, через который пришло изменение, например API-токен «Release pipeline», или API-токен для токена без названия.
- Дата и время.
- Номер версии, например v4.

Чтобы загрузить более ранние записи, нажмите Показать ещё.
| Действие | Что произошло |
|---|---|
| Создан | Флаг создан. |
| Изменён | Кто-то сохранил изменения флага. |
| Изменён процент | Раскатка одного правила изменена через API или MCP-сервер. В Control Panel изменение раскатки сохраняется как Изменён. |
| Выключен (kill) | Кто-то нажал Выключить для всех. |
| Снова включён | Кто-то нажал Включить обратно. |
| В архиве | Флаг перенесён в архив. |
| Восстановлен | Флаг восстановлен из архива. |
| Пользователи перемешаны | Кто-то нажал Перемешать. |
Под каждой записью панель показывает, что изменилось, в виде значений до и после: Название, Описание, Статус, Свойства, Порядок правил, а также каждое добавленное, удалённое или изменённое правило. Для изменённого правила показываются только отличающиеся поля: название, Сегмент, Раскатка или Значения. Правило без сегмента показывается как Все пользователи.
Сегментация пользователей по флагу
Anchor link toУсловие по feature flag в сегменте находит устройства, которые получили флаг включённым или выключенным, подошли под одно из его правил или дошли до той части приложения, которой управляет флаг. Используйте его, чтобы отправить сообщение пользователям, которые видят новую функцию, например попросить отзыв, или чтобы построить вокруг них Journey.
- Откройте конструктор сегментов, как описано в разделе Как создавать сегменты.
- Нажмите Фиче-флаг в списке условий.
- В поле Выберите фиче-флаг… выберите флаг. Архивных флагов в списке нет.
- Выберите состояние:
- включён: устройства, которые получили флаг включённым.
- выключен: устройства, которые получили флаг выключенным.
- в правиле: устройства, которые подошли под сегмент правила, независимо от того, включило ли им флаг значение Раскатка, % этого правила. Выберите правило в поле Выберите правило….
- видел фичу (30 дней): устройства, которые отправили хотя бы один показ флага за последние 30 дней, то есть приложение вызвало
logImpressionдля ключа этого флага. См. Как найти пользователей, которые дошли до функции.
Фиче-флаг появляется в конструкторе сегментов только на тарифах, которые включают feature flags. В сегментах High Speed Delivery, которые могут содержать только условия по тегам, его использовать нельзя.
Какие устройства попадают в каждое состояние
Anchor link toСостояние устройства определяется флагами, которые оно получило последними, и текущим статусом флага:
- Устройство, которое ни разу не запрашивало флаг, например потому что его SDK не читает флаги, не попадает ни в одно из состояний.
- После изменения правил или значения Раскатка, % правила устройство переходит в другое состояние только тогда, когда снова запросит флаги.
- Когда вы выключаете флаг для всех или архивируете его, включён и в правиле становятся пустыми примерно за 10 секунд, не дожидаясь, пока устройства снова запросят флаги. выключен после этого содержит все устройства, которые когда-либо получали флаг.
Как найти пользователей, которые дошли до функции
Anchor link toЧтобы найти пользователей, которые видели включённую функцию:
- Добавьте видел фичу (30 дней) для флага.
- Добавьте включён для того же флага и объедините два условия через AND.
видел фичу (30 дней) находит пользователей, которые дошли до экрана или кода, которым управляет флаг, независимо от того, был ли флаг для них включён или выключен. Поэтому и нужно добавить включён: так остаются только пользователи, получившие новую версию. Результат близкий, но не точный. включён отражает флаг, который устройство получило последним, а его показ мог прийти из более раннего посещения, когда флаг был выключен.
Сегмент остаётся пустым, если приложение не логирует показы. Как их логировать, см. в разделе Log impressions руководства по Web SDK, Android SDK или iOS SDK.
Выключение флага для всех или архивирование не очищает это состояние. Устройство выходит из него через 30 дней после последнего показа.
Сегменты по флагам в Journey
Anchor link toСегмент с условием по feature flag работает во Входе на основе аудитории и в Разделении по условию. Например, разделите пользователей, которые получили новый процесс оформления заказа, и тех, кто его не получил, и отправьте каждой группе своё сообщение.
Ограничения
Anchor link toControl Panel и API применяют эти ограничения при сохранении флага:
| Ограничение | Значение |
|---|---|
| Правил на флаг | 10 |
| Свойств на флаг | 50 |
| Размер свойств одного флага (ключи, типы и значения по умолчанию) | 10 000 байт |
| Глубина вложенности значения JSON | 5 уровней |
| Флагов на приложение | Определяется тарифом, архивные флаги не учитываются |
| Данные, которые одно устройство получает по всем флагам приложения | 64 КБ |
Управление флагами через API
Anchor link toРазработчики могут создавать и изменять флаги из своих систем с помощью Feature Flags API, а AI-ассистенты, подключённые через MCP-сервер Pushwoosh, могут управлять флагами теми же операциями.