СезонГотовим магазин к высокому сезону и Чёрной пятнице: скорость, нагрузка, акции

Аналитика поведения в мобильном приложении

Аналитика поведения пользователей в мобильном приложении интернет-магазина: события, воронки и связка с 1С-Битрикс

Мобильное приложение магазина установили десятки тысяч человек, а вы не знаете, где они отваливаются: до корзины, на оформлении или ещё на экране каталога. Дашборд из магазина приложений показывает установки и удаления, но молчит про то, что происходит внутри. В результате продуктовые решения принимаются на ощущениях, а не на данных — а каждая неверная догадка стоит недель разработки.

Эта статья — о том, как выстроить аналитику поведения в мобильном приложении интернет-магазина: считать события вместо страниц, собрать воронку покупки, измерить удержание по когортам и связать поведение в приложении с реальными продажами в 1С через автоматизацию продаж и склада на 1С. Без магии и «модных метрик» — только то, что помогает принимать решения.

Коротко

  • В приложении нет URL — базой аналитики становятся события с параметрами и переходы между экранами.
  • Сначала опишите словарь событий пути к покупке, потом внедряйте — иначе данные будут разнородными и бесполезными.
  • Связывайте событие оплаты с заказом в 1С, чтобы мерить конверсию в отгруженную выручку, а не в «оформления».
  • Сквозной идентификатор пользователя сводит поведение на сайте и в приложении в одну картину.

Зачем магазину аналитика приложения

Приложение — это отдельный канал продаж со своей экономикой. У него дороже привлечение (установка), но выше удержание и частота повторных покупок: лояльный клиент возвращается через иконку на экране, а не через поиск. Чтобы этот канал окупался, нужно понимать, как люди в нём себя ведут — иначе вы вкладываетесь в установки, а они удаляют приложение после первой сессии.

Аналитика отвечает на конкретные бизнес-вопросы: какие экраны ведут к покупке, где рвётся оформление, какие категории смотрят, но не покупают, стоит ли пуш-уведомление роста отписок. Без событийных данных на эти вопросы отвечают маркетолог и разработчик своими догадками — и обычно расходятся во мнениях.

Экраны и события вместо страниц

Главное отличие от веб-аналитики: в приложении нет адресов страниц. Пользователь перемещается между экранами внутри одного процесса, данные подгружаются, а привычный «просмотр страницы» с URL не возникает. Поэтому автоматический сбор хитов, как на сайте, здесь не работает — события нужно расставлять руками в коде приложения.

Единицей измерения становится событие: «открыл экран товара», «нажал добавить в корзину», «начал оформление». У каждого события есть имя и набор параметров. Просмотры экранов — тоже события особого типа. Такой подход даёт больше контроля: вы фиксируете ровно то, что важно бизнесу, а не тонете в автоматических хитах. Но и ответственность выше: не расставили событие — данных нет, восстановить их задним числом нельзя.

Адаптивная вёрстка: один шаблон под все экраны ДесктопПланшетСмартфонОдна адаптивнаявёрстка под всеэкраны
Схема: вместо отдельного мобильного сайта — одна адаптивная вёрстка, которая перестраивает блоки под ширину экрана. Проще в поддержке, дешевле в развитии.

Какие события собирать

Соблазн «собирать всё» вреден: разнородный поток событий без структуры невозможно анализировать. Начните с минимального набора, описывающего путь к деньгам, и расширяйте его под конкретные вопросы.

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

Схема событий и словарь параметров

Данные полезны, только когда они единообразны. Если один экран шлёт событие add_to_cart, другой — cartAdd, а третий — «добавление», построить воронку невозможно. Поэтому до внедрения составляют словарь: список событий с фиксированными именами и обязательными параметрами. Это документ, по которому пишут и приложение, и сайт.

СобытиеКогда срабатываетОбязательные параметры
view_itemОткрыт экран товараitem_id, category, price
add_to_cartТовар добавлен в корзинуitem_id, qty, value
begin_checkoutНачато оформлениеcart_value, items_count
purchaseОплата подтвержденаorder_id, value, payment
searchВыполнен поискquery, results_count

Ключевой параметр — order_id для события покупки: именно он свяжет аналитику с заказом в 1С. Единый словарь на сайте и в приложении позволяет потом сравнивать каналы напрямую. Договоритесь о словаре один раз — и сэкономите месяцы на разборе несовместимых данных.

Воронка покупки в приложении

Собранные события складываются в воронку — последовательность шагов от открытия приложения до оплаты. Воронка показывает не абсолютные числа, а переходы: сколько процентов от просмотревших товар дошли до корзины, сколько от корзины — до оформления, сколько от оформления — до оплаты.

Именно на переходах видно узкое место. Если 60% теряются между корзиной и оформлением — проблема в шаге оформления: сложная форма, обязательная регистрация, неожиданная стоимость доставки. Если отваливаются на оплате — стоит проверить способы оплаты и стабильность платёжного экрана. Воронка не даёт ответа, но точно указывает, где копать, и это уже экономит недели.

Когорты и удержание

Воронка отвечает на вопрос «где теряем в одной сессии», а удержание — «возвращаются ли вообще». Для приложения удержание критично: окупаемость установки зависит от того, вернётся ли пользователь за второй и третьей покупкой. Мерят это когортным анализом — группируют пользователей по неделе установки и смотрят, какая доля активна через 1, 2, 4, 8 недель.

Кривая удержания обычно резко падает в первые дни и выходит на плато. Высота этого плато — здоровье продукта: если через месяц возвращается заметная доля когорты, у приложения есть ядро лояльных клиентов. Если кривая падает в ноль — установки просто утекают. Дальше вы проверяете гипотезы удержания: онбординг, пуши о брошенной корзине, персональные подборки. Автоматизацию таких сценариев на стороне учёта удобно строить через автоматизацию на 1С, когда триггеры завязаны на реальный статус заказов.

Сквозная аналитика и связка с 1С

Самая частая ловушка — верить конверсии «в оформление». Оформленный заказ ещё не выручка: часть отменяется, часть не оплачивается, часть возвращается. Настоящая метрика — конверсия в отгруженный и оплаченный заказ, а эти данные живут в 1С, а не в аналитике приложения.

Чтобы соединить два мира, событие purchase должно нести тот же order_id, который уходит в 1С при обмене. Тогда вы джойните аналитическую воронку с фактами из учётной системы: какие заказы реально оплачены, отгружены, возвращены. Это превращает аналитику из «красивых процентов» в инструмент управления выручкой. Техническая сторона обмена и производительность интеграции — отдельная тема; смежные вопросы масштабирования и деплоя мы разбираем в статьях про хостинг и инфраструктуру для 1С-Битрикс и CI/CD и деплой для 1С-Битрикс.

Единый пользователь на сайте и в приложении

Клиент редко живёт в одном канале: посмотрел на сайте, докупил в приложении, вернулся за поддержкой на сайт. Без общего идентификатора аналитика считает это тремя разными людьми, и когорты, и LTV искажаются. Решение — сквозной идентификатор пользователя, который присваивается после авторизации и одинаков на всех платформах.

Технически сквозной id обычно совпадает с id клиента в учётной системе — тем самым, по которому идёт обмен заказами. Тогда аналитика, сайт, приложение и 1С говорят об одном и том же человеке.

Согласие и приватность данных

Сбор поведения — это персональные и квазиперсональные данные, поэтому аналитика начинается с согласия и политики конфиденциальности. Магазины приложений требуют раскрывать, какие данные вы собираете и куда передаёте, а рекламные идентификаторы устройства запрашиваются отдельно.

Практичный подход: обезличенные продуктовые события собирать по умолчанию (они нужны для работы продукта), а расширенную и рекламную аналитику включать по явному согласию. Храните минимум персональных данных, не тащите в аналитику лишние поля (телефон, адрес) и разграничивайте доступ к сырым событиям. Это не только требование закона, но и вопрос доверия клиента.

Минимизация данных: в события кладите идентификаторы и суммы, а не персональные поля. Связку с конкретным человеком делайте в защищённом хранилище по id, а не в самом потоке событий.

Инструменты: Метрика, веб-аналитика Битрикс, своё хранилище

Стек аналитики обычно многослойный, и у каждого слоя своя роль.

СлойРольОграничение
Мобильная аналитика (события)Воронки, когорты, дашборды из коробкиАгрегаты трудно пересчитать под новый вопрос
Яндекс Метрика / веб-аналитикаЕдиная картина с сайтом, цели, сегментыЗаточена под веб, приложение — через SDK
Своё хранилище сырых событийЛюбые срезы, джойн с данными 1СДороже во внедрении и поддержке

Для среднего и крупного магазина оптимальна связка: готовая мобильная аналитика для быстрых дашбордов плюс выгрузка сырых событий в собственное хранилище, где их соединяют с продажами из 1С. Тогда вы не упираетесь в лимиты внешнего сервиса и строите отчёты под свои вопросы. Инфраструктурную часть — приём и хранение потока событий — удобно закрыть аудитом и оптимизацией 1С и смежной интеграционной разработкой; про безопасность приёма данных полезна статья про безопасность REST и вебхуков в 1С-Битрикс.

Частые ошибки

Чек-лист внедрения

  1. Определите вопросы. Выпишите, на какие бизнес-вопросы должна отвечать аналитика.
  2. Составьте словарь событий. Имена и обязательные параметры, единые для сайта и приложения.
  3. Заложите order_id и user_id. Событие покупки несёт id заказа для связки с 1С, авторизация — сквозной id клиента.
  4. Расставьте события в коде. Экраны и ключевые действия пути к покупке.
  5. Настройте согласие. Политика конфиденциальности, обезличенные события по умолчанию, реклама по согласию.
  6. Постройте воронку и когорты. Переходы между шагами и удержание по неделям установки.
  7. Свяжите с 1С. Джойн событий покупки с фактическими оплатами и отгрузками.
  8. Выгружайте сырые события. Собственное хранилище для срезов под новые вопросы.

Вывод

Аналитика мобильного приложения — это не дашборд ради дашборда, а способ перестать принимать продуктовые решения вслепую. Ключ к ней — событийная модель: вместо автоматических просмотров страниц вы осознанно расставляете события пути к покупке, описываете их единым словарём и связываете с реальными продажами в 1С.

Собранная так аналитика показывает, где рвётся воронка, возвращаются ли пользователи и какой канал приносит отгруженную выручку, а не красивые проценты. Начните с минимального набора событий и order_id для связки с учётом — и приложение из «чёрного ящика с установками» превратится в управляемый канал продаж.

Частые вопросы

Чем аналитика в приложении отличается от аналитики сайта?

На сайте естественная единица измерения — просмотр страницы с URL, а в приложении навигация происходит между экранами без адресов, поэтому вместо «страниц» вы считаете события и переходы между экранами. Ещё в приложении длиннее жизненный цикл пользователя: он возвращается неделями, а сессии рвутся офлайном и сворачиванием. Поэтому базой аналитики становятся события с параметрами, а не автоматические «хиты» по URL.

Какие события нужно собирать в первую очередь?

Начните с событий, которые описывают путь к деньгам: открытие приложения, просмотр товара, добавление в корзину, начало оформления, оплата. К каждому событию прикрепите параметры — id товара, категорию, сумму, способ оплаты. Этого достаточно, чтобы построить основную воронку продаж. Остальные события (поиск, фильтр, шеринг) добавляйте по мере появления конкретных вопросов, а не «на всякий случай».

Как связать поведение в приложении с продажами в 1С?

Для сквозной картины событие оплаты в приложении должно нести тот же идентификатор заказа, что уходит в 1С при обмене. Тогда вы сопоставляете аналитическую воронку с реальными отгрузками и возвратами из учётной системы и видите не «конверсию в оформление», а конверсию в оплаченный и отгруженный заказ. Это снимает расхождение между красивыми цифрами аналитики и фактической выручкой.

Нужно ли согласие пользователя на сбор данных?

Да. Сбор поведенческих данных и передача их во внешние системы аналитики должны опираться на согласие пользователя и политику конфиденциальности, а идентификаторы устройства обрабатываться по правилам платформы. Практично собирать обезличенные события по умолчанию и запрашивать согласие на расширенную аналитику и рекламные идентификаторы отдельно, чтобы не нарушать требования магазинов приложений и законодательства о персональных данных.

Почему цифры в приложении и на сайте не сходятся?

Чаще всего из-за разных определений сессии, разной атрибуции и дедупликации пользователей между платформами. Один клиент заходит и с сайта, и с приложения, и без единого идентификатора считается как два. Чтобы свести данные, вводят сквозной идентификатор пользователя (после авторизации) и единый словарь событий, одинаковый на сайте и в приложении, тогда воронки становятся сопоставимыми.

Как аналитика помогает уменьшить отток?

Она показывает, на каком шаге и в какой момент жизненного цикла пользователи перестают возвращаться. Когортный анализ по неделям с момента установки выявляет, где теряется удержание, а событийные воронки — где именно рвётся путь. Дальше вы проверяете гипотезы: упростить оформление, добавить пуш с брошенной корзиной, ускорить экран каталога. Без событийной аналитики такие решения принимаются вслепую.

Стоит ли хранить сырые события у себя?

Для среднего и крупного магазина — да. Готовые системы аналитики удобны для дашбордов, но их агрегаты трудно пересчитать под новый вопрос. Выгрузка сырых событий в собственное хранилище даёт возможность строить любые срезы, соединять их с данными из 1С и не зависеть от лимитов внешнего сервиса. Это дороже на старте, но окупается, когда аналитика становится основой решений.

Поделиться:

Хотите видеть, что происходит в приложении и в 1С одновременно?

Настроим событийную аналитику приложения, свяжем оплаты с заказами в 1С и соберём сквозную воронку до отгруженной выручки. Рассчитаем работу по вашему проекту.

Редакция B2Bsite

Команда B2Bsite. С 2014 года разрабатываем интернет-магазины и порталы на 1С-Битрикс: настраиваем аналитику, сквозные воронки и обмен с 1С, чтобы решения принимались по данным, а не по догадкам.

← Все статьи блога