Uma loja com 500 visitas por dia e taxa de conversão de 3% fecha 15 pedidos. Com 70% de abandono de carrinho, são 1.165 clientes que adicionaram produto, chegaram até o checkout e foram embora. A campanha de email recupera entre 3% e 5% desse volume. Um Assistente no WhatsApp recupera de 15% a 30%, com o mesmo esforço de setup de 45 minutos.
Por Que 70% dos Carrinhos São Abandonados e o Email Não Resolve?
O Baymard Institute, que rastreia abandono de carrinho há mais de uma década, consolidou dados de 58 estudos e chegou a uma média global de 70,19% de abandono. Moda e acessórios passam de 85%. Custo de envio inesperado e obrigação de criar conta são as causas mais citadas. Mas o abandono não é só hesitação: 58% dos compradores dizem ter abandonado carrinhos por conta do timing errado. Viram o produto, queriam comprar, mas não era o momento certo naquelas horas.
O email de recuperação não funciona porque é o canal errado para timing. Taxa de abertura de 20%, leitura depois de horas ou dias, sem forma de tirar dúvida sobre o produto em tempo real. O carrinho que foi abandonado porque o cliente queria confirmar uma medida fica sem resposta até a próxima vez que ele abre o Gmail. Geralmente depois que comprou no concorrente.
Dado-chave: WhatsApp tem 98% de taxa de abertura e CTR médio acima de 30% em mensagens de recuperação de carrinho. Email de abandono: 20% de abertura, 2 a 3% de CTR. Para uma loja com 200 carrinhos abandonados por mês e ticket de R$300, a diferença entre 5% e 20% de recuperação é R$9.000 a mais por mês. (Fonte: Baymard Institute e AiSensy WhatsApp Recovery Guide 2026)
Por Que WhatsApp Converte Onde Email Falha?
A vantagem não é o canal em si: é o momento e a capacidade de conversa. Você abandona o carrinho às 22h numa quinta. O email de recuperação chega às 22h12. Você não abre. A mensagem no WhatsApp aparece na tela do celular em tempo real, no mesmo app que você usou 31 vezes naquele dia. A janela de atenção ainda está aberta.
Mas há uma vantagem mais importante que timing: a conversa real. Um cliente que abandona porque quer saber se o tênis tem a numeração 43 pode perguntar diretamente ao Assistente. A resposta chega em segundos. O carrinho fica. Esse loop de dúvida, resposta e compra não acontece em email. Uma marca de suplementos de Pune passou de 3,8% para 17,2% de recuperação ao trocar email por WhatsApp com sequência de três mensagens. De carrinhos recuperados, 22% vieram de clientes que fizeram perguntas e fecharam na conversa. (Fonte: eGrow WhatsApp Cart Recovery Report 2026)
O dado que fecha o argumento: 82% dos consumidores brasileiros preferem receber comunicação comercial via WhatsApp. Não é tendência de plataforma. É onde a atenção já está.
Como Montar o Bot de Carrinho Abandonado em 45 Minutos
Passo 1: Instrução do Assistente de Recuperação (10 minutos)
No painel da Verboo, crie um Assistente novo. A Instrução define o comportamento na conversa de recuperação: como abordar, o que não fazer e como lidar com dúvidas de produto.
Você é o assistente de vendas da [Nome da Loja] no WhatsApp.
Um cliente deixou itens no carrinho e você vai ajudá-lo a completar a compra.
CONTEXTO RECEBIDO VIA API:
- Nome do cliente: {{nomeCliente}}
- Produto(s) abandonado(s): {{produtos}}
- Valor total: R$ {{valor}}
- Link do carrinho: {{linkCarrinho}}
FLUXO:
1. Primeira mensagem: abordagem direta e amigável, mencione o produto pelo nome,
ofereça o link do carrinho
2. Se o cliente responder com dúvida: responda com base na Base de Conhecimento
(especificações, tamanhos, política de troca)
3. Se o cliente disser que vai comprar depois: ofereça lembrete em 2 horas
4. Se o cliente disser que desistiu: agradeça e pergunte o motivo (sem pressão)
5. Se não responder em 24h: encerre a conversa, não reinsista
REGRAS:
- Nunca minta sobre desconto ou urgência que não existe
- Nunca envie mais de 3 mensagens sem resposta do cliente
- Tom: prestativo, não invasivo, máximo 3 linhas por mensagem
LIMITE: sem oferecer desconto automático. Se o cliente pedir, diga que vai verificar
e notifique o time via Gatilho.
Substitua os campos entre {{ e }}: eles chegam automaticamente via API quando o webhook do Shopify ou WooCommerce dispara.
Passo 2: Webhook do Shopify para a API Verboo (20 minutos)
O Shopify emite o evento checkouts/create quando um carrinho é criado. Para detectar abandono, a lógica é: carrinho criado com telefone informado e sem pedido fechado nos próximos 60 minutos.
const express = require('express');
const crypto = require('crypto');
const axios = require('axios');
const app = express();
const carrinhosPendentes = new Map(); // em produção: use Redis
// Raw body obrigatório para validação HMAC do Shopify
app.post('/webhook/shopify/checkout', express.raw({ type: 'application/json' }), async (req, res) => {
const hmac = req.headers['x-shopify-hmac-sha256'];
const digest = crypto
.createHmac('sha256', process.env.SHOPIFY_WEBHOOK_SECRET)
.update(req.body)
.digest('base64');
if (digest !== hmac) {
return res.status(401).send('Assinatura inválida');
}
const checkout = JSON.parse(req.body);
if (!checkout.phone) {
return res.json({ ok: true });
}
const checkoutId = checkout.id;
const phoneRaw = checkout.phone.replace(/\D/g, '');
const phoneE164 = phoneRaw.startsWith('55') ? `+${phoneRaw}` : `+55${phoneRaw}`;
const produtos = checkout.line_items
.map(item => `${item.name} (x${item.quantity})`)
.join(', ');
const dados = {
checkoutId,
nomeCliente: checkout.billing_address?.first_name || 'Cliente',
produtos,
valor: parseFloat(checkout.total_price).toFixed(2),
linkCarrinho: checkout.abandoned_checkout_url,
phone: phoneE164
};
// Cancela timer anterior se o carrinho foi atualizado
if (carrinhosPendentes.has(checkoutId)) {
clearTimeout(carrinhosPendentes.get(checkoutId));
}
// Dispara o Assistente após 60 minutos sem conversão
const timer = setTimeout(() => dispararAssistente(dados), 60 * 60 * 1000);
carrinhosPendentes.set(checkoutId, timer);
res.json({ ok: true });
});
// Cancela o disparo se o pedido foi finalizado
app.post('/webhook/shopify/orders', express.raw({ type: 'application/json' }), async (req, res) => {
const order = JSON.parse(req.body);
const checkoutId = order.checkout_id;
if (carrinhosPendentes.has(checkoutId)) {
clearTimeout(carrinhosPendentes.get(checkoutId));
carrinhosPendentes.delete(checkoutId);
}
res.json({ ok: true });
});
async function dispararAssistente(dados) {
await axios.post('https://api.verboo.ai/v1/trigger', {
agentId: process.env.VERBOO_AGENT_ID,
phone: dados.phone,
data: {
nomeCliente: dados.nomeCliente,
produtos: dados.produtos,
valor: dados.valor,
linkCarrinho: dados.linkCarrinho,
tipo: 'carrinho_abandonado'
}
}, {
headers: {
'Authorization': `Bearer ${process.env.VERBOO_API_KEY}`,
'Content-Type': 'application/json'
}
});
carrinhosPendentes.delete(dados.checkoutId);
}
app.listen(3000);
Dois pontos que a maioria dos tutoriais omite: o express.raw() é obrigatório para validar a assinatura HMAC do Shopify (o body não pode estar parseado). E em produção, troque o Map em memória por Redis para persistir entre restarts e em ambientes multi-instância.
Passo 3: Sequência de 3 Mensagens com Timing Certo
Dados do eGrow (2026) com 400 lojas mostram que sequências de 3 mensagens recuperam 2,4 vezes mais carrinhos do que mensagem única. O timing define o resultado:
| Mensagem | Quando | Objetivo | Taxa de Abertura |
|---|---|---|---|
| 1ª | 60 min após abandono | Recuperar enquanto a intenção está ativa | 88% |
| 2ª | 24h depois (se sem resposta) | Reativar após um ciclo de atenção | 61% |
| 3ª | 48h depois (se sem resposta) | Última tentativa com apelo de escassez real | 44% |
O Assistente Verboo envia a primeira mensagem assim que o webhook dispara. As mensagens seguintes são configuradas como Tarefas com delay baseado na ausência de resposta do cliente. Se o cliente responder na primeira mensagem, a sequência para e a conversa segue no ritmo dele.
Passo 4: Base de Conhecimento Para Responder Dúvidas de Produto
O diferencial do Assistente sobre um template fixo é responder perguntas. Para isso funcionar bem, suba na aba Conhecimento os documentos com especificações de produto, tabela de tamanhos, política de troca e prazo de entrega por região. O RAG nativo da Verboo recupera o trecho certo para cada pergunta sem precisar indexar produto por produto manualmente.
Para lojas com catálogo grande, suba o guia de especificações por categoria em PDFs separados. O re-ranking automático garante que o modelo busque no documento certo para aquela pergunta específica, mesmo com dezenas de arquivos na base.
WooCommerce: Como Adaptar o Código
Para WooCommerce, o evento equivalente é o hook woocommerce_cart_updated exposto via REST API ou via plugin de webhook personalizado. A lógica de timing e o disparo para a API da Verboo são idênticos. Só o formato do payload muda:
// Adaptação para WooCommerce via plugin de webhook personalizado
// O WooCommerce envia os dados do carrinho ao endpoint quando detecta abandono
async function processarCarrinhoWoo(dados) {
const digits = dados.billing_phone.replace(/\D/g, '');
const phoneE164 = digits.startsWith('55') ? `+${digits}` : `+55${digits}`;
await axios.post('https://api.verboo.ai/v1/trigger', {
agentId: process.env.VERBOO_AGENT_ID,
phone: phoneE164,
data: {
nomeCliente: dados.billing_first_name,
produtos: dados.items.map(i => i.name).join(', '),
valor: dados.cart_total,
linkCarrinho: dados.checkout_url,
tipo: 'carrinho_abandonado'
}
}, {
headers: {
'Authorization': `Bearer ${process.env.VERBOO_API_KEY}`,
'Content-Type': 'application/json'
}
});
}
Quais São os Resultados Reais Depois de 30 Dias?
A marca de suplementos de Pune implementou a sequência de três mensagens no WhatsApp e passou de 3,8% para 17,2% de recuperação de carrinho em 30 dias. Naquele mês, foram R$18 mil em pedidos que teriam sido perdidos e foram convertidos. O mecanismo foi o mesmo descrito neste tutorial: webhook na plataforma de e-commerce, Assistente com instrução de abordagem não invasiva, Base de Conhecimento com FAQ de produto para responder dúvidas em tempo real.
Referência: Segundo o eGrow WhatsApp Cart Recovery Report 2026, lojas que usam sequência de três mensagens no WhatsApp recuperam em média 15% a 25% dos carrinhos, com as primeiras 2 horas sendo responsáveis por 60% das conversões da sequência inteira. A primeira mensagem enviada dentro de 60 minutos do abandono tem 4 vezes mais chance de conversão do que a enviada após 24 horas.
O Mesmo Setup Funciona Além de E-commerce?
O padrão webhook, Assistente e sequência serve para qualquer contexto com abandono de intenção: formulário de orçamento não enviado, inscrição em curso iniciada mas não concluída, lead que chegou até a página de planos e saiu. Qualquer sistema que registre o evento pode disparar o Assistente via API com o contexto certo.
| Caso de Uso | Evento de Abandono | Taxa de Recuperação Estimada |
|---|---|---|
| E-commerce (carrinho) | Checkout iniciado sem pedido | 15% a 25% |
| SaaS (trial) | Cadastro sem primeiro uso | 20% a 35% |
| Imobiliária (lead) | Formulário iniciado sem envio | 12% a 20% |
| Educação online | Página de inscrição sem matrícula | 18% a 30% |
Com 390 empresas e mais de 27 milhões de mensagens processadas na plataforma Verboo, o padrão é consistente: Assistente com instrução clara, Base de Conhecimento com FAQ de produto e Tarefas com sequência de timing certo entregam recuperação de 15% a 25% em lojas que antes tinham menos de 5% com email.
Cole o código no seu backend, configure o Assistente e sua loja começa a recuperar carrinhos no WhatsApp hoje. Crie sua conta grátis (login Google em 10s, sem cartão).



