Установкой PWA считаем событие appinstalled, а не клик по кнопке «Установить». Клик-id хранится на стороне PWA и уходит в постбек с каждым событием, иначе в трекере не к чему привязать установку. Конкретных цифр здесь нет: они зависят от вашей связки, конструктора и трекера.
Что считать установкой PWA?
Установкой считаем событие appinstalled, а первый запуск из иконки в режиме standalone служит подтверждением. Показ промпта и событие beforeinstallprompt говорят только о намерении: человек мог закрыть окно или передумать. Если записать в «установки» все показы баннера, цифра завысится, а CR на следующих шагах будет выглядеть хуже, чем есть на деле.
Чем установка отличается от первого открытия и от регистрации?
Это три разных уровня, и у каждого должен быть свой статус в трекере: показ промпта, установка и первый запуск из иконки. Регистрация или депозит в самом продукте идут отдельными событиями выше по воронке. Если смешать уровни, непонятно, где теряется трафик. Подробнее о приложениях на странице про PWA, а термины собраны в словаре.
Как передать клик-id в PWA?
Заберите клик-id из GET-параметра на лендинге, сразу сохраните в localStorage или cookie и допишите в start_url манифеста. Тогда id переживёт установку: установленное приложение открывается по start_url, а не по исходной ссылке с метками. Без этого связка чаще всего теряется на переходе «браузер → иконка». Хранилище браузера и установленного приложения может не совпадать, поэтому дублировать id в start_url надёжнее, чем полагаться только на cookie.
Как настроить постбек из PWA?
Лучше слать постбек с сервера: PWA отправляет событие на ваш бэкенд, а тот вызывает трекер с клик-id и типом события. Клиентский запрос проще, но его режут блокировщики, а при плохой сети он теряется. Добавьте защиту от дублей: уникальный ключ события (клик-id плюс тип события) и проверку на повтор перед отправкой. Если приложение собрано в конструкторе, сначала проверьте, какие макросы и события он поддерживает «из коробки».
Какие события пушей писать в трекер?
Пишите четыре отдельных события: подписка на пуш, получение, открытие по пушу и отписка. Не смешивайте их с установкой: подписка возможна без установки, а открытие по пушу означает возврат уже существующего пользователя. Для открытия добавляйте метку источника, например id рассылки, чтобы отличать повторный трафик от нового. Про механику рассылок читайте в разделе Pushi.
Почему цифры трекера и конструктора не совпадают?
Расхождение почти всегда нормально, и обычно причина в разных определениях. Конструктор может считать установкой показ промпта или первый визит, а трекер только appinstalled. Добавляются потеря клик-id при установке, блокировка запросов, разные часовые пояса и окна атрибуции, дубли постбеков. Сверяйте оба источника по одному окну дат и одному определению события, а общие принципы смотрите в методике.
Как быстро проверить, что связка работает?
Сделайте тестовый клик с уникальной меткой и пройдите весь путь сами: лендинг, установка, первый запуск, подписка на пуш. Затем сверьте по логу постбеков, что каждое событие пришло один раз и с тем же клик-id. Отдельно проверьте start_url в манифесте и убедитесь, что при открытии из иконки id не теряется.
Сводная таблица событий
| Событие | Как фиксируем | Что уходит в трекер | Типичная ошибка |
|---|---|---|---|
| Показ промпта | beforeinstallprompt | Статус «намерение» | Считают за установку |
| Установка | appinstalled | Клик-id + «install» | Нет клик-id после установки |
| Первый запуск | Standalone-режим | Клик-id + «first_open» | Дубли при каждом запуске |
| Подписка на пуш | Разрешение на уведомления | Клик-id + «push_sub» | Путают с установкой |
| Открытие по пушу | Метка в ссылке пуша | Клик-id + id рассылки | Не отделяют от нового трафика |
| Целевое действие | Серверное событие | Клик-id + тип действия | Постбек уходит дважды |
Вопрос–ответ
Нужен ли серверный постбек?
Да, он надёжнее клиентского. Сервер не зависит от блокировщиков и позволяет проверять дубли до отправки.
Где хранить клик-id?
В localStorage или cookie и дополнительно в start_url манифеста. Так он сохранится после установки.
Как отличить открытие по пушу от обычного запуска?
По метке в ссылке уведомления. Без метки оба сценария сольются в один поток.
Другие разборы смотрите в разделе Вопросы и ответы.
Проверено: 21.10.2026. Правила сторов и возможности платформ описаны на дату проверки; точные формулировки смотрите в официальной справке Apple, Google и MDN. Нашли неточность — напишите на redakciya@pwa-arbitrazh.com.