Представим обычный интернет-магазин. Покупатель положил в корзину кофемолку, отвлёкся на звонок и закрыл ноутбук. Утром магазин уже волнуется: «Вы забыли товар!» Днём предлагает скидку. Вечером напоминает, что счастье близко. А человек всего лишь хотел дома измерить полку. Маркетинг объявил спасательную операцию раньше, чем произошло кораблекрушение.
Брошенная корзина — это незавершённый путь от выбранных товаров к заказу в пределах принятого магазином периода наблюдения. Чтобы работать с ней, нужно разделять добавление товара, начало оформления, созданный заказ и подтверждённую оплату; затем выяснять причину остановки и проверять, даёт ли возвращающее сообщение дополнительные покупки. Не каждое отсутствие заказа означает потерянного клиента, а выручка после письма ещё не доказывает пользу письма.

Корзина — ещё не обещание купить
У корзины несколько человеческих назначений. Кто-то действительно готов платить. Кто-то собирает варианты и сравнивает итоговую стоимость. Кто-то использует её вместо списка желаний: удобно сложить три модели и вечером спросить совета. В рабочем аккаунте сотрудник может готовить закупку, которую руководитель согласует на следующей неделе. Одинаковая кнопка скрывает разную степень готовности.
Если назвать все такие состояния отказами, получится ложная картина: магазин будто почти продал товар, но его подвёл покупатель. Затем начинается борьба за процент восстановления, хотя часть корзин никогда не была близка к заказу. Честнее говорить о наблюдаемом действии: товар добавлен, оформление не начато, покупка за выбранный срок не подтверждена. Эта формулировка менее драматична, зато помогает выбрать действие.
Отдельно стоит незавершённое оформление — abandoned checkout. Здесь человек уже перешёл к заказу, однако не закончил процесс. Правила, по которым платформа создаёт такую запись, зависят от самой платформы и версии её механизма. Нельзя переносить определение из справки одного магазина на отчёт другого. В своём проекте сначала запишите, какое событие запускает отсчёт времени и какое завершает его.
Моя рабочая позиция: полезнее один раз договориться о состояниях, чем ежемесячно сравнивать красивые проценты с разным знаменателем. Разговор с владельцем стоит начинать с вопроса «что вы считаете потерей?», а не с выбора сервиса рассылок. Список адресов найдётся быстро. Общая логика, почему людям нужно писать, обычно требует больше усилий.
Четыре состояния вместо одного большого отказа
Минимальная модель включает корзину, оформление, заказ и оплату. Корзина отвечает на вопрос, что выбрано. Оформление — начал ли посетитель вводить или подтверждать условия. Заказ — появилась ли запись в системе магазина. Оплата — выполнено ли нужное финансовое условие. Для оплаты при получении последнее состояние наступит позже; его нельзя требовать от каждого заказа одинаково.
В документации Google Analytics по электронной торговле действия представлены отдельными событиями: add_to_cart, begin_checkout и purchase. Это удобная отправная точка для словаря проекта. Но наличие названий в плане ещё не подтверждает правильность отправки. Разработчик должен показать, какое конкретное действие пользователя или системы вызывает каждое событие.
| Состояние | Что действительно известно | Чего пока не знаем |
|---|---|---|
| Товар в корзине | Пользователь выбрал позицию и количество | Готов ли он покупать сейчас |
| Оформление начато | Пользователь перешёл к условиям заказа | Подошли ли доставка и оплата |
| Заказ создан | Запись принята системой магазина | Будет ли заказ оплачен и исполнен |
| Оплата подтверждена | Есть подтверждение нужной платёжной операции | Не произойдёт ли позднее возврат |
Эта схема особенно важна для внешней оплаты. Пользователь может не вернуться со страницы платёжного сервиса, хотя деньги уже приняты. Или вернуться, но подтверждение ещё обрабатывается. В такой момент письмо «Вы не закончили покупку» звучит как просьба заплатить второй раз. Перед возвращающим сообщением проверяют состояние заказа у его владельца, а не только наличие браузерного события.
Подробную технику подтверждения приёма и расхождений между браузером и сервером мы разбираем в материале об аналитике форм до принятой заявки. Для корзины здесь важен вывод: интерфейс и операционная система могут видеть разные части одного процесса. Маркетинговая автоматизация должна учитывать обе, особенно когда сообщение уже готовится к отправке.
Как считать брошенные корзины без фокусов со знаменателем
Сначала определите единицу: посетитель, сессия, корзина или попытка оформления. Допустим, один человек за три дня пять раз открыл корзину и один раз купил. По сессиям можно увидеть четыре незавершённых визита. По корзине — один завершённый выбор. Ни один подход сам по себе не запрещён, но результаты отвечают на разные вопросы. Смешивать их в одном графике нельзя.
Для операционного сценария удобна конкретная корзина или оформление с устойчивым идентификатором. Для общего анализа поведения пригодятся пользователи и сессии. В когортном отчёте пишут: «доля корзин без заказа за семь дней после создания», а не просто «брошенность». Дата создания фиксирует начало окна и не сдвигается при новом визите. Для операционной рассылки можно отдельно отсчитывать паузу от последнего изменения, но это другой критерий: пока корзина активна, контакт откладывается. Такие активные корзины нельзя считать созревшими потерями только потому, что дата выгрузки уже наступила. Семь дней здесь — пример настройки, не универсальный отраслевой стандарт. Для расходных материалов и дорогой мебели разумные окна могут отличаться.
Выбранное окно нужно дождаться. Если взять корзины, созданные вчера, и сравнить их с корзинами месячной давности, первая группа почти неизбежно будет выглядеть хуже: у неё было меньше времени завершить покупку. Поэтому сравнивайте созревшие когорты с одинаковым сроком наблюдения. Начало кампании, выходные, изменение ассортимента и устройства записывайте рядом с датой, чтобы не искать потом мистику в сезонности.
Условная формула: доля незавершённых корзин = число подходящих корзин без связанного заказа к концу окна / число подходящих корзин, созданных в выбранной когорте. Из обеих частей заранее исключают тесты, ботов и другие случаи по единому правилу. Исключать неудобные записи только из числителя — уже не аналитика, а косметический ремонт отчёта.
В справке Яндекс Метрики по электронной коммерции разделены сведения о товарах в корзине и содержимом заказов. Это помогает смотреть не только общий отток, но и конкретные позиции. При этом отчёт не сообщает мыслей покупателя. Высокая доля незавершённых выборов у товара — повод проверить цену, наличие и условия, а не готовый диагноз «дорого».
Одна покупка, два устройства и три ложные потери
Покупатель может выбрать товар на телефоне, а оформить его вечером на компьютере. Может открыть ссылку из письма в другом браузере. Может позвонить менеджеру и купить по счёту. Если система видит только старую сессию, она продолжит считать корзину незавершённой и отправлять сообщения человеку, который уже стал клиентом. Проблема находится в связи событий, а не в недостаточной настойчивости текста.
Не пытайтесь исправить это сбором всех возможных персональных данных. Нужен минимальный набор разрешённых связей: идентификатор корзины, идентификатор оформления, запись заказа, доступный в данном контуре идентификатор покупателя и статус коммуникации. Часть анонимных действий связать не получится. Это нормальное ограничение, которое нужно указать в отчёте, а не заполнять догадками.
Полезно различать подтверждённое соответствие и вероятностное сходство. Один и тот же товар и сумма ещё не доказывают, что заказ принадлежит старой корзине. Два человека могут покупать одинаковый чайник. Для остановки персонального сообщения лучше опираться на надёжную связь с заказом или проверять последнюю активность известного клиента в согласованных пределах. Если такой проверки нет, сценарий должен быть осторожнее.
После покупки посетителя исключают из возвращающей цепочки именно по соответствующему заказу или потребности, а не выключают весь маркетинг навсегда. Подробности сегментов и задержек есть в статье об исключении покупателей из рекламы. Здесь задача уже: не путать завершённый путь с незавершённым и не предлагать повторную оплату из-за рассинхронизации систем.
Причины остановки: не все лечатся напоминанием
Выгоднее сначала разделить техническую проблему, неожиданное условие и обычную паузу выбора. При технической проблеме человек хотел продолжить, но не смог: не сохранился адрес, перестала отвечать кнопка, отклонился платёж. Неожиданное условие возникает, когда итог отличается от ожиданий: доставка дороже, срок длиннее, доступного способа получения нет. Обычная пауза означает, что решение ещё не принято.
Для каждой версии нужны признаки. Если остановки резко выросли после релиза и сосредоточены в одном браузере, проверьте сценарий оформления. Если люди уходят после расчёта доставки, изучайте предложения по регионам и видимость итоговой стоимости. Если длинные паузы характерны для дорогой категории, сравните их с обычным циклом выбора. В последнем случае срочный промокод способен лишь удешевить покупку, которая и так созрела бы завтра.
| Наблюдение | Гипотеза | Первая проверка |
|---|---|---|
| Начало оформления есть, подтверждений меньше после обновления | Сломался путь на определённом устройстве | Повторить заказ в том же окружении |
| Остановка после выбора региона | Не подошли доставка или итоговая цена | Сравнить обещание в карточке и финальные условия |
| Паузы в дорогой категории, покупки приходят позднее | Пользователь обдумывает выбор | Посмотреть созревшие когорты и срок до заказа |
| Письмо возвращает человека в пустую корзину | Истёк срок хранения или потерялась связь | Открыть восстановительную ссылку в новом браузере |
Не нужно объявлять причиной любой последний видимый экран. Пользователь мог уйти после выбора доставки, потому что его позвали на встречу. Надёжнее складывать несколько источников: агрегированные события, воспроизводимый тест, обращения в поддержку и разрешённые наблюдения за интерфейсом. По отдельности это сигналы, вместе — основание для решения. Именно здесь полезен совместный разбор разработчика, маркетолога и операционной команды.
Для ошибок полей и управления с клавиатуры есть отдельный разбор доступности формы. Не стоит заново проектировать всю форму ради возвращающей цепочки. Но запускать письма поверх известного дефекта тоже бессмысленно: клиент вернётся ровно к той стене, в которую уже упёрся.
Как скидка превращает восстановление в дорогой самообман
Разберём условный магазин аксессуаров. Из 1 000 подходящих корзин часть покупателей получила сообщение, остальные остались в контрольной группе. Через одинаковое окно у получивших сообщение оказалось больше заказов. Руководитель рад, пока финансовая модель не напоминает, что оборот и прибыль — разные родственники: встречаются на праздниках, но живут отдельно.
Для расчёта возьмём учебные числа. В каждой группе по 500 корзин. В контрольной купили 40 человек, в тестовой — 55. Доли составили 8% и 11%, разница — 3 процентных пункта. При равном составе групп это соответствует 15 дополнительным заказам в тестовой группе. Это оценка эффекта в примере, а не результат проекта 404ai и не статистически подтверждённая закономерность.
Пусть средний заказ равен 6 000 ₽, а вклад до расходов на возвращение — 1 800 ₽ на заказ. Дополнительные 15 заказов дают 27 000 ₽ вклада. Теперь допустим, всем 55 покупателям тестовой группы предоставили скидку 500 ₽, а сообщения и работа сценария стоили 3 000 ₽. Издержки составят 30 500 ₽. Разница — минус 3 500 ₽, хотя на красивом баннере можно написать «вернули 330 000 ₽ выручки».
Упрощение здесь намеренное: реальная модель учитывает переменную себестоимость, доставку, комиссии, возвраты и структуру скидок. Но даже такой расчёт показывает главное. Скидку получают и те люди, которые купили бы без неё. Поэтому оценивать затраты нужно по всем получателям льготы, а дополнительные продажи — относительно контрольной группы. О том, как дисконт съедает вклад, подробнее в материале о скидках и марже.
На первом тесте разумно сравнить полезное напоминание без скидки с отсутствием сообщения. Возможно, человеку достаточно вернуться к сохранённому выбору или узнать точную дату доставки. Скидка — отдельная гипотеза со своей экономикой. Она не должна автоматически попадать в каждую корзину только потому, что шаблон письма уже нарисован.
Что написать человеку вместо «вы всё забыли»
Хорошее возвращающее сообщение продолжает задачу покупателя. Если выбор сохранён, покажите товар, вариант и актуальные условия. Если нужно проверить совместимость, предложите понятный способ уточнения. Если проблема произошла на оплате, сначала разберитесь со статусом операции. У каждого случая свой следующий шаг; одинаковое «последний шанс» обычно больше рассказывает о плане рассылок, чем о ситуации клиента.
Для нашей кофемолки первый учебный текст мог бы звучать так: «Ваш выбор сохранён: модель М, чёрная. Можно вернуться к корзине и проверить условия доставки. Если выбираете под конкретную кофеварку, вот как уточнить совместимость». Здесь нет утверждения, что покупатель что-то забыл, нет выдуманного дефицита и нет обещания неизменной цены. Ссылка ведёт к актуальной корзине, а условия проверяются при открытии.
Второй сценарий — помощь, когда магазин действительно может ответить на вопрос. Не стоит ставить кнопку «Спросить эксперта», если за ней сутки тишины. Лучше честно назвать канал и доступность команды. Если отвечает ИИ, его роль и границы должны быть понятны: он помогает найти информацию и передать вопрос человеку, а не гарантирует совместимость изделия без данных производителя.
Третий сценарий — изменение состояния товара. Например, ранее недоступный способ доставки появился. Это повод написать только тем людям, для которых изменение действительно применимо и общение допустимо. «У нас обновления» для всей базы — слишком широкое основание. Полезность сообщения определяется связью с задачей, а не количеством персональных переменных в приветствии.
Права на контакт, назначение сообщения и правила канала проверяют до автоматизации. Наличие адреса в незавершённом оформлении само по себе не следует считать универсальным разрешением на любые кампании. Например, Shopify в описании маркетинговых автоматизаций отдельно оговаривает подписку получателей на маркетинг. Для конкретного магазина нужно проверить собственные основания и настройки, а не копировать чужой шаблон как юридическое решение.
Когда отправлять и сколько раз возвращать
Магического времени нет. У магазина готовых обедов и продавца промышленного инструмента разные ожидания, сроки и причины паузы. Возьмите наблюдаемое распределение времени от оформления до покупки, срок жизни корзины и доступность товара. Затем выберите проверяемую задержку. Если нормальная покупка чаще происходит после вечернего сравнения, сообщение через несколько минут может быть просто шумом.
Для первого эксперимента я бы ограничил сценарий одним сообщением и одним понятным окном наблюдения. Это рекомендация для управляемого старта, а не норма эффективности. Одно касание проще связать с гипотезой и проверить. Когда команда одновременно запускает письмо, мессенджер, звонок и скидку, она узнаёт только одно: на клиента очень старались повлиять. Что именно сработало и какой ценой — останется неясным.
Если появится основание для второго касания, назначьте ему другую полезную роль. Первое возвращает к выбору, второе помогает с нерешённым вопросом. Не нужно пересылать тот же текст с увеличенным числом восклицательных знаков. Между касаниями проверяют покупку, отказ, ответ в поддержке, наличие товара и статус других коммуникаций. Покупатель не обязан объяснять пяти отделам, что вопрос уже закрыт.
Важен общий предел контактов, а не лимит внутри одной цепочки. Пользователь может одновременно попасть в приветственную рассылку, товарную рекомендацию и возвращение корзины. Каждый сценарий считает себя деликатным, а вместе они устраивают небольшую осаду. Центральное правило приоритета должно решать, какое сообщение действительно нужно сейчас, а какое подождёт или отменится.
Покупка должна останавливать сценарий перед самой отправкой
Самая важная часть цепочки часто находится не в письме, а за секунду до него. В очереди может лежать сообщение, подготовленное несколько часов назад. За это время человек успел купить, изменить выбор, отказаться от общения или получить помощь. Проверка только в момент постановки в очередь недостаточна: данные устаревают, пока сценарий вежливо ждёт своего таймера.
Перед отправкой заново сверяют статус связанного заказа, право на коммуникацию, доступность хотя бы значимой части корзины, срок действия ссылки и отсутствие другого несовместимого обращения. Если подтверждение оплаты ещё не пришло, лучше отложить сообщение и разобраться с состоянием. Молчание на короткое время обычно дешевле, чем спор о повторной оплате или отменённой скидке.
Сценарий также прекращают после явного отказа, удаления корзины в согласованной модели, окончания выбранного периода и достижения ограничения касаний. При изменении состава нужно решить, старая ли это попытка или новая. Иначе покупатель добавит одну батарейку, а автоматика начнёт новый недельный цикл вокруг старого холодильника. Такие правила следует записать до запуска, а не объяснять задним числом в чате поддержки.
В справке Shopify Flow есть отдельный триггер незавершённого оформления. Наличие готового триггера удобно, но он не заменяет проектирование условий магазина. Нужно проверить, какие записи его вызывают, как учтены подозрительные попытки и какое действие разрешено дальше. Само слово «автоматизация» не содержит обещания, что все исключения уже решены.
Контрольная группа: кому не писать, чтобы понять, кому помогли
Возвращение без контрольной группы легко измеряет естественное возвращение. Человек увидел письмо, вспомнил, что хотел купить, и оформил заказ. Или вообще не заметил письмо и купил сам. В обоих случаях атрибуция может записать покупку в восстановленные, если её правила достаточно щедрые. Для проверки воздействия нужен сравнимый набор корзин, которым сообщение не отправили.
Распределяйте подходящих получателей случайно по заранее принятому правилу и сохраняйте группу на весь эксперимент. Если один человек получит первое письмо, но окажется в контроле для второго, сравнение станет мутным. Не меняйте состав только потому, что в тесте оказались более дорогие товары. Лучше до запуска определить слои, например категорию и устройство, и проверить, что распределение не создало заметный перекос.
Главная метрика должна соответствовать цели: дополнительные исполненные заказы или дополнительный вклад после переменных расходов. Открытия и переходы полезны для диагностики, но они не оплачивают доставку. Вместе с эффектом показывают отписки, жалобы, нагрузку на поддержку, возвраты и долю сообщений, остановленных после покупки. Хороший сценарий иногда отправляет меньше писем именно потому, что лучше понимает состояние заказа.
Срок и объём эксперимента выбирают по исходной доле покупок, ожидаемому изменению и допустимой неопределённости. Числа из учебного примера выше не доказывают статистическую значимость. Если заказов мало, честный результат может звучать так: «Пока недостаточно данных, чтобы отличить эффект от случайного разброса». Это полезнее, чем объявлять победу после двух удачных дней и масштабировать скидки на всю базу.
Что проверить до запуска возвращения корзины
Приёмка начинается с тестовых покупок. Пройдите путь без контакта, с допустимым контактом, с успешной оплатой, с отказом оплаты и с задержанным подтверждением. Отдельно проверьте возврат к корзине после смены цены, исчезновения товара и входа с другого устройства. Команда должна увидеть реальные состояния в журнале и объяснить, почему сообщение отправлено либо остановлено.
| Проверка | Ожидаемое поведение | Доказательство |
|---|---|---|
| Покупка до времени отправки | Сообщение отменено | Связанный заказ и причина отмены |
| Нет допустимого канала связи | В цепочку не включаем | Статус разрешения без лишних персональных данных |
| Цена или наличие изменились | Ссылка показывает актуальные условия | Тест открытия и сверка с каталогом |
| Повторное событие корзины | Нет дубля одной и той же отправки | Один идентификатор сценария и журнал решения |
| Отказ от общения | Будущие касания прекращены | Проверка очереди и правила исключения |
Для владельца магазина полезен короткий паспорт сценария: кого считаем участником, когда запускаем, что проверяем перед отправкой, зачем пишем, где контрольная группа и по какой метрике принимаем решение. Рядом — ответственный за доставку сообщения и ответственный за правильность статуса заказа. Если за второй пункт никто не отвечает, у маркетинга будет очень убедительный текст о покупке, которой он не видит.
Пилот стоит ограничить одной категорией и одним каналом, если данных для этой категории достаточно. Так проще найти технический сбой и понять экономику. После проверки можно расширять охват, однако условия для новых товаров не следует копировать автоматически. Повторная покупка расходника, первый заказ дорогого изделия и оптовая закупка живут в разных ритмах.
Что считать хорошим результатом
Хороший результат — когда команда понимает, какие остановки нужно устранять в интерфейсе, какие требуют помощи, а какие являются нормальным выбором. Когда возвращающая ссылка действительно возвращает к товару, покупка прекращает цепочку, а дополнительный вклад покрывает затраты. Процент «восстановленных» при этом может стать ниже: из него исчезнут естественные покупки и ошибочные совпадения. Бизнес от этого не беднеет — беднее становится только самодовольный отчёт.
ИИ в таком процессе уместен там, где есть ясная задача: сгруппировать обезличенные причины обращений, помочь подготовить варианты объяснения доставки, подсказать сотруднику недостающие сведения. Решение о статусе оплаты, доступности товара и возможности отправки должно опираться на проверяемые данные и правила. Красиво написанная моделью фраза не исправляет неправильный источник события.
Если выбирать первое действие, я бы начал с одной корзины, которую команда способна провести от выбора до заказа и обратно объяснить по журналу. Затем — одна гипотеза и честный эксперимент. Для такой работы можно обсудить разработку сайта и интеграций. Но сначала стоит убедиться, что вы возвращаете человека к полезному продолжению, а не просто напоминаете ему о существовании отдела маркетинга.