Web Push — это тип уведомлений, который приходит пользователю в браузер, даже если пользователь в этот момент не находится на сайте и вкладка закрыта.
В Carrot Quest Web Push — отдельный канал коммуникации, наравне с email, мессенджерами и чатом:
С технической точки зрения Web Push работает за счёт встроенных возможностей браузера (Push API + Service Worker) и требует явного разрешения пользователя — без разрешения показать уведомление невозможно технически, это ограничение самого браузера.
Доставка устроена так: уведомление уходит через Firebase Cloud Messaging (FCM) на токен устройства, зарегистрированный при подписке (UserFirebaseToken), а показывает его на экране пользователя Service Worker — небольшой скрипт, который клиент один раз размещает у себя на сайте (об этом ниже).
В этой статье:
- Предварительная настройка Service Worker
- Настройка канала Web Push в Carrot quest
- Как собрать согласие на получение Web Push
- Как настроить Web Push
- Взаимодействие лида с Web Push
- Отписка от Web Push
- Особенности и ограничения работы Web Push в разных браузерах
Для работы Web Push вам нужно разместить на вашем сайте Service Worker файл. Инструкция по настройке также будет доступна при переходе в раздел “Настройки” → “Общие настройки” → “Web Push”.
Для чего это нужно: Service Worker обрабатывает показ веб-пуша, когда сайт закрыт, и разрешение на показ спрашивается через наш скрипт — это фундамент, без которого работа с Web Push невозможна.
/firebase-messaging-sw.js строго в корне сайта, с содержимым importScripts(<https://cdn.carrotquest.app/firebase-messaging-sw.js>)') Content-Type: application/javascript, Cache-Control: no-cache. https://ваш-сайт.ru/firebase-messaging-sw.js - в результате вы должны получить код 200 и JavaScript-код, не ошибку 404.Подробную инструкцию можно передать техническим специалистам с вашей стороны. Когда настройка будет завершена, вы сможете перейти к настройке самих веб-пушей.
Данная настройка нужна для того, чтобы задать значения по умолчанию, которые подставляются во все web push, если они не переопределены в конкретном сообщении.
После того, как вы установили Service Worker файл на сайте, перейдите в раздел “Настройки” → “Общие настройки” → “Web Push”.
Здесь можно установить следующие параметры:

Справа на странице вы увидите превью, на котором отобразятся внесенные данные. Тут же можно посмотреть, как пуш с такими данными выглядит на разных устройствах и браузерах.
Перед тем, как делать рассылку Web Push, вам нужно получить согласие от пользователя на показ таких уведомлений. Без разрешения от пользователя его браузер не будет принимать и показывать пуши.
При этом показ web push будет привязан конкретно к тому браузеру, в котором пользователь оставлял согласие.
Чтобы предложить пользователю подписаться на web push, покажите ему поп-ап. Создайте триггерный или ручной поп-ап и на шаге “Содержание” добавьте в поп-ап кнопку. В качестве действия для кнопки выберите "Подписка на Web Push"

Завершите настройку поп-апа и запустите его.
При нажатии на кнопку со стороны пользователя в браузере будет показано окно, где пользователь уже сможет оставить свое согласие либо отказаться от получения пушей.

Внешний вид окна зависит от браузера и устройства пользователя, а также от данных, указанных в разделе “Настройки” → “Общие настройки” → “Web Push”.
Создать Web Push можно в разделе "Триггерные сообщения", либо создать при настройке ручной рассылки, а также создать шаблон для использования перед отправкой.
Выберите тип сообщения Web push и настройте содержание:

Рекомендуем использовать в заголовке не более 40 символов, а в Содержании - не более 90 символов. Такой пуш отображается наиболее корректно в большинстве браузеров.
После того, как пользователь оставил согласие на получение Web Push, в его карточке лида вы сможете увидеть эту информацию в колонке слева, в блоке "Подписки":

Что показано в карточке лида:

При взаимодействии пользователей с веб-пушами в карточке фиксируются следующие события:
У пользователя есть возможность отказаться от получения веб-пушей. Отписать пользователя также можно в ЛК Carrot quest.
Какие варианты отписки существуют:
Если пользователь заблокировал уведомления и хочет разрешить их снова
Посмотреть, какие браузеры поддерживают Web Push, можно тут: https://caniuse.com/push-api
Ограничения для iOS
На данный момент отправлять Web Push на iOS/iPadOS нельзя из-за технических ограничений данных платформ.