E-mail de carrinho abandonado para quem já comprou, push com produto que saiu do carrinho, nenhuma mensagem para quem realmente abandonou. Quase sempre o problema é dado, não criativo.

Índice do artigo
- Por que a automação de carrinho falha
- Os 4 dados indispensáveis
- Estado do carrinho: enviar sempre, inclusive vazio
- Identificação: sem saber quem é, não há recuperação
- Compra: o evento que encerra a jornada
- Catálogo: o produto da mensagem precisa existir
- Uma fonte, vários destinos
- Como testar a jornada de ponta a ponta
- Os erros que mais aparecem
- Perguntas frequentes
Por que a automação de carrinho falha
A régua de carrinho abandonado é uma das automações mais rentáveis do e-commerce e uma das mais frágeis. Ela depende de a plataforma saber, com precisão, três coisas: quem é o usuário, o que está no carrinho agora e se ele já comprou. Se qualquer um desses dados chega atrasado, incompleto ou divergente, a mensagem sai errada.
Em uma frase: carrinho abandonado é um problema de dados antes de ser um problema de CRM.
Os 4 dados indispensáveis
- Estado atual do carrinho (itens, quantidades, preços).
- Identidade do usuário (para saber para quem enviar).
- Evento de compra (para interromper a régua).
- Catálogo atualizado (para a mensagem mostrar produto, preço e disponibilidade corretos).
Estado do carrinho: enviar sempre, inclusive vazio
O erro mais comum é enviar só o “adicionou ao carrinho”. A plataforma precisa saber quando o carrinho mudou, inclusive quando foi esvaziado.
A SAP Emarsys deixa isso explícito: o comando cart do Web Extend informa o conteúdo atual do carrinho e deve ser chamado em toda página, mesmo quando o carrinho está vazio. É assim que a plataforma entende que o usuário removeu os itens e não dispara abandono indevido.
ScarabQueue.push(['cart', []]); // carrinho vazio também é informação
ScarabQueue.push(['go']);
Mesmo em plataformas baseadas em eventos (como CleverTap ou Dynamic Yield), envie os eventos de adição e remoção, e garanta que o estado final seja reconstruível.
Identificação: sem saber quem é, não há recuperação
A automação só alcança quem está identificado. Por isso:
- identifique no login, no cadastro e no momento em que o e-mail é informado no checkout;
- na Emarsys, use setCustomerId ou setEmail apenas quando houver usuário identificado;
- na CleverTap, use onUserLogin para ligar o perfil anônimo ao cliente, nunca profile.push no login (CleverTap);
- mantenha o mesmo User ID em todas as ferramentas (User ID).
Um carrinho montado de forma anônima só é recuperável se o perfil anônimo for ligado ao cliente no momento da identificação.
Compra: o evento que encerra a jornada
O evento de compra é o que tira o usuário da régua. Ele precisa:
- chegar rápido (idealmente disparado na confirmação do pedido);
- ter os mesmos IDs de produto do carrinho e do catálogo;
- ser único (sem duplicidade).
Compras que acontecem fora do site (aprovação de Pix, pedido fechado pelo atendimento) devem entrar pelo servidor. A Upload Events API da CleverTap, por exemplo, aceita até 1.000 registros por chamada; a Dynamic Yield oferece o endpoint de Reporting Events e lista Add to Cart e Purchase como eventos obrigatórios em e-commerce.
Catálogo: o produto da mensagem precisa existir
A mensagem mostra o produto abandonado com foto, preço e link. Se o catálogo está desatualizado, o e-mail mostra preço antigo ou produto esgotado. Na Dynamic Yield, o feed de produtos é sincronizado por arquivo ou API; na Emarsys, os IDs usados em cart e purchase precisam bater com os do catálogo para as recomendações funcionarem.
Regra prática: o item_id do carrinho, do catálogo, do GA4 e da automação é o mesmo.
Uma fonte, vários destinos
Com uma camada de dados bem especificada, o mesmo push de carrinho alimenta todas as ferramentas pelo Google Tag Manager:
- GA4: add_to_cart, remove_from_cart, view_cart, purchase;
- Emarsys: comando cart em toda página e purchase na confirmação;
- CleverTap: eventos de carrinho e Charged na compra;
- Dynamic Yield: Add to Cart e Purchase.
Assim, o carrinho que o GA4 vê é o mesmo que a automação vê (Dicionário de eventos).
Como testar a jornada de ponta a ponta
- Com um usuário de teste identificado, adicione produtos e saia. A régua deve disparar no prazo configurado.
- Adicione e remova todos os itens. A régua não deve disparar.
- Adicione, saia e volte para comprar antes do prazo. A régua não deve disparar.
- Compre por um canal fora do site (se existir) e confirme que o evento de servidor interrompe a régua.
- Confira se produto, preço e link da mensagem estão corretos.
Os erros que mais aparecem
- Carrinho vazio nunca informado.
- Evento de compra atrasado ou ausente em pagamentos assíncronos.
- IDs de produto diferentes entre carrinho, catálogo e compra.
- Identificação feita só no login, ignorando o e-mail informado no checkout.
- Perfis duplicados por uso errado dos métodos de identificação.
Perguntas frequentes
Por que meu e-mail de carrinho abandonado chega para quem já comprou?
Normalmente porque o evento de compra não chegou, chegou atrasado ou com IDs diferentes dos do carrinho.
Preciso enviar o carrinho vazio?
Sim. Na SAP Emarsys, o comando cart deve ser chamado em toda página, mesmo sem itens.
Como recuperar carrinhos de usuários anônimos?
Ligando o perfil anônimo ao cliente no momento da identificação (login, cadastro ou e-mail no checkout).
Como enviar compras feitas fora do site?
Por APIs de servidor, como a Upload Events API da CleverTap ou o endpoint de eventos da Dynamic Yield.
Quais eventos são obrigatórios para carrinho abandonado?
No mínimo, estado do carrinho (adição e remoção), identificação e compra.
Como testar a automação de carrinho abandonado?
Simulando os cenários de abandono, esvaziamento e compra com um usuário de teste e conferindo quando a régua dispara ou não.
