Как построить продуктовую аналитику приложения: события от каталога до повторной покупки
+7 (800) 444-11-27
Позвоните — обсудим ваш проект
Сергей CCO FITTIN
Сергей CCO FITTIN
Напишите мне в Telegram
Обсудить проект
Как построить продуктовую аналитику приложения: события от каталога до повторной покупки

Как построить продуктовую аналитику приложения: события от каталога до повторной покупки


Схема сбора данных, сквозные номера заказов, правила против двойного счёта и первый набор показателей.

Приложение интернет-магазина записывает десятки действий покупателя: открытие карточки товара, добавление в корзину, оплату, возврат. Польза от этих записей появляется тогда, когда у каждого действия есть единое имя, набор параметров и идентификатор, по которому запись связывается с заказом и с конкретным покупателем. Разбираем, как построить карту событий от каталога до повторной покупки, какие правила дедупликации нужны потоку данных и по каким метрикам читать результат.

Продуктовая аналитика приложения: что это и что она показывает

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

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

  • Учётная система. Показывает факт заказа, оплату, остатки и возвраты. Путь покупателя до заказа в ней не виден.
  • Рекламные кабинеты. Показывают источник установки и стоимость привлечения. Что происходило внутри приложения после установки, они не знают.
  • Продуктовая аналитика. Показывает последовательность шагов внутри приложения и связывает её с номером заказа.

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

Какие решения бизнеса закрывает аналитика приложения

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

  • Что доработать в следующей версии приложения. Приоритет расставляется по объёму потерь на шаге: число покупателей на входе в шаг, умноженное на долю ушедших и на средний чек.
  • Нужен ли ещё один способ оплаты. Решение опирается на долю заказов, не оплаченных с первой попытки, и на распределение попыток по способам оплаты. Как устроена сама механика, разбирали в материалах про встроенный платёжный чекаут и бесшовные платежи.
  • Работает ли программа лояльности. Сравнивается доля вторых заказов у участников программы и у остальных покупателей за один и тот же период. Механики для удержания клиентов в fashion-ритейле и метрики геймификации считаются по этим же событиям.
  • Какие товары покупатель не находит. Нужна доля поисковых запросов без результата и список таких запросов. Он же становится входом для поиска по каталогу с языковой моделью.
  • Какие сценарии уведомлений запускать. Решение опирается на события брошенной корзины, смены статуса заказа и возврата в приложение после уведомления.
  • Окупается ли приложение как канал. Нужны выручка по заказам из приложения и доля повторных покупок. Подход к расчёту до старта работ мы описывали в материале про окупаемость мобильного приложения.

Ограничение. Любое из этих решений требует, чтобы метрика считалась одинаково до и после изменения. Если вместе с новой версией приложения меняется формула показателя, сравнение «до и после» теряет смысл — поэтому формулы фиксируются письменно до первого отчёта.

Архитектура сбора: три слоя данных

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

Три слоя сбора событий и характерные поломки

Слой Задача Что ломается без него
Приложение Создать событие, положить в локальную очередь, отправить пачкой при появлении сети События теряются в метро и в торговом центре со слабым интернетом
Приём и обогащение (серверная часть) Проверить событие по схеме, поставить серверное время, добавить данные заказа из учётной системы В хранилище попадают события с опечатками в именах и без обязательных полей
Хранилище и отчётность Хранить историю событий, строить витрины воронок и когорт, отдавать их в отчёты Цифры считаются каждым отделом по-своему, свести их не выходит

Источники денежных событий

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

Инструменты под объём и команду

Инструменты выбираются под объём и под команду. Для сбора в мобильном приложении подходят готовые библиотеки — например, журналирование событий в Firebase Analytics; для хранения миллиардов строк — колоночные базы вроде ClickHouse; точку приёма и обогащения чаще пишут на серверном фреймворке, который уже используется в проекте, например на Django. Выбор клиентского стека на поток событий почти не влияет: критерии мы разбирали в материале Flutter или нативная разработка. Если каналов продаж несколько, слой приёма проектируется сразу под них — об этом материал про омниканальную архитектуру для ритейла.

Карта событий: от каталога до повторной покупки

Карта событий — это таблица, которая описывает каждое событие, момент срабатывания, обязательные параметры и источник отправки. Такая таблица заменяет переписку и становится заданием для разработчиков. Вот рабочая карта для приложения интернет-магазина.

Карта событий приложения интернет-магазина: от входа до повторного заказа

Событие Когда срабатывает Обязательные параметры Источник
app_open Запуск приложения из иконки, уведомления или ссылки source, is_first_open, app_version Приложение
catalog_view Открытие раздела или подраздела каталога category_id, category_path, items_count Приложение
search Отправка поискового запроса, в том числе голосом или по фото query, results_count, search_type Приложение
item_view Открытие карточки товара item_id, sku, price, currency, availability, category_id Приложение
add_to_cart Добавление товара в корзину с карточки или из списка item_id, sku, quantity, price, cart_id Приложение
checkout_start Переход из корзины к оформлению cart_id, cart_value, items_count Приложение
delivery_selected Выбор способа получения заказа delivery_type, delivery_cost, pickup_point_id Приложение
payment_attempt Каждая попытка оплаты, включая неудачную order_id, payment_method, amount, attempt_no, error_code Серверная часть
purchase Оплата подтверждена платёжной системой order_id, amount, currency, items, payment_method, promo_code Серверная часть
order_status_change Смена статуса заказа в учётной системе order_id, status_from, status_to, changed_at Серверная часть
return_request Оформление возврата или отмены order_id, items, reason_code, amount Серверная часть
notification_open Открытие приложения из push-уведомления campaign_id, scenario, order_id Приложение

Повторная покупка отдельным событием не отправляется. Номер заказа по счёту у покупателя и число дней с предыдущего заказа считаются в хранилище из истории события purchase. Так цифра остаётся верной, даже если покупатель переустановил приложение или оформил предыдущий заказ на сайте. События возвратов стоит заводить с первого дня — организация процесса влияет и на издержки, и на метрики, как мы разбирали в материале про возврат товаров в интернет-магазинах.

Параметры событий и единый словарь свойств

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

  • Одна сущность — одно имя. Если товар в приложении называется item_id, он называется так же в событиях сайта и в выгрузках. Пара product_id и goods_id в одном потоке означает, что отчёт по товарам придётся собирать вручную.
  • Деньги в минимальных единицах. Сумма хранится в копейках целым числом, валюта — отдельным полем. Дробные значения с плавающей точкой дают расхождения в суммах по тысячам заказов.
  • Время в UTC по стандарту ISO 8601. Локальное время покупателя остаётся отдельным параметром, иначе ночные заказы попадают в соседние сутки.
  • Имена на латинице в нижнем регистре через подчёркивание. Это требование не стилистическое: имена событий и параметров попадают в названия колонок хранилища.
  • Словарь свойств как документ. На каждое событие и параметр описаны тип, обязательность, пример, кто отправляет и в каком отчёте используется. Документ версионируется, у каждого события есть владелец, который его чинит.

Проверяемый пример того, как выглядит одно событие на приёме:

{
  "event_id": "9f1c7a62-4e2b-4a71-9b55-7d0f3a2c1e88",
  "event_name": "purchase",
  "occurred_at": "2026-10-19T08:41:12Z",
  "received_at": "2026-10-19T08:41:13Z",
  "user_id": "u_480231",
  "anonymous_id": "a_0d9ae1f4",
  "app_version": "3.14.0",
  "platform": "android",
  "order_id": "ORD-2026-0481233",
  "amount_minor": 1249000,
  "currency": "RUB",
  "payment_method": "sbp",
  "items": [
    { "item_id": "i_77120", "sku": "77120-BLK-42", "quantity": 1, "price_minor": 1249000 }
  ]
}

Разумный размер карты событий

По нашей практике первой версии приложения хватает 15–25 событий. Каждое следующее событие добавляется под конкретный вопрос, на который сейчас нет ответа. Логирование каждого нажатия даёт обратный эффект: хранилище растёт, схема перестаёт проверяться, а на вопрос о потерях в оформлении заказа по-прежнему никто не отвечает. Полезное правило — раз в квартал смотреть, какие события не попали ни в один отчёт, и выводить их из карты.

Ограничение. У каждой системы аналитики есть лимиты на число параметров в событии, длину имён и глубину хранения истории. Лимиты смотрят в документации до проектирования карты, а не после — например, в справочнике рекомендованных событий электронной торговли описаны и состав параметров, и ограничения. Если лимит меньше задуманного, часть свойств переносится в хранилище на этапе обогащения.

Сквозные идентификаторы покупателя и заказа

Склейка данных держится на трёх идентификаторах покупателя и одном идентификаторе заказа. Их роли не взаимозаменяемы:

  • device_id — установка приложения на конкретном устройстве. Живёт до переустановки, после переустановки становится новым.
  • anonymous_id — покупатель до входа в учётную запись. Отправляется в каждом событии, включая события после входа.
  • user_id — покупатель с учётной записью. Один и тот же на всех его устройствах и на сайте.
  • order_id — сквозной номер заказа. Создаётся один раз той системой, которая создаёт заказ, и дальше используется без изменений.

Связывание анонимного покупателя с учётной записью

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

Номер заказа как точка сведения отчётности

Номер заказа — главная точка сведения отчётности. Его создаёт учётная система или серверная часть магазина, приложение только получает готовый номер и подставляет его в события оплаты, смены статуса и возврата. Когда приложение формирует собственную нумерацию, заказы в отчётах и в учёте перестают сходиться, и расхождение приходится разбирать вручную по суммам и датам. Типичные расхождения такого рода мы разбирали в материале про интеграцию приложения с 1С; если в контуре есть склад, номера заказа и отгрузки связываются на уровне системы складского учёта.

Ограничения: персональные данные и устройства

Ограничение по персональным данным. Телефон, электронная почта, адрес и имя в поток событий не попадают — события несут идентификаторы, а не контакты. Хранение контактов в аналитическом хранилище создаёт обязательства по закону № 152-ФЗ «О персональных данных» и расширяет круг систем, которые придётся защищать. Если отчёту нужны данные покупателя, он получает их по user_id из основной базы в момент построения.

Ограничение по устройствам. Метрики по device_id систематически занижают повторные покупки: переустановка приложения превращает одного покупателя в двух, поэтому повторные заказы считают только по user_id. При переходе с готового приложения на собственное этот момент закладывают в перенос истории.

Дедупликация: правила против двойного счёта

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

Источники повторов и правила, которые их закрывают

Источник повтора Правило Где реализуется
Переотправка очереди после потери сети event_id генерируется один раз при создании события; повтор с тем же идентификатором отбрасывается Приложение создаёт, точка приёма проверяет
Повторное нажатие кнопки оплаты Ключ повторного вызова — номер заказа: вторая попытка не создаёт второй заказ и второе событие purchase Серверная часть магазина
Повторные уведомления платёжной системы Обработчик принимает повтор, сверяет текущий статус и не меняет его, если статус конечный Обработчик уведомлений
Один факт с устройства и с сервера У каждого события один источник истины, зафиксированный в карте событий Карта событий и схема приёма
Повторная загрузка исторических данных Уникальное ограничение по event_id в таблице событий как последний барьер Хранилище

Идентификатор события и окно проверки

Идентификатор события удобно формировать в формате UUID — он описан в RFC 4122 и не требует согласования между устройствами. Индекс идентификаторов на приёме держат за окно, которое перекрывает реальную задержку доставки: суток обычно достаточно, потому что локальная очередь редко живёт дольше. За пределами окна повторы ловит уникальное ограничение в хранилище — например, уникальный индекс в PostgreSQL:

CREATE UNIQUE INDEX uniq_app_events_event_id
    ON app_events (event_id);

CREATE UNIQUE INDEX uniq_purchase_per_order
    ON app_events (order_id)
    WHERE event_name = 'purchase';

Хранение помеченных повторов

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

Контроль качества данных

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

Проверки качества потока событий

Проверка Периодичность О чём говорит отклонение
Число событий каждого типа против медианы прошлых недель Ежедневно Событие сломалось в новой версии приложения или перестало отправляться
Сумма и количество оплат против учётной системы Ежедневно Повторы, потери событий или разная нумерация заказов
Доля событий, не прошедших проверку по схеме Ежедневно Опечатки в именах, отсутствие обязательных полей, неверные типы
Доля оплат без предшествующего события оформления Еженедельно Разрыв воронки: часть шагов не доходит до хранилища
Прогон карты событий на реальных устройствах Перед каждым релизом Новая версия приложения ломает отправку или состав параметров

Организационные условия проверок

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

Проверка перед выпуском новой версии

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

Воронки и когорты: разные вопросы и разные ответы

Воронка и когорта отвечают на разные вопросы, и подмена одного другим даёт неверные выводы.

Воронка: шаги и окно наблюдения

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

Когорта: группа по дате входа

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

Чем воронка отличается от когорты в практике отчётности

Инструмент На какой вопрос отвечает Ограничение
Воронка На каком шаге пути теряются покупатели в пределах окна наблюдения Предполагает линейный путь; покупателя, который вернулся через неделю по уведомлению, воронка не учитывает
Когорта Как ведёт себя группа покупателей на длинном горизонте и меняется ли это от месяца к месяцу Требует истории за несколько месяцев и не показывает конкретный шаг, на котором происходит потеря

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

Метрики первого набора

Первый набор метрик мы держим коротким: 8–12 показателей, у каждого есть владелец и частота просмотра. Среднерыночных норм по этим показателям в статье не приводим: публичных данных, которые можно проверить на дату публикации, по мобильным приложениям российских интернет-магазинов нет, а чужие ориентиры из обзоров без методики расчёта вводят в заблуждение. Точка отсчёта — собственная базовая линия за первые четыре–восемь недель после запуска сбора данных.

Первый набор метрик приложения интернет-магазина

Метрика Как считается Какое решение поддерживает
Доля дошедших от корзины до оплаты Уникальные покупатели с событием purchase, делённые на уникальных с событием checkout_start Приоритет доработок в оформлении заказа
Доля заказов, оплаченных с первой попытки Заказы с одной попыткой оплаты к общему числу оплаченных Набор способов оплаты, работа с ошибками платежей
Доля поисковых запросов без результата События search с нулевым results_count к общему числу поисков Доработка поиска, расширение каталога, синонимы
Доля вернувшихся на 7-й и 30-й день после установки (в профессиональном словаре — удержание D7 и D30) Покупатели когорты установки с событием app_open на 7-й и 30-й день Сценарии уведомлений, работа над первым запуском
Доля покупателей со вторым заказом за 90 дней Покупатели когорты первой покупки со вторым purchase в окне 90 дней Программа лояльности, ассортимент повторного спроса
Среднее число дней между первым и вторым заказом Медиана разницы дат по покупателям с двумя заказами Момент запуска напоминаний и подборок
Средняя сумма заказа по способу входа в приложение Сумма оплат, делённая на число заказов, с разбивкой по параметру source Распределение бюджета между каналами
Доля отменённых и возвращённых заказов События return_request к числу оплаченных заказов, с разбивкой по reason_code Карточка товара, размерные подсказки, работа складской логистики
Доля сессий без сбоев приложения Сессии без аварийного завершения к общему числу сессий Приоритет технических задач перед продуктовыми
Доля событий, прошедших проверку по схеме Принятые события к общему числу полученных за сутки Можно ли доверять остальным метрикам на этой неделе

Порядок чтения метрик

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

Типичные ошибки внедрения

  • Карта событий без решений. Логируется всё подряд, отчётов нет. Лечится обратным порядком работы: сначала список решений, потом события под них.
  • Оплата приходит только с устройства. Выручка в отчётах расходится с учётной системой на величину потерянных и подделанных событий. Денежные события отправляет серверная часть.
  • Переименование события без версии. История рвётся, график обнуляется с датой выпуска новой версии. Старое имя поддерживается до тех пор, пока в строю прежние версии приложения.
  • Нет идентификатора события. Повторная отправка очереди превращается в двойную выручку, и заметно это обычно в отчёте за распродажу.
  • Контакты покупателя в параметрах. Телефон или почта в потоке событий расширяют периметр защиты данных без пользы для отчётов.
  • Разные имена сущностей в приложении и на сайте. Омниканальные отчёты не склеиваются, и каждый свод приходится собирать руками.
  • Формула метрики меняется вместе с продуктом. Сравнение «до и после» теряет смысл. Формулы фиксируются до запуска и меняются с явной отметкой даты.
  • Нет проверки после релиза. Сломанное событие обнаруживается через месяц, когда данные за этот месяц уже не восстановить.

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

Итог: чек-лист внедрения

Порядок работ, при котором аналитика начинает приносить решения с первого месяца:

  • Составить список решений, которые нужно принимать по данным, и назвать ответственного за каждое.
  • Описать карту событий на 15–25 событий с обязательными параметрами и источником отправки.
  • Зафиксировать словарь свойств: имена, типы, единицы измерения денег и времени, обязательность.
  • Развести источники: просмотры и корзина — с устройства, оплата, статусы и возвраты — с серверной части.
  • Ввести идентификатор события и ключ повторного вызова по номеру заказа, добавить уникальные ограничения в хранилище.
  • Сделать связывание анонимного покупателя с учётной записью в хранилище, а не в приложении.
  • Запустить ежедневные проверки качества и отдельную таблицу для отклонённых событий.
  • Собрать базовую линию за четыре–восемь недель и только после этого ставить цели по метрикам.
  • Включить прогон карты событий в проверки перед каждым выпуском новой версии приложения.

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

Остались вопросы по вашему потоку данных? Опишите задачу нашей команде — разберём текущую схему событий, покажем места двойного счёта и предложим карту под ваш каталог и набор интеграций. Если решение о приложении ещё не принято, начните с расчёта окупаемости мобильного приложения; если приложение работает, но цифры в отчётах расходятся, посмотрите сценарии аудита конверсии.

Ссылки на документацию в материале проверены 19 октября 2026 года. Рейтинги, среднерыночные нормы и отраслевые бенчмарки здесь не приводятся: по этим показателям нет публичных данных с описанной методикой, которые можно проверить на дату публикации.

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

Какие события нужно отслеживать в мобильном приложении интернет-магазина?

Для первой версии достаточно 15–25 событий, которые покрывают путь от входа до повторного заказа: запуск приложения, открытие раздела каталога, поиск, карточка товара, добавление в корзину, начало оформления, выбор доставки, попытка оплаты, подтверждённая оплата, смена статуса заказа, возврат и открытие приложения из уведомления. Денежные события отправляет серверная часть, остальные — приложение. Критерий добавления нового события один: под него есть решение или метрика, которую кто-то регулярно смотрит.

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

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

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

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

Почему число покупок в аналитике не совпадает с данными учётной системы?

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

Что такое когортный анализ в e-commerce и зачем он нужен?

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

Какие метрики приложения отслеживать в первый месяц после запуска?

Первый месяц уходит на базовую линию, поэтому набор держат коротким: доля дошедших от корзины до оплаты, доля заказов, оплаченных с первой попытки, доля поисков без результата, доля вернувшихся на 7-й и 30-й день после установки, средняя сумма заказа и доля сессий без сбоев. Отдельно смотрят долю событий, прошедших проверку по схеме: пока она не вышла на стабильный уровень, остальные цифры читать рано. Цели по значениям ставят после четырёх–восьми недель наблюдения, а не по ориентирам из чужих обзоров.

Можно ли настроить аналитику приложения без участия разработчиков?

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

ДАВАЙТЕ ОБСУДИМ
ВАШ ПРОЕКТ

Мобильное приложение