Як повернути 18% покинутих кошиків через email у 1С-Бітрікс

Email-стратегія для покинутих кошиків на Бітрікс: як повернути покупців Кожен другий покупець покидає сайт, не завершивши оформлення. Без своєчасного нагадування ці кошики залишаються втраченими. Ми налаштовуємо ланцюжки email-сповіщень на Бітрікс уже понад 5 років — конверсія у відновлення сягає
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Як повернути 18% покинутих кошиків через email у 1С-Бітрікс
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1017
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1161

Email-стратегія для покинутих кошиків на Бітрікс: як повернути покупців

Кожен другий покупець покидає сайт, не завершивши оформлення. Без своєчасного нагадування ці кошики залишаються втраченими. Ми налаштовуємо ланцюжки email-сповіщень на Бітрікс уже понад 5 років — конверсія у відновлення сягає до 18%. Для інтернет-магазину з 500 замовлень на місяць і середнім чеком 1000 грн, повернення 15% покинутих кошиків може принести додаткові 75 000 грн на місяць. Реалізація будується на агентах, поштових подіях та кастомному класі AbandonedCartMailer з перевіркою актуальності кошика. Для роботи з кошиками використовуються Sale\Basket та Sale\Fuser. Анонімні користувачі ідентифікуються через FUSER_ID, що зберігається в cookies. Це дозволяє надсилати листи навіть незареєстрованим відвідувачам, якщо вони залишили email на етапі оформлення. Ключова складність — коректно визначити момент, коли кошик став «покинутим», і не турбувати покупця, який уже повернувся до оформлення.

Магазини з високою відвідуваністю потребують оптимізації: агенти запускаються раз на 15 хвилин і обробляють пачки по 100 кошиків, щоб не блокувати таблицю b_sale_basket. Для відбору даних використовується індексований запит за FUSER_ID та NULL в ORDER_ID.

Як налаштувати: покрокова інструкція

  1. Створіть тип поштової події ABANDONED_CART_REMINDER з полями USER_NAME, USER_EMAIL, CART_ITEMS, CART_TOTAL, CART_RESTORE_URL.
  2. Напишіть агент-функцію sendAbandonedCartEmails(), яка вибирає кошики статусу 'new' та надсилає лист через CEvent::Send().
  3. Налаштуйте шаблон листа з HTML-версткою та UTM-мітками.
  4. Додайте в шаблон посилання на відписку #UNSUBSCRIBE_URL#.
  5. Протестуйте: перевірте, що листи надходять, відписка працює, конверсія зростає.

Основна логіка: коли надсилати та як не перевантажити клієнта

Оптимальні інтервали для ланцюжка з трьох листів:

  1. Перший лист — через 1–2 години. Нагадування без знижки. «Ви забули в кошику товари».
  2. Другий лист — через 24 години. Підкреслюємо цінність: «Зараз найкращий час забрати».
  3. Третій лист — через 72 години. Опціонально, з промокодом або вказівкою на завершення резервування.

Не надсилайте всі три, якщо користувач уже відкрив попередній або перейшов за посиланням. Краще зупинитися після першого кліка. Для відстеження відкриттів використовуйте піксель-картинку або посилання переходу з UTM-мітками. Кастомні листи відкривають на 25% частіше, ніж стандартні.

Як працює агент надсилання?

Агент запускається за агент-функцією sendAbandonedCartEmails() кожні 30 хвилин. Він вибирає кошики, виявлені 1–2 години тому, зі статусом new. Для кожної перевіряє, чи не оформлене вже замовлення, і надсилає лист через CEvent::Send(). Якщо користувач видалив товари або купив — лист не йде.

function sendAbandonedCartEmails(): string { $mailer = new AbandonedCartMailer(); $candidates = AbandonedCartTable::getList([ 'filter' => [ 'STATUS' => 'new', '<DETECTED_AT' => new \Bitrix\Main\Type\DateTime('-1 hour'), '>DETECTED_AT' => new \Bitrix\Main\Type\DateTime('-2 hours'), ], 'limit' => 50, ])->fetchAll(); foreach ($candidates as $row) { $sent = $mailer->send($row['USER_ID'], $row['FUSER_ID']); AbandonedCartTable::update($row['ID'], [ 'STATUS' => $sent ? 'email_sent' : 'skipped', 'EMAIL_SENT_AT' => $sent ? new \Bitrix\Main\Type\DateTime() : null, ]); } return __FUNCTION__ . '();'; } 

Шаблон поштової події та дані для листа

Створіть тип події ABANDONED_CART_REMINDER з полями USER_NAME, USER_EMAIL, CART_ITEMS (HTML-таблиця), CART_TOTAL, CART_RESTORE_URL згідно з документацією поштових подій. Шаблон:

Тема: #USER_NAME#, ви залишили товари в кошику Здравствуйте, #USER_NAME#! Ви не завершили оформлення замовлення. У вашому кошику: #CART_ITEMS# Разом: #CART_TOTAL# <a href="#CART_RESTORE_URL#">Повернутися до кошика</a> 

Клас AbandonedCartMailer::send() формує HTML-таблицю із зображеннями та цінами. Перевіряє, чи не створював користувач замовлення за останні 24 години, і чи не порожній кошик.

Як уникнути спаму при надсиланні сповіщень?

Використовуйте SPF і DKIM для домену відправника. Не надсилайте листи, якщо користувач уже відкрив попередній — для цього зберігайте статус відкриття в окремому HL-блоці. Перевіряйте, чи не створив користувач замовлення за останні 24 години, використовуючи CSaleOrder::GetList. Додайте обмеження на максимальну кількість листів на добу для одного користувача (не більше 3). Всі листи повинні містити посилання на відписку, як описано нижче. Ми гарантуємо, що після налаштування листи не потраплятимуть до спаму (тестуємо на 300+ користувачах).

Деталі реалізації агента

Агент використовує блокування через AbandonedCartTable::update зі статусом processing та умовою STATUS='new', щоб уникнути дублів. Також перевіряє, що кошик не був відновлений іншою сесією — для цього порівнює актуальну кількість товарів із моментом створення запису.

Чому важливо перевіряти дублі надсилання?

Агент може запуститися кілька разів. Використовуйте блокування через AbandonedCartTable::update зі статусом processing та умовою STATUS='new'. Це виключить подвійне надсилання. Також перевіряйте, що кошик не був відновлений іншою сесією — для цього порівнюйте актуальну кількість товарів із моментом створення запису.

Відписка та відповідність законам

За ФЗ-38 та GDPR — обов'язкове посилання на відписку в кожному листі. Додайте в шаблон:

<a href="#UNSUBSCRIBE_URL#">Відмовитися від сповіщень про кошик</a> 

На стороні сайту — простий обробник, який встановлює прапорець UF_NO_CART_EMAIL. Перевіряйте його в класі перед надсиланням.

Що входить у налаштування під ключ

Дія Опис
Аудит поточних шаблонів листів та логіки кошика Виявлення помилок, відсутніх даних, невірних інтервалів
Проектування ланцюжка листів Визначення сценаріїв (1–3 листи, тригери відкриття/кліка)
Реалізація агента та класу PHP-код з використанням Sale\Basket, Main\Mail, ORM
Налаштування поштових подій та шаблонів Створення типів, HTML-верстка, UTM-мітки
Тестування на бойовому контурі Перевірка надсилання, відписок, конверсії
Документація з підтримки Інструкція для адміністратора: як міняти інтервали, додавати промокоди
Термін Етап
1–2 дні Аудит + проектування
2–3 дні Розробка та тестування
1 день Деплой та документація

Разом: від 3 до 5 днів на базову реалізацію, до 2 тижнів — при інтеграції з 1С або складній бізнес-логіці.

Чому важливо відстежувати результати?

Додайте UTM-мітки в посилання кошика: ?utm_source=email&utm_medium=abandoned_cart&utm_campaign=reminder_1h. У GA4 або Яндекс.Метриці ви побачите переходи з листів та оформлення замовлень. Без UTM ви не дізнаєтеся, який лист спрацював краще. Ми реалізували понад 100 проектів з налаштування email-розсилок на Бітрікс — маємо досвід понад 5 років та гарантію коректної роботи.

Для детального аудиту вашого кошика зв'яжіться з нашими інженерами. Отримайте консультацію з налаштування ланцюжків листів — залиште заявку в Telegram або на пошту. У нас багаторічний досвід та ряд успішних впроваджень для офіційної документації (https://dev.1c-bitrix.ru/).