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

Путь гостя в апартаментах измеряют не количеством отправленных сообщений, а переходами одной брони между подтверждёнными состояниями: контакт доступен, сообщение доставлено, гость открыл сценарий, выполнил обязательные шаги, получил доступ, заселился и оформил услугу. Сначала задайте события и источники истины, затем считайте конверсию между соседними этапами. Так управляющая компания увидит конкретный разрыв процесса, а не красивый средний процент.
Ниже — практическая событийная карта для апартаментов, сети апартаментов и апарт-отеля. Это методика измерения, а не отраслевой benchmark: целевые значения следует устанавливать по собственному исходному периоду, типу объекта и правилам заселения.
Зачем считать путь по брони, а не по сессии
Веб-аналитика хорошо показывает действия внутри сайта или приложения. В документации Google Analytics событие — это измеряемое взаимодействие пользователя, а Funnel exploration строит последовательность шагов и отдельно различает открытые и закрытые воронки. Но заселение в апартаменты проходит через несколько систем и каналов: PMS, SMS или мессенджер, анкету, оплату, доступ, CRM и исполнение услуг.
Поэтому основной объект измерения — не cookie и не номер телефона, а стабильный идентификатор проживания: stay_id или эквивалентная связка брони и объекта. Веб-события дополняют картину, но финальные состояния должны подтверждаться авторитетной системой: оплата — платёжным контуром, регистрация — сервисом анкеты, доступ — системой управления доступом, заказ услуги — журналом заказа.
Базовая воронка от первого сообщения до результата
| Этап | Событие | Что подтверждает | Источник истины |
|---|---|---|---|
| 1. Бронь готова | stay_eligible | Бронь входит в измеряемый сценарий | PMS / реестр проживаний |
| 2. Контакт разрешён | contact_ready | Есть валидный канал и законное основание для сервисного сообщения | PMS / CRM / consent record |
| 3. Сообщение передано | message_sent | Провайдер принял запрос на отправку | Messaging API |
| 4. Сообщение доставлено | message_delivered | Канал подтвердил доставку, если такой статус поддерживается | Callback провайдера |
| 5. Сценарий открыт | journey_opened | Гость перешёл по персональной ссылке или открыл нужный экран | Web/app analytics |
| 6. Условия выполнены | checkin_ready | Обязательные анкета, договор и/или платёж завершены по правилам объекта | Оркестратор заселения |
| 7. Доступ выдан | access_issued | Код, ключ или инструкция созданы для нужного проживания | Система доступа |
| 8. Заселение подтверждено | checkin_confirmed | Есть определённый объектом сигнал фактического заезда | PMS / доступ / сотрудник |
| 9. Услуга оплачена | service_paid | Платёж завершён, а заказ связан с бронью | Платёжный и заказной контур |
| 10. Услуга исполнена | service_fulfilled | Трансфер, поздний выезд или другой заказ реально исполнен | CRM / исполнитель |
Статус «отправлено» нельзя подменять «доставлено». Например, официальный жизненный цикл Twilio различает queued, sent, delivered, failed и undelivered; для поддерживаемых каналов может появляться read. Конкретный набор статусов зависит от вашего провайдера, поэтому схема выше задаёт смысл событий, а не обещает одинаковую телеметрию во всех каналах.
Словарь события: минимальный контракт
Одного имени события недостаточно. Для каждой записи храните контекст, который позволяет воспроизвести расчёт и отделить повторную доставку от нового действия.
| Поле | Назначение | Пример без персональных данных |
|---|---|---|
event_id | Уникальность записи и защита от дублей | evt_01J... |
occurred_at | Фактическое время события в UTC | 2026-09-04T07:42:11Z |
stay_id | Связь этапов одного проживания | внутренний непрозрачный ID |
property_id | Разрез по объекту или кластеру | внутренний ID объекта |
event_name | Нормализованное состояние | message_delivered |
channel | SMS, Telegram, MAX, web-app и т. п. | sms |
source_system | Кто является источником факта | messaging_provider |
source_event_id | Идентификатор провайдера для сверки | не телефон и не текст сообщения |
outcome | Успех, ошибка, отказ, ручная обработка | success |
reason_code | Машиночитаемая причина исключения | payment_pending |
experiment_cohort | Сопоставимый пилот или baseline | pilot_sep_2026 |
Не кладите персональные данные в аналитику без необходимости
Телефон, ФИО, паспортные данные, текст переписки и код двери обычно не нужны для расчёта конверсии. Аналитический слой должен использовать непрозрачные идентификаторы и минимальный набор параметров, а доступ к исходным операционным данным — оставаться в системах, которым они действительно нужны.
Записывайте время события, а не только время обработки
Callback может прийти позже или не в ожидаемом порядке. Twilio прямо предупреждает, что сетевые задержки не гарантируют порядок поступления status callback. Храните occurred_at, время приёма и версию состояния; не перезаписывайте более поздний подтверждённый статус старым уведомлением.
Как считать конверсию без самообмана
Сначала определите знаменатель
Для основного закрытого маршрута знаменателем служат только stay_eligible: брони, которые действительно должны пройти выбранный сценарий. Исключите тестовые брони, отмены до старта, объекты вне пилота и каналы, для которых нет требуемой функции. Список исключений фиксируется до просмотра результата.
Конверсия этапа = число уникальных stay_id, достигших этапа B после A, / число уникальных stay_id, достигших A.
Сквозная конверсия = число уникальных stay_id с конечным подтверждённым результатом / число stay_eligible.
Время перехода = медиана и высокие перцентили разницы между соседними событиями. Одного среднего недостаточно: несколько очень долгих исключений могут быть скрыты общей цифрой.
Не смешивайте обязательный путь и допродажу
Заселение и покупка дополнительной услуги имеют разные знаменатели. Для допродажи сначала определите offer_eligible: кому услуга была уместна по датам, объекту, остаткам и правилам. Только затем считайте показ, начало заказа, оплату и исполнение. Подробная операционная схема есть в статье о дополнительных услугах после бронирования.
Где чаще всего ломается воронка
| Разрыв | Что проверить сначала | Что не доказывает проблему |
|---|---|---|
contact_ready → message_sent | Правило запуска, валидность канала, очередь и ошибки API | Факт создания брони сам по себе |
message_sent → message_delivered | Callback, финальный статус и код ошибки провайдера | HTTP 200 при создании сообщения |
message_delivered → journey_opened | Срок жизни ссылки, язык, время отправки, корректность UTM/deep link | Количество повторных отправок |
journey_opened → checkin_ready | Поля анкеты, мобильный UX, платёж, понятность следующего шага | Просмотр первой страницы |
checkin_ready → access_issued | Правила доступа, время заезда, готовность номера, интеграция замка | Успешная анкета без проверки остальных условий |
service_paid → service_fulfilled | Идемпотентное создание заказа, назначение исполнителя, подтверждение выполнения | Возврат браузера на success page |
Stripe в официальном руководстве по Checkout рекомендует запускать исполнение после подтверждённой оплаты и делать функцию fulfillment безопасной для повторного вызова; одной страницы успеха недостаточно. Для апартаментов это означает: оплаченный трансфер или поздний выезд должен создать однозначный заказ, а повторный webhook — не второй заказ.
Закрытая и открытая воронка нужны для разных вопросов
Google Analytics определяет закрытую воронку как последовательность, в которую пользователь входит с первого шага, а открытую — как путь, где вход возможен на любом этапе. В операционном отчёте сети апартаментов полезны обе:
- Закрытая: сколько подходящих броней прошло весь заранее заданный маршрут.
- Открытая: сколько гостей вошли позже — например, открыли ссылку из ручного сообщения или оформили услугу уже после заселения.
Не складывайте результаты этих отчётов в один показатель. Они отвечают на разные вопросы и могут использовать разные знаменатели.
Шаблон пилота на четыре недели
- Выберите один объект и один маршрут. Например, все подходящие брони с самостоятельным заселением в апартаменты, без тестов и корпоративных исключений.
- Зафиксируйте baseline. Используйте те же этапы и правила исключений для периода до изменения.
- Проверьте телеметрию. Для 10–20 тестовых сценариев вручную сопоставьте события с PMS, сообщением, анкетой, оплатой и доступом.
- Задайте стоп-сигналы. Ошибочная выдача доступа, дубль списания/заказа, потерянное исключение или отсутствие ручной эскалации важнее роста общей конверсии.
- Смотрите когорты. Разделяйте объект, канал, язык, тип тарифа, lead time и причину отказа.
- Меняйте один участок. Текст сообщения, форму, момент запроса оплаты или правило доступа тестируйте отдельно, чтобы результат можно было интерпретировать.
Для проверки обязательных условий используйте чек-лист готовности к самостоятельному заселению. Статусы платежа, холда и возврата отдельно разобраны в матрице платёжных состояний, а отказоустойчивую доставку — в материале об устойчивой коммуникации с гостем.
Что доступно сейчас, а что требует настройки
Подтверждено в публичном контуре Concierge Online: платформа связывает данные брони, коммуникации, онлайн-регистрацию, платежи, управление доступом, витрину услуг и работу сотрудника вокруг пути гостя. Конкретный набор PMS, каналов, замков, платежей и автоматических действий зависит от конфигурации объекта.
Требует проектирования пилота: единый событийный словарь, правила stay_eligible, аналитическое хранилище, cohort-разрезы и дашборд именно в форме, предложенной в этой статье. Это методика внедрения, а не заявление о готовом универсальном отчёте во всех тарифах.
Гипотеза для проверки: устранение крупнейшего подтверждённого разрыва должно улучшить соседний переход без роста критических ошибок и ручных исключений. Размер эффекта заранее не обещается.
FAQ
Можно ли считать конверсию по кликам из SMS?
Клик показывает только вход в цифровой сценарий. Он не подтверждает завершение анкеты, оплату, выдачу доступа или фактическое заселение.
Что делать, если канал не возвращает статус доставки?
Хранить последний подтверждённый статус и честно обозначать пробел телеметрии. Нельзя автоматически считать принятое API-сообщение доставленным или прочитанным.
Как учитывать повторные сообщения?
События сообщения сохраняются отдельно, но конверсия этапа считается по уникальному stay_id. Для анализа нагрузки дополнительно считайте число попыток и время до первого успешного результата.
Какой показатель выбрать главным?
Для обязательного пути — долю подходящих броней с подтверждённым конечным состоянием и критические ошибки. Для услуги — долю исполненных заказов среди подходящих предложений, отдельно от выручки и возвратов.
Нужны ли отраслевые benchmark-значения?
Для старта полезнее собственный baseline с неизменными определениями. Внешняя цифра без типа объекта, периода, знаменателя, исключений и источника не задаёт безопасную цель.
Соберите карту одного реального пути гостя
Возьмите один объект, выгрузку обезличенных событий и правила заселения. На встрече разложим путь от первого сообщения до доступа и услуги, найдём отсутствующие подтверждения и зададим измеримый пилот без универсальных обещаний.
Источники и границы
- Google Analytics: настройка событий, проверено 4 сентября 2026 года.
- Google Analytics: Funnel exploration, проверено 4 сентября 2026 года.
- Twilio: статусы исходящих сообщений, проверено 4 сентября 2026 года.
- Twilio: обработка status callback, проверено 4 сентября 2026 года.
- Stripe: fulfillment после Checkout, проверено 4 сентября 2026 года.
Материал описывает универсальную методику событийного измерения. Он не утверждает, что Google Analytics, Twilio или Stripe являются обязательными компонентами Concierge Online, и не обещает готовую интеграцию с ними для каждого объекта.
Хотите применить это в своём объекте?
Обсудим вашу задачу и подготовим понятный план автоматизации.
Получить консультацию →