Пуш-уведомления
Пуш - это короткое сообщение, которое приходит человеку на телефон от имени вашего установленного приложения. Оно появляется на экране, даже когда приложение закрыто, а по нажатию открывает нужную страницу - обычно ваш оффер.
Это единственный канал, который возвращает пользователя бесплатно: за установку вы уже заплатили, а дальше напоминать о себе можно сколько угодно. Типичная связка - «поставил и забыл»: через пару часов после установки приходит приветственное сообщение, вечером - напоминание о приложении, а тем, кто зарегистрировался, но не пополнил счёт, - отдельное предложение.
Раздел открывается из меню Pushes.

Как это работает
Цепочка простая, и вы участвуете только в двух её звеньях:
- Подписка. Человек устанавливает ваше PWA и разрешает уведомления. Браузер выдаёт приложению «адрес доставки», и он сохраняется в системе. Это происходит само - вам нужно лишь включить сбор подписок в настройках PWA.
- Сегмент. У каждого подписчика есть страна, язык и место в воронке: установил, зарегистрировался, пополнил. Статус поднимается автоматически, когда от партнёрки приходит постбек.
- Пуш. Вы создаёте его в этом разделе: пишете текст, выбираете, кому и когда отправлять.
- Отправка. Система сама рассылает сообщения - вручную по кнопке, по расписанию или через заданное время после события. Отправки и клики попадают в статистику пуша.
Разрешение спрашивают один раз
Браузер показывает запрос на уведомления однократно, и отказ - навсегда: повторно спросить нельзя. Поэтому в настройках PWA есть режим «сначала спросить внутри приложения» - подробнее ниже.
Шаг 1. Включите сбор подписок в PWA
Пуши уходят только тем, кто подписался, а подписки собирает само приложение. Откройте нужное PWA, перейдите на вкладку Settings - там блок Push notifications.

- Collect subscriptions - включает сбор подписок. Пока тумблер выключен, приложение ничего не спрашивает и база подписчиков не растёт.
- Ask in-app first - сначала показать собственный экран с предложением включить уведомления и только после согласия вызвать системный запрос.
Зачем спрашивать дважды
Системный запрос браузера - одноразовый: нажал «Заблокировать» - и подписки от этого человека не будет уже никогда. Собственный экран стоит одного лишнего касания, зато те, кто сейчас не готов, просто закроют его - и системный запрос останется неизрасходованным до следующего раза.
Дальше всё происходит без вас: человек ставит приложение, соглашается на уведомления и попадает в базу подписчиков со своей страной, языком и статусом installed.
Список пушей
На главном экране раздела - таблица пушей. По ней видно, что запущено, кому уходит и как работает:
- Name - имя пуша.
- Type - как он срабатывает: Manual, Scheduled или Triggered.
- PWAs - приложения, подписчикам которых уходит рассылка. Тег All означает, что пуш охватывает все PWA команды.
- Sent - сколько сообщений отправлено, Clicks - сколько раз по ним нажали, CTR - отношение кликов к отправкам в процентах. Это главный показатель: он сразу показывает, какой текст цепляет, а какой нет.
- Status - значок кликабельный: нажатие запускает или останавливает пуш, не заходя внутрь. У ручных пушей вместо статуса стоит «-»: их статус ни на что не влияет, они уходят только по кнопке.
Сверху - поиск по названию, кнопка Add (создать пуш) и обновление списка. За кнопкой с воронкой прячутся фильтры: PWAs (пуши, которые бьют по выбранному приложению), Type, Status, Team и переключатель Archived. Рядом - настройка колонок; и то и другое устроено одинаково во всех списках панели, см. раздел «Интерфейс».
Что можно сделать со строкой
Кнопка с тремя точками справа открывает меню:
- Start / Stop - включает или выключает автоматические отправки (у ручных пушей пункта нет).
- Send now - немедленная отправка всей подходящей аудитории, с подтверждением.
- Edit - открывает форму пуша.
- Clone - создаёт копию со всеми текстами и настройками. Удобно, когда нужен тот же сценарий на другой гео или с другим текстом.
- Archive - убирает пуш из списка.
Цепочка от AI
Кнопка Chain from AI над списком собирает готовую цепочку напоминаний для одного приложения: по пушу на каждый шаг воронки подписчика.

- Нажмите Chain from AI и выберите PWA.
- Выберите тон: Neutral, Warm, Urgent или Premium.
- Нажмите Generate. AI напишет три пуша:
- Installed - через час после установки, тем, кто ещё не зарегистрировался;
- Signed up - через день после регистрации, тем, кто ещё не оплатил;
- Paid - через три дня после оплаты, чтобы вернуть пользователя.
- Тексты пишутся на всех языках витрины. Переключайте язык чипами над черновиками и правьте заголовок и текст прямо в окне. Ненужный черновик уберите крестиком.
- Нажмите Create N pushes. Пуши создаются неактивными: проверьте их и включите сами.
Метка overlaps у черновика значит, что у этой PWA уже есть пуш на тот же шаг с той же задержкой. Regenerate пишет новую версию, внизу окна видна примерная цена генерации.
Создание пуша
Кнопка Add открывает форму. Она разбита на четыре вкладки: General, Messages, Schedule и Filter - сначала общие свойства, потом тексты, время и аудитория.
Заполнять всё сразу не обязательно: достаточно вкладок General и Messages, а расписание и фильтры можно донастроить позже. Кнопка Create сохраняет пуш; если где-то ошибка, форма сама откроет вкладку с проблемным полем.
В шапке открытого пуша, рядом с Save:
- Start / Stop - включает или выключает автоматические отправки (у ручных пушей кнопки нет);
- кнопка с глазом (Show as it arrives) - показывает пуш так, как он придёт подписчику;
- кнопка с самолётиком - Send now, см. «Отправка вручную».

Кнопка с глазом собирает текст на языке по умолчанию и на 6 секунд выводит карточку в правый верхний угол - так, как браузер показывает уведомление. Работает с любой вкладки формы и ничего не отправляет. Наведите курсор - карточка задержится, клик или крестик её закрывают.
General - имя, команда, язык и тип

- Name - имя, по которому вы узнаете пуш в списке.
- Team - команда, которой принадлежит пуш. От неё зависит и аудитория: рассылка никогда не выйдет за пределы подписчиков этой команды.
- Default language - язык, на котором уйдёт сообщение, если для языка подписчика текста нет.
- Type - как пуш срабатывает:
- Manual - только по кнопке Send now. Разовые акции: распродажа, спецпредложение, «сегодня два по цене одного».
- Scheduled - по дням недели и времени с вкладки Schedule. Регулярные напоминания: каждый вечер, каждые выходные.
- Triggered - каждому подписчику индивидуально, через заданное время после его установки, регистрации или депозита. Это автоворонка: человек установил приложение - через два часа получил приветственное сообщение, независимо от того, когда именно он пришёл.
Тип можно поменять
Тип пуша не приговор: остановите его, переключите тип и сохраните. Расписание и триггеры хранятся отдельно, поэтому настроенные слоты никуда не денутся, даже если пуш временно станет ручным.
Messages - тексты на разных языках
Тексты хранятся по языкам: подписчику приходит сообщение на его языке, а если такого нет - на языке из поля Default language.

Языки - чипы над полями, как в форме PWA. Редактируется один язык за раз: нажмите на чип, чтобы открыть его тексты. Язык по умолчанию помечен Default.
- Добавить язык - кнопка с плюсом после чипов (Add language): выберите язык в окне и нажмите Add.
- Меню чипа (три точки, у всех языков, кроме основного) - Make default делает язык основным, Remove language удаляет его вместе с текстами (система спросит подтверждение).
- Перевод с AI - на любом языке, кроме основного, после чипов появляется кнопка со звёздочкой (Translate from … with AI, вместо «…» - код языка по умолчанию), если на языке по умолчанию заполнен заголовок или текст. Она переводит их с языка по умолчанию. Проверьте и поправьте перевод - он сразу попадает в поля.
Поля у каждого языка:
- Title - заголовок уведомления, до 120 символов. Обязательное поле.
- Text - текст под заголовком, до 500 символов.
- Link on click - куда ведёт нажатие. Обычно это
/getOfferUrl- ваша ссылка на предложение, та же, что открывается при запуске приложения. - Icon URL - своя картинка уведомления. Если оставить пустым, подставится иконка самого приложения.
Справа - Preview: так уведомление выглядит на экране телефона. Предпросмотр обновляется сам, через полсекунды после того, как вы перестали печатать, и показывает пуш от имени первого PWA из вкладки Filter. Его иконка подставляется, только если Icon URL пустое. Если PWA в фильтре не выбраны, карточка подписана «PWA». Если в Filter выбрано несколько PWA, под карточкой будет подсказка: остальные PWA отправят его со своими именем и иконкой.
Если при сохранении в каком-то языке ошибка, форма сама переключится на этот язык.
Уникализация текста
Один и тот же текст, разосланный тысячам устройств, - это и однообразие для людей, и повод для подозрений у push-сервисов браузеров. Поэтому текст можно писать вариантами: система соберёт из них случайную комбинацию отдельно для каждого получателя.
Справка по операторам открывается кнопкой со знаком вопроса в углу Preview:
| Запись | Что делает |
|---|---|
{a|b|c} | случайный вариант; можно вкладывать друг в друга |
{%RINT=(N,M)} | случайное целое число от N до M |
{%R=(S) a|b|c} | перемешивает варианты и склеивает их разделителем S |
{%Q=(N,S) a|b|c} | берёт N случайных вариантов и склеивает разделителем S |
Например, {Привет|Хей}! Скидка {%RINT=(10,50)}% на {подписку|тариф|первый заказ} каждому придёт по-своему: «Хей! Скидка 25% на тариф», «Привет! Скидка 40% на подписку» и так далее.
Preview всегда показывает один из таких вариантов, а кнопка со стрелкой в его углу (Another variant) собирает следующий - нажмите несколько раз подряд, чтобы увидеть разброс. Предпросмотр собирается на сервере, тем же кодом, что и реальная отправка, поэтому расхождений с тем, что уйдёт людям, не будет.
Написать варианты за вас
Кнопка со звёздочкой рядом с полем (Uniqueize with AI) переписывает готовую фразу в такой шаблон с вариантами - останется только проверить и поправить. Если на сервере не подключена языковая модель, текст останется без изменений; на работу пуша это никак не влияет - варианты всегда можно расставить руками.
Schedule - когда отправлять
Вкладка показывает настройки только для типа пуша с вкладки General. У ручного пуша расписания нет - он уходит по кнопке Send now; если тип ещё не выбран, вкладка попросит сначала выбрать его.
Scheduled - по дням недели. Каждая строка - слот: отметьте дни чипами Mon…Sun (или одним нажатием - Every day, Weekdays, Weekend) и выберите время справа. Под чипами слот описан словами, например «Every day at 21:30». Без единого дня слот не сохранится. Add slot добавляет ещё строку - например, будни в 19:00 и выходные в 12:00; корзина справа удаляет слот.

Triggered - после события. Три строки: After install, After registration и After deposit. Включите тумблер нужного события и задайте задержку числом и единицей (min, hours или days). Выключенное событие ничего не отправляет. Пуш уходит один раз, через заданное время после события, и отсчёт идёт для каждого подписчика от его собственной установки, регистрации или депозита.

Время серверное
Расписание считается по времени сервера, а не по часовому поясу получателя. Если вы льёте на Бразилию с европейского сервера, заложите разницу сами: «вечер по местному времени» - это другое число в слоте.
Filter - кому отправлять
По умолчанию пуш охватывает всех подписчиков своей команды. Фильтр нужен, чтобы сузить этот круг.

PWAs - конкретные приложения. Пусто - значит все приложения команды.
Countries - страны подписчиков. Пусто - значит все страны.
Subscriber statuses - место в воронке:
- Not registered - установил приложение, но не зарегистрировался;
- Registered, no deposit - зарегистрировался, но не пополнил счёт;
- Registered and deposited - уже платящий.
Не отмечено ничего - попадают все.
Кнопка Check audience показывает, сколько подписчиков сейчас подходит под фильтр. Считает она сохранённые настройки, поэтому сначала нажмите Save, а потом проверяйте.
Статусы - это сценарии
Каждому статусу нужен свой текст. Тем, кто не зарегистрировался, - напоминание о подарке за регистрацию; зарегистрированным без депозита - предложение на первую покупку; платящим - новинки и персональные скидки. Один пуш на всех проигрывает трём разным почти всегда.
Отправка вручную
Кнопка Send now - в меню строки списка и в шапке открытого пуша (самолётик). Она отправляет сообщение всей подходящей аудитории немедленно, независимо от типа пуша и его статуса. Система спросит подтверждение.
Отменить отправку нельзя
Отправленное уведомление уже ушло на устройства. Перед нажатием проверьте текст в Preview или кнопкой с глазом, а охват - кнопкой Check audience на вкладке Filter.
Обычные (автоматические) отправки система не дублирует: подписчик, которому пуш уже приходил по триггеру, второй раз его не получит. А вот Send now отправляет всем, кто подходит под фильтр, - даже если они уже получали это сообщение.
Что происходит после отправки
- Счётчики Sent и Clicks в списке обновляются по мере рассылки, а CTR сразу показывает, насколько текст сработал.
- Устройства, которые больше не принимают сообщения (приложение удалили, подписку отозвали), отсеиваются автоматически - база подписчиков чистится сама.
- Клики считаются по нажатию на само уведомление; открытое приложение при этом не дублируется - человек попадает в уже запущенное окно.
Почему отправлено меньше, чем подписчиков
Сообщение уходит только тем, для чьего языка есть текст - с учётом языка по умолчанию. Если в пуше один английский текст, а Default language пустует, подписчики с другими языками будут пропущены. Проще всего это заметить по разнице между Check audience и Sent.
С чего начать
Рабочий минимум, который стоит собрать в первый же день:
- Включите Collect subscriptions в настройках PWA - база начнёт расти сразу.
- Заведите пуш типа Triggered с задержкой
2hв поле After install и статусом Not registered в фильтре - это приветственное сообщение тем, кто ещё не дошёл до регистрации. - Добавьте второй, типа Scheduled, на вечер каждого дня - регулярное напоминание.
- Через несколько дней сравните CTR обоих и перепишите тот, что проигрывает.
Дальше остаётся только добавлять языки и уточнять сегменты - база подписчиков работает на вас без дополнительных затрат на трафик.
Создавать и отправлять пуши можно и из скриптов - см. раздел API «Пуши».