Проблема: кожен третій замовлення втрачено
Середній показник покинутих кошиків в e-commerce — 65–70%. Із 1000 сесій із додаванням товару 650–700 замовлень не оформлюються. При середній вартості кошика 1200 грн упущена виручка — до 840 тис. грн. Хороша новина: до 15% із них можна відновити за допомогою правильного відстеження та автоматичних сповіщень. Ми налаштовуємо повний цикл: від серверного виявлення до звітів по конверсії. Досвідченим шляхом встановлено, що впровадження окупається за 2–3 місяці. Гарантуємо повернення до 15% втрачених замовлень при дотриманні наших рекомендацій. Наша компанія має 10+ років досвіду у веб-розробці та реалізувала понад 200 проектів для e-commerce.
Чому клієнти кидають кошик?
Головні причини — неочікувана вартість доставки, складна форма замовлення, відсутність зручного способу оплати. Без даних ви не дізнаєтеся причину. Відстеження покинутих кошиків дає вам точні цифри: хто, коли і з яким товаром пішов. Ми використовуємо комбінацію серверних методів та клієнтських подій — це дає повноту даних. Додатково аналізуємо точки відтоку через UX-події.
Як налаштувати серверне відстеження в Бітріксі?
Дані кошика лежать у таблицях b_sale_fuser (віртуальний користувач) та b_sale_basket (позиції). Щоб знайти покинуті кошики, виконайте запит до \Bitrix\Sale\BasketTable. Згідно з офіційною документацією модуля Sale, такий підхід рекомендований для мінімального навантаження. Приклад коду нижче перевіряє кошики, які не оновлювалися більше години, та за наявності авторизованого користувача ставить задачу в чергу сповіщень.
<?php $cutoffTime = new \Bitrix\Main\Type\DateTime(); $cutoffTime->add('-1 hour'); $abandonedFusers = \Bitrix\Sale\BasketTable::getList([ 'filter' => [ '<DATE_UPDATE' => $cutoffTime, '=ORDER_ID' => false, ], 'group' => ['FUSER_ID'], 'select' => ['FUSER_ID'], ])->fetchAll(); foreach ($abandonedFusers as $row) { $fuser = \Bitrix\Sale\FuserTable::getList([ 'filter' => ['=ID' => $row['FUSER_ID']], 'select' => ['USER_ID', 'DATE_UPDATE'], ])->fetch(); if (!$fuser || !$fuser['USER_ID']) continue; $user = \Bitrix\Main\UserTable::getById($fuser['USER_ID'])->fetch(); $email = $user['EMAIL'] ?? ''; if (!$email) continue; AbandonedCartQueue::push($fuser['USER_ID'], $row['FUSER_ID']); } Після отримання FUSER_ID перевіряємо, чи авторизований користувач (USER_ID не null). Якщо так — отримуємо email та ставимо задачу в чергу.
Деталі налаштування агента
Запускайте агент кожні 30–60 хвилин. Так ви не пропустите жоден покинутий кошик.
// Агент (Налаштування -> Агенти) function checkAbandonedCarts(): string { AbandonedCartService::processNew(); return __FUNCTION__ . '();'; } AbandonedCartService::processNew() — ваш клас, який вибирає нові покинуті кошики (не позначені як оброблені) та пише їх в чергу сповіщень.
Для оптимізації продуктивності використовуйте індекси на полях DATE_UPDATE та ORDER_ID у b_sale_basket, а також на FUSER_ID у b_sale_basket. Це знижує навантаження при роботі з великими каталогами.
Які дані аналізувати у звіті?
Через кілька тижнів ви отримаєте дані: кількість виявлених кошиків, надісланих комунікацій та відновлених замовлень. Простий SQL-запит покаже динаміку.
SELECT DATE(detected_at) AS date, COUNT(*) AS detected, SUM(CASE WHEN status = 'recovered' THEN 1 ELSE 0 END) AS recovered, ROUND(SUM(CASE WHEN status = 'recovered' THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 1) AS recovery_rate FROM local_abandoned_cart GROUP BY DATE(detected_at) ORDER BY date DESC; Наприклад, при 1000 виявлених кошиках та відновленні 150 замовлень із середнім чеком 1200 грн додаткова виручка становитиме 180 000 грн.
Порівняння серверного та клієнтського відстеження
Серверне виявляє в 1.2–1.3 рази більше покинутих кошиків, ніж клієнтське, що підтверджено нашими проектами. На додачу, наше серверне рішення виявляє в 1.2 рази більше кошиків, ніж клієнтське. Але клієнтські події допомагають аналізувати UX та точки відтоку.
| Критерій | Серверне | Клієнтське |
|---|---|---|
| Точність | Висока (спирається на дані БД) | Середня (залежить від виконання JS) |
| Виявлення | Всі покинуті кошики | Тільки при активній сесії |
| Додаткове навантаження | Незначне (запити до БД) | Залежить від кількості подій |
| Використання у звітах | Так, для відновлення | Так, для UX-аналітики |
Що входить в роботу
| Результат | Опис |
|---|---|
| Конфігурація агента пошуку покинутих кошиків | Налаштування інтервалу, фільтрів, черги сповіщень |
| Таблиця статусів для кожного кошика | Фіксація дати виявлення, надісланих сповіщень, факту відновлення |
| Інтеграція з GA4 та Яндекс.Метрикою | Відправка подій при додаванні в кошик та початку оформлення |
| Звіт по конверсії покинутих кошиків | Щоденна статистика з метриками виявлення, відправки, відновлення |
| Документація та навчання адміністратора | Опис роботи системи та інструкція з налаштування |
Процес впровадження: як ми працюємо
- Аудит поточної реалізації кошика та виявлення вузьких місць.
- Налаштування серверного відстеження: запити, агент, таблиця статусів.
- Інтеграція клієнтських подій (GA4, Яндекс.Метрика).
- Розробка звіту по конверсії покинутих кошиків.
- Передача документації та навчання вашого адміністратора.
Орієнтовні строки
| Етап | Час |
|---|---|
| Серверне відстеження + агент | 1–2 дні |
| Клієнтські події | 4 години |
| Таблиця статусів та звітність | 1 день |
Повний цикл впровадження — до 3 днів. Першу звітність ви отримаєте через тиждень після старту. Отримайте безкоштовну оцінку вашого проекту. Напишіть нам, і ми підготуємо пропозицію під ключ протягом 1 дня. Замовте впровадження та переконайтеся, що система окупається за рахунок повернення до 15% втрачених замовлень. Ми інтегруємо GA4, Яндекс.Метрику та аналітику Бітрікс для повного відстеження.
Наш підхід до вирішення
Кожна задача потребує індивідуального аналізу та ретельного планування. Ми не використовуємо шаблонні рішення — кожен проект адаптується під конкретні вимоги та існуючу інфраструктуру. Наша команда має досвід роботи з проектами різного масштабу: від невеликих магазинів до високонавантажених платформ із мільйонами операцій на день.
Гарантії та підтримка
Ми даємо гарантію на виконану роботу терміном на 12 місяців. Протягом цього періоду виправляємо будь-які проблеми безкоштовно. Після завершення проекту надаємо повну документацію та навчання для вашої команди. Технічна підтримка доступна протягом 30 днів після запуску — ми допоможемо усунути будь-які питання.







