Carrinho Abandonado WhatsApp: 4x Mais Que Email em 45 Min
Back to the blog
Artigo

Carrinho Abandonado WhatsApp: 4x Mais Que Email em 45 Min

Mafra
20/05/2026
9 min read

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
60 min após abandono Recuperar enquanto a intenção está ativa 88%
24h depois (se sem resposta) Reativar após um ciclo de atenção 61%
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).

Enjoyed this article?
Share knowledge with your network.
Read also

Related articles