Приложение доставки в Грузии: треть событий не доходила
События отправлялись по одному и сразу. При плохой связи в лифте или метро они просто пропадали, а в отчёте это выглядело как отказ пользователя на шаге оплаты.
Очередь событий с локальным хранением и повторной отправкой. Данные доходят, когда связь вернулась, а воронка перестала врать про этап оплаты.
Что было
Сервис работает в Тбилиси и Батуми, заказы принимаются только через приложение. Продуктовая команда смотрела на воронку и видела странное: между «нажал оплатить» и «заказ создан» терялось около трети людей.
Искали проблему в платёжном шлюзе, проверяли банк, переделывали экран оплаты. Ничего не помогало, потому что проблемы там не было: заказы в базе создавались, а события до аналитики не доходили.
Что сделали
Сверили события аналитики с заказами в базе за неделю. Расхождение — 31%, причём неравномерное: хуже всего в вечерние часы и в районах со слабым сигналом.
Причина оказалась в реализации: каждое событие отправлялось отдельным запросом сразу и без повтора. Нет связи в момент отправки — событие потеряно навсегда.
Сделали очередь: события копятся локально, отправляются пачками, при неудаче повторяются с задержкой. Добавили отправку при возврате приложения из фона — раньше на этом переходе терялось особенно много.
Чего не вышло
Полностью до нуля потери не свести: часть пользователей удаляет приложение, не открыв его снова, и накопленные события уходят вместе с ним. Эти 2% решили считать нормальным фоном и не тратить на них время.
Результат
Воронка сошлась с базой заказов: расхождение упало с 31% до 2%. Этап оплаты, который полгода считали проблемным, оказался в порядке — реальная потеря была на шаге выбора адреса. Туда и ушла работа продуктовой команды, которая до этого чинила исправное.
Данные графика
| Период | Потери, % |
|---|---|
| нед. 1 | 31 |
| нед. 2 | 29 |
| нед. 3 | 24 |
| нед. 4 | 18 |
| нед. 5 | 11 |
| нед. 6 | 6 |
| нед. 7 | 3 |
| нед. 8 | 2 |
Другие кейсы
После изменений в правилах магазинов почти половина установок приходила без источника. Сравнивать сети было невозможно, бюджет распределялся вслепую.
Настроили серверную передачу конверсий, отложенное сопоставление и агрегированные отчёты по кампаниям. Неопознанных установок осталось 12%.
Отток считали помесячно и постфактум. К моменту, когда цифра появлялась в отчёте, вернуть людей было уже нельзя — они удалили приложение три недели назад.
Когортный отчёт по неделям и ранний признак ухода: три дня без тренировки на первой неделе. Сигнал приходит на четвёртый день, когда ещё есть что делать.
Трафика на сайт школы было достаточно, конверсия — низкая. Родители не понимали ценность продукта: программирование для ребёнка 8–14 лет — покупка не для себя, с длинным горизонтом и без быстрого измеримого результата. Реклама вела на страницу курса, где нужно было сразу записаться, — то есть принять решение о занятиях ребёнка за один визит.
Между рекламой и записью появился бесплатный вебинар для родителей, после него — серия писем с примерами проектов учеников и бот в мессенджере на частые вопросы. Курс подбирается под возраст ребёнка, а следующим шагом идёт не оплата, а бесплатный пробный урок с преподавателем.
Если у вас есть бизнес – у нас есть, что обсудить.
Опишите в двух словах задачу – отвечу в течение 1 рабочего дня. Если совпадаем по подходу, назначим часовой созвон-разбор. Бесплатно.