-15%Скидка 15% на разработку сайта или магазина при старте до конца месяца

Сохранение незавершённого заказа и возврат к нему

Сохранение незавершённого заказа и восстановление брошенной корзины на 1С-Битрикс

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

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

Коротко

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

Почему покупатели бросают заказы

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

Типичные причины на этапе оформления:

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

Корзина против незавершённого заказа

В 1С-Битрикс важно различать две разные вещи, потому что хранятся и восстанавливаются они по-разному.

КритерийБрошенная корзинаНезавершённый заказ
Что этоСписок выбранных товаровНачатое, но не подтверждённое оформление
Где живётМодуль продаж, корзина пользователя (fuser)Заказ со статусом «не оплачен» / черновик
Есть ли данные покупателяОбычно нетЧасть свойств заказа заполнена
Как вернутьКука, авторизацияСсылка на оплату/оформление
Типовой сценарийУшёл со страницы каталога/корзиныНачал оформлять, не подтвердил

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

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

Как Битрикс хранит корзину и заказ

Модуль «Интернет-магазин» (продажи) в 1С-Битрикс ведёт корзину пользователя как набор записей, привязанных к идентификатору покупателя. У авторизованного это его пользователь, у гостя — служебный идентификатор fuser, который живёт в куке. Пока запись корзины не удалена и кука не потеряна, товары остаются в корзине.

Заказ — отдельная сущность. Он создаётся в момент оформления и хранит состав, свойства (данные покупателя, доставку, оплату) и статус. Незавершённый заказ — это заказ, доведённый до создания, но не оплаченный или помеченный как черновик. Работать с обеими сущностями правильнее через D7-ORM модуля продаж, а не «сырыми» SQL-запросами: это надёжнее и переживает обновления платформы. Как устроен D7 и его ORM, мы разбираем в статье про D7 ORM в Битрикс.

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

Кука, авторизация и слияние корзин

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

Когда гость с наполненной корзиной входит в аккаунт, возникает вопрос: что делать с корзиной, которая уже была у аккаунта? Здесь нужна понятная политика слияния:

Слияние должно корректно обрабатывать дубли (один товар в обеих корзинах — сложить количество, а не задвоить) и кратность упаковок. Это то место, где «сделали на скорую руку» оборачивается потерянными или задвоенными позициями. Аккуратная логика авторизации и объединения корзин — часть работы над личным кабинетом и оформлением.

Черновик заказа и промежуточное сохранение

Если оформление многошаговое, стоит сохранять не только корзину, но и введённые данные — чтобы вернувшийся покупатель не заполнял всё заново. В 1С-Битрикс это делают двумя способами: через профиль покупателя (сохранённые адреса и получатели) и через заказ-черновик с уже заполненными свойствами.

  1. Соберите email/телефон раньше. Один контактный шаг в начале оформления даёт канал возврата и данные для восстановления.
  2. Сохраняйте профиль. Город, адрес и получателя пишите в профиль покупателя, чтобы подставлять при следующем заказе.
  3. Держите черновик. На последних шагах создавайте заказ-черновик со свойствами, чтобы вернуть покупателя ровно туда, где он остановился.
  4. Не храните платёжное. Реквизиты карт и подобные данные не сохраняйте — это зона PCI и лишний риск.

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

Пересчёт цен и наличия при возврате

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

Правильный сценарий возврата:

Наличие и цены приходят на сайт обменом с 1С, поэтому корректность возврата упирается в качество интеграции и в то, как быстро сайт получает обновления остатков. Если обмен идёт через REST и вебхуки, важно, чтобы этот канал был защищён и надёжен — эту тему мы разбираем в статье про REST, вебхуки и безопасность в Битрикс.

Письма о брошенной корзине

Кука возвращает тех, кто и так зашёл снова. Чтобы напомнить о себе активно, нужен email. Письмо о незавершённом заказе — один из самых окупаемых сценариев в e-commerce, но работает он, только если сделан аккуратно.

Что важно в цепочке напоминаний:

Технически рассылку можно строить на встроенных инструментах Битрикса или на внешнем сервисе, получающем событие «брошенная корзина» через интеграцию. Второй путь гибче, но требует надёжной передачи событий и защиты канала — здесь снова помогает продуманная REST-интеграция.

Ссылка восстановления и её безопасность

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

  1. Одноразовый токен. Ссылка содержит непредсказуемый токен, привязанный к корзине/заказу, а не открытый идентификатор.
  2. Ограниченный срок. Токен живёт ограниченное время (например, несколько дней) и затем перестаёт работать.
  3. Никаких данных в URL. В ссылке нет персональных данных и цен — только токен.
  4. Повторная проверка. При переходе заново подтягиваются актуальные цена и наличие, а чувствительные шаги требуют подтверждения.

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

Согласия, персональные данные и спам

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

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

Реализация в 1С-Битрикс пошагово

Соберём всё в понятную последовательность внедрения. Конкретные названия настроек зависят от редакции и версии, но логика такова:

  1. Настройте хранение корзины. Проверьте срок жизни корзины гостя и агент очистки — он не должен убивать корзины слишком рано.
  2. Свяжите корзину с авторизацией. Реализуйте слияние корзин при входе с обработкой дублей и кратности.
  3. Соберите контакт раньше. Добавьте ранний шаг с email/телефоном и согласием в оформление.
  4. Сохраняйте черновик. Пишите свойства заказа-черновика и данные профиля для быстрого возврата.
  5. Настройте событие «брошено». Определите момент, когда заказ считается незавершённым, и генерируйте событие.
  6. Постройте письма. Цепочка напоминаний с составом корзины, актуальной ценой и безопасной ссылкой восстановления.
  7. Пересчитывайте при возврате. На входе по ссылке заново подтягивайте цену и наличие и показывайте изменения.
  8. Протестируйте. Прогоните сценарии смены устройства, устаревшей цены, закончившегося товара и отписки.

Чтобы такие изменения выкатывались без сюрпризов на боевом магазине, их прогоняют через отлаженный процесс деплоя. Как выстроить CI/CD для проекта на Битрикс, мы разбираем в отдельной статье про CI/CD и деплой Битрикс.

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

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

  1. Корзина живёт достаточно долго. Срок хранения и агент очистки настроены осознанно.
  2. Перенос между устройствами. Авторизация переносит корзину, слияние обрабатывает дубли и кратность.
  3. Ранний контакт с согласием. Email/телефон собираются в начале оформления с чекбоксом согласия.
  4. Черновик и профиль. Введённые данные сохраняются для возврата, платёжные — нет.
  5. Пересчёт при возврате. Цена и наличие подтягиваются заново, изменения показываются честно.
  6. Письма настроены. Тайминг, состав, отписка и репутация домена в порядке.
  7. Ссылка безопасна. Токен непредсказуем, ограничен по сроку, без данных в URL.
  8. Сценарии протестированы. Смена устройства, устаревшая цена, отписка, безопасность проверены.

Вывод

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

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

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

Чем брошенная корзина отличается от незавершённого заказа?

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

Сколько времени 1С-Битрикс хранит корзину анонимного пользователя?

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

Восстановятся ли цены и остатки, если покупатель вернётся через неделю?

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

Как вернуть к заказу неавторизованного покупателя?

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

Нужно ли согласие на отправку писем о брошенной корзине?

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

Как не потерять корзину при переносе с телефона на компьютер?

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

Стоит ли сохранять частично заполненную форму оформления?

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

Восстановление корзины замедляет сайт?

При грамотной реализации — нет. Восстановление корзины — это разовая операция при возврате пользователя, а не постоянная нагрузка на каждой странице. Тяжёлым его делают неоптимальные запросы к базе и пересчёт цен «в лоб». Если работать через D7-ORM модуля продаж, кэшировать каталожные данные и пересчитывать наличие точечно, влияние на скорость незаметно даже на большом магазине.

Поделиться:

Теряете почти оформленные заказы?

Настроим сохранение корзины, возврат по email и пересчёт цен из 1С так, чтобы незавершённые заказы возвращались, а не пропадали.

Редакция B2Bsite

Команда B2Bsite. С 2014 года разрабатываем интернет-магазины и порталы на 1С-Битрикс: корзина, оформление заказа, возврат брошенных корзин и обмен с 1С без потери позиций и цен.

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