Подайте заявку на ранний доступ

Укажите имя и рабочий адрес электронной почты. Мы отправим ссылку для подтверждения запроса на доступ к Tajo.

Восстановление брошенных корзин

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

Обзор

СвойствоЗначение
КатегорияEmail-маркетинг
СтатусStable
Версия3.0
Триггерыcart_abandoned, cart_recovered
Средний процент восстановления10–15%

Как это работает

graph TD
A[Customer adds to cart] -->|Leaves site| B{Cart abandoned?}
B -->|No checkout in 30min| C[Trigger: cart_abandoned]
C --> D[Wait 1 hour]
D --> E{Purchased?}
E -->|No| F[Send Email #1]
F --> G[Wait 24 hours]
G --> H{Purchased?}
H -->|No| I[Send Email #2 + Discount]
I --> J[Wait 48 hours]
J --> K{Purchased?}
K -->|No| L[Send Email #3 - Final]
E -->|Yes| M[Stop sequence]
H -->|Yes| M
K -->|Yes| M
L --> N[Mark as lost]

Настройка

Базовая настройка

skills:
abandoned-cart:
enabled: true
# Cart abandonment detection
detection:
inactivity_threshold: 30m # Minutes before cart is abandoned
min_cart_value: 25 # Minimum cart value to trigger
exclude_logged_out: false # Include guest carts
# Email sequence
sequence:
- delay: 1h
template_id: 101
subject: "Forgot something?"
- delay: 24h
template_id: 102
subject: "Your cart is waiting"
include_discount: true
discount_percent: 10
- delay: 48h
template_id: 103
subject: "Last chance - items selling fast"
include_discount: true
discount_percent: 15
discount_expiry: 24h
# Stop conditions
stop_on:
- cart_recovered
- order_placed
- unsubscribe

Расширенная настройка

skills:
abandoned-cart:
# Segment-specific timing
timing:
vip_customers:
first_email: 30m
discount_threshold: 0 # Always include discount
new_customers:
first_email: 2h
discount_threshold: 50 # Discount only if cart > $50
repeat_customers:
first_email: 1h
discount_threshold: 100
# A/B testing
ab_testing:
enabled: true
variants:
- name: "urgency"
subject: "Items in your cart are selling fast!"
weight: 50
- name: "friendly"
subject: "Did you forget something?"
weight: 50
# Exclusions
exclude:
- email_domain: ["temp-mail.com", "disposable.com"]
- customer_tag: ["wholesale", "staff"]
- product_category: ["gift-cards"]

Триггеры

cart_abandoned

Срабатывает, когда корзина неактивна дольше заданного порога.

Данные события

Parameter Type Description
cart_id required
string

Уникальный идентификатор корзины

customer_email required
string

Email-адрес клиента

items required
array

Массив товаров корзины с полями name, price, quantity, image_url

total required
number

Общая сумма корзины

currency optional
string

Код валюты (например, USD, EUR)

Default: USD
recovery_url required
string

URL для восстановления корзины

abandoned_at required
datetime

Когда корзина была брошена

Пример полезной нагрузки:

{
"event": "cart_abandoned",
"timestamp": "2024-01-15T14:30:00Z",
"data": {
"cart_id": "cart_abc123",
"customer_email": "[email protected]",
"items": [
{
"id": "prod_123",
"name": "Premium Headphones",
"price": 199.99,
"quantity": 1,
"image_url": "https://cdn.example.com/headphones.jpg",
"variant": "Black"
},
{
"id": "prod_456",
"name": "Phone Case",
"price": 29.99,
"quantity": 2,
"image_url": "https://cdn.example.com/case.jpg"
}
],
"subtotal": 259.97,
"shipping": 0,
"tax": 20.80,
"total": 280.77,
"currency": "USD",
"recovery_url": "https://store.example.com/cart/recover/abc123",
"abandoned_at": "2024-01-15T14:00:00Z"
}
}

cart_recovered

Срабатывает, когда клиент возвращается и завершает оформление заказа.

{
"event": "cart_recovered",
"timestamp": "2024-01-15T16:45:00Z",
"data": {
"cart_id": "cart_abc123",
"customer_email": "[email protected]",
"order_id": "order_789",
"recovered_via": "email_1", // Which email triggered recovery
"time_to_recover": "2h15m"
}
}

Шаблоны писем

Переменные шаблонов

Используйте эти переменные в ваших email-шаблонах Brevo:

ПеременнаяОписаниеПример
params.FIRSTNAMEИмя клиентаJane
params.CART_URLURL восстановления корзиныhttps://…
params.CART_TOTALОтформатированная сумма корзины$280.77
params.ITEM_COUNTКоличество товаров3
params.ITEMSJSON-массив товаров[…]
params.DISCOUNT_CODEСгенерированный промокодSAVE10-ABC
params.DISCOUNT_PERCENTПроцент скидки10
params.EXPIRY_DATEДата окончания действия скидкиJan 17, 2024

Рекомендуемая цепочка писем

Письмо 1 (через 1 час): мягкое напоминание

  • Тема: “Forgot something, {{ params.FIRSTNAME }}?”
  • Фокус: напомнить о содержимом корзины
  • Без скидки

Письмо 2 (через 24 часа): срочность + стимул

  • Тема: “Your cart is waiting + 10% off”
  • Фокус: скидка с ограниченным сроком
  • Включите промокод

Письмо 3 (через 48 часов): финальный импульс

  • Тема: “Last chance - 15% off expires soon”
  • Фокус: дефицит + более крупная скидка
  • Срок действия скидки, 24 часа

Примеры кода

Включение навыка брошенной корзины

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
await tajo.skills.enable('abandoned-cart', {
detection: {
inactivityThreshold: '30m',
minCartValue: 25
},
sequence: [
{ delay: '1h', templateId: 101 },
{ delay: '24h', templateId: 102, discountPercent: 10 },
{ delay: '48h', templateId: 103, discountPercent: 15 }
]
});

Отслеживание брошенной корзины

// Call this when cart activity is detected
await tajo.events.track('cart_updated', {
cartId: 'cart_abc123',
customerEmail: '[email protected]',
items: cartItems,
total: 280.77
});
// Call this when customer leaves without checkout
// (typically from a beforeunload event or session timeout)
await tajo.events.track('cart_abandoned', {
cartId: 'cart_abc123',
customerEmail: '[email protected]',
items: cartItems,
total: 280.77,
recoveryUrl: 'https://store.example.com/cart/recover/abc123'
});

Генерация промокодов

// Generate a unique discount code
const discount = await tajo.discounts.create({
type: 'percentage',
value: 10,
expiresIn: '7d',
usageLimit: 1,
prefix: 'SAVE10'
});
// discount.code => "SAVE10-ABC123"

Аналитика

Отслеживайте эффективность восстановления брошенных корзин:

МетрикаОписание
Процент брошенных корзинДоля корзин, которые были брошены
Процент восстановленийДоля восстановленных брошенных корзин
Восстановленная выручкаОбщая выручка от восстановленных корзин
Open Rate писемПроцент открытия писем восстановления
CTR писемПроцент кликов по ссылкам в письмах восстановления
Время до восстановленияСреднее время от брошенной корзины до покупки
const stats = await tajo.skills.getStats('abandoned-cart', {
period: '30d'
});
console.log(stats);
// {
// abandonmentRate: 68.5,
// recoveryRate: 12.3,
// revenueRecovered: 15420.50,
// emailsSent: 2340,
// emailOpenRate: 45.2,
// emailCtr: 8.7,
// avgTimeToRecovery: '4h32m'
// }

Лучшие практики

Время имеет значение

Отправляйте первое письмо в течение 1–2 часов после брошенной корзины. После 24 часов процент восстановления сильно падает.

  1. Персонализируйте темы писем, используйте имя клиента и содержимое корзины
  2. Показывайте содержимое корзины, включайте изображения товаров в письмо
  3. Создавайте срочность, упоминайте низкий остаток или ограниченное время скидки
  4. Упростите восстановление, ссылки с восстановлением корзины в один клик
  5. Тестируйте цепочку, A/B-тестируйте тайминг, темы и скидки
  6. Уважайте отписки, сразу останавливайте цепочку при отписке

Связанные навыки

  • События корзины, отслеживание активности корзины
  • Брошенный просмотр, возврат после просмотра
  • Возврат клиентов, реактивация неактивных клиентов

Следующие шаги

  1. Проверьте, что ваш магазин отправляет события корзины или оформления заказа. Ни один коннектор Tajo ещё не проверил отслеживание корзины на магазине
  2. Создайте email-шаблоны в Brevo
  3. Настройте интеграцию промокодов
  4. Отслеживайте эффективность на дашборде

Подайте заявку на ранний доступ

Укажите имя и рабочий адрес электронной почты. Мы отправим ссылку для подтверждения запроса на доступ к Tajo.

AI-ассистент

Привет! Спрашивайте меня о документации.

Эта страница в Markdown: abandoned-cart.md

Загрузка Markdown…
Открыть в Claude Открыть в ChatGPT