Skip to content
Back to Blog

Recupere vendas perdidas: carrinhos abandonados da Shopify pelo WhatsApp

A WhatsApp abandoned-cart reminder bringing a customer back to a Shopify checkout

Cerca de 7 em cada 10 clientes que adicionam algo ao carrinho saem sem pagar. A maioria das lojas tenta recuperá-los por e-mail — mas quase ninguém abre esses e-mails. O WhatsApp é diferente: quase toda mensagem é lida, normalmente em minutos. Então um lembrete curto e próximo — "Oi Alex! Você esqueceu a Jaqueta de Lã Merino. Aqui está seu link para finalizar." — traz de volta uma parte real desses clientes.

O melhor: você mesmo consegue montar isso. Sem código, sem programador, sem conhecimento técnico. O Wassenger é a forma mais fácil de automatizar o WhatsApp no seu negócio, e este guia mostra o caminho exato, do começo até a sua primeira venda recuperada.


O que você vai montar

Quando alguém deixa sua loja Shopify no meio da compra, recebe automaticamente uma mensagem de WhatsApp com o nome, o produto que deixou e um link direto de volta ao checkout. Ainda sem comprar? Uma mensagem opcional no dia seguinte adiciona um pequeno cupom. É só isso — e, uma vez ligado, funciona sozinho.

Você conecta três coisas, uma única vez:

  • Shopify — já detecta os carrinhos abandonados para você, em qualquer plano.
  • Wassenger — a forma mais fácil, sem código, de automatizar e enviar suas mensagens de WhatsApp.
  • Seu número de WhatsApp — na API oficial do WhatsApp Business.

Vamos passo a passo.

O Wassenger é quem recupera a venda. Envia o lembrete, espera, faz o acompanhamento e fecha a venda. A única função do Shopify é avisar o Wassenger no momento em que um carrinho é abandonado — ele não consegue enviar WhatsApp sozinho. É a campainha; o Wassenger é quem vende.


Passo 1 · Crie sua conta Wassenger

Acesse app.wassenger.com/register e cadastre-se. Leva um minuto.


Passo 2 · Conecte seu número de WhatsApp

Dentro do Wassenger, conecte seu número na API oficial do WhatsApp Business (da Meta). O Wassenger te guia para registrar o número com a Meta — você pode usar um número novo ou trazer o número da sua empresa.


Passo 3 · Crie sua mensagem de lembrete

O WhatsApp pede que as empresas usem um modelo de mensagem aprovado para lembretes como este. É uma regra da Meta, e é o que mantém o WhatsApp livre de spam. No Wassenger, crie um modelo simples com três lacunas — o nome do cliente, o produto e o link de recuperação — e envie para aprovação. Costuma levar até 24 horas. Já tem um? Pule para o próximo passo.

Duas regras simples para ficar tranquilo:

  • Mande mensagem só para quem te deu permissão (adicione um opt-in de WhatsApp no checkout).
  • Pare de mandar mensagem para quem responder STOP.

Passo 4 · Monte seu fluxo de recuperação no Wassenger

No Wassenger, abra Flows e crie seu fluxo de recuperação (está incluído a partir do plano Business). O fluxo verifica se o cliente deixou um telefone, envia o lembrete, espera um dia e manda um acompanhamento com um cupom — assim:

The recovery flow in Wassenger Flows: abandoned cart, phone check, first reminder, a 24-hour wait, and a coupon follow-up

Você não monta do zero — o editor deixa você encaixar esses passos em alguns cliques.

Quer adiantar? Importe este fluxo pronto no editor e depois defina sua API key, seu dispositivo e os nomes dos modelos:

{
  "name": "WhatsApp abandoned-cart recovery",
  "nodes": [
    { "parameters": { "httpMethod": "POST", "path": "abandoned-cart", "responseMode": "onReceived", "options": {} },
      "id": "a1", "name": "Abandoned cart", "type": "n8n-nodes-base.webhook", "typeVersion": 2, "position": [260, 300], "webhookId": "abandoned-cart" },
    { "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "loose", "version": 2 }, "conditions": [ { "id": "c1a2b3", "leftValue": "={{ $json.body.phone }}", "rightValue": "", "operator": { "type": "string", "operation": "notEmpty", "singleValue": true } } ], "combinator": "and" }, "options": {} },
      "id": "a2", "name": "Has phone?", "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [480, 300] },
    { "parameters": { "method": "POST", "url": "https://api.wassenger.com/v1/messages", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Token", "value": "YOUR_API_KEY" }, { "name": "Content-Type", "value": "application/json" } ] }, "sendBody": true, "specifyBody": "json", "jsonBody": "={ \"device\": \"YOUR_DEVICE_ID\", \"phone\": \"{{ $('Abandoned cart').item.json.body.phone }}\", \"template\": { \"name\": \"abandoned_checkout_reminder\", \"language\": \"en\", \"components\": [ { \"type\": \"body\", \"parameters\": [ { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.first_name }}\" }, { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.product }}\" }, { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.recovery_url }}\" } ] } ] } }", "options": {} },
      "id": "a3", "name": "Send reminder", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [720, 300] },
    { "parameters": { "amount": 24, "unit": "hours", "resume": "timeInterval" },
      "id": "a4", "name": "Wait 24 hours", "type": "n8n-nodes-base.wait", "typeVersion": 1, "position": [940, 300], "webhookId": "wait-24h" },
    { "parameters": { "method": "POST", "url": "https://api.wassenger.com/v1/messages", "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "Token", "value": "YOUR_API_KEY" }, { "name": "Content-Type", "value": "application/json" } ] }, "sendBody": true, "specifyBody": "json", "jsonBody": "={ \"device\": \"YOUR_DEVICE_ID\", \"phone\": \"{{ $('Abandoned cart').item.json.body.phone }}\", \"template\": { \"name\": \"abandoned_checkout_reminder_coupon\", \"language\": \"en\", \"components\": [ { \"type\": \"body\", \"parameters\": [ { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.first_name }}\" }, { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.product }}\" }, { \"type\": \"text\", \"text\": \"{{ $('Abandoned cart').item.json.body.recovery_url }}\" } ] } ] } }", "options": {} },
      "id": "a5", "name": "Send reminder + coupon", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [1160, 300] }
  ],
  "connections": {
    "Abandoned cart": { "main": [[{ "node": "Has phone?", "type": "main", "index": 0 }]] },
    "Has phone?": { "main": [[{ "node": "Send reminder", "type": "main", "index": 0 }], []] },
    "Send reminder": { "main": [[{ "node": "Wait 24 hours", "type": "main", "index": 0 }]] },
    "Wait 24 hours": { "main": [[{ "node": "Send reminder + coupon", "type": "main", "index": 0 }]] }
  },
  "active": false, "settings": { "executionOrder": "v1" }, "pinData": {}
}

Agora copie a URL do seu webhook — é o único elo que conecta a Shopify ao Wassenger:

  1. Abra o primeiro nó do fluxo, Abandoned cart (é um webhook).
  2. Copie a sua URL — o endereço para onde a Shopify vai enviar cada carrinho abandonado.
  3. Guarde-a para o próximo passo, onde você vai colá-la na Shopify.

Passo 5 · Conecte o Shopify (isto só avisa o Wassenger)

O Shopify Flow não consegue enviar WhatsApp — sua única função é avisar o Wassenger assim que um carrinho é abandonado. A ligação entre eles é uma única URL: Shopify Flow → (envia os dados do carrinho) → seu webhook do Wassenger → Wassenger envia o WhatsApp. Você configura uma vez só:

No seu painel da Shopify, abra a App Store e instale o Shopify Flow. É grátis, é da Shopify, e é a peça que avisa o Wassenger no momento em que um carrinho é abandonado.

The Shopify admin home

Busque Shopify Flow e clique em Install.

Installing the free Shopify Flow app from the App Store

Agora diga à Shopify para disparar esse fluxo sempre que alguém abandonar um carrinho. Abra o app Shopify Flow e:

1. Clique em Create workflow.

Creating a new workflow in Shopify Flow

2. Clique em Add trigger, busque abandons e escolha Customer abandons checkout. Depois clique no + abaixo.

The abandoned-checkout trigger with the button to add a step

3. Escolha Action.

Choosing Action under the trigger

4. Busque Send HTTP request e selecione.

Selecting the Send HTTP request action

5. O formulário da requisição abre vazio.

The blank Send HTTP request form

6. Preencha a requisição exatamente como na imagem abaixo. Configure cada campo:

  • Método: POST
  • URL: a URL do webhook do seu fluxo Wassenger (o nó Abandoned cart que você copiou antes)
  • Cabeçalho Content-Typeapplication/json
  • Cabeçalho Token → a sua API key do Wassenger
  • Body: cole o bloco abaixo e use o botão Add variable do Flow para preencher cada valor (você não precisa entender — só combinar os nomes dos campos):
{
  "event": "abandoned_checkout",
  "checkout": {
    "recovery_url": "{{ abandonedCheckout.abandonedCheckoutUrl }}",
    "total": "{{ abandonedCheckout.totalPriceSet.presentmentMoney.amount }}",
    "currency": "{{ abandonedCheckout.totalPriceSet.presentmentMoney.currencyCode }}"
  },
  "customer": {
    "first_name": "{{ abandonedCheckout.customer.firstName }}",
    "email": "{{ abandonedCheckout.customer.email }}",
    "phone": "{{ abandonedCheckout.customer.phone }}"
  },
  "line_items": [
    {% for lineItem in abandonedCheckout.lineItems %}
    { "title": "{{ lineItem.title }}", "quantity": {{ lineItem.quantity }} }{% unless forloop.last %},{% endunless %}
    {% endfor %}
  ]
}

The configured Send HTTP request: POST, URL, headers and the JSON body

Observação: a ação Send HTTP request da Shopify está disponível a partir do plano Grow.


Passo 6 · Ative

Clique em Turn on workflow. Pronto — cada carrinho abandonado dispara agora um lembrete automático de WhatsApp. É isto que seu cliente vê:

A WhatsApp chat showing the abandoned-cart reminder with the customer name, product, and a tappable link back to checkout

Ainda não tem loja na Shopify? Comece um teste grátis da Shopify — crie sua loja e teste todo este fluxo antes de assinar um plano pago.


Uma sequência de lembretes

Uma mensagem recupera alguns carrinhos; uma sequência curta e respeitosa recupera mais — e já está embutida no fluxo acima. Pare assim que o cliente comprar ou responder STOP.

Quando Mensagem
1 hora depois Lembrete próximo + link de volta ao checkout
24 horas depois Acompanhamento + um pequeno cupom

Perguntas frequentes

Preciso de um plugin para detectar carrinhos abandonados?

Não. A Shopify registra os checkouts abandonados de forma nativa em todos os planos — você só adiciona o WhatsApp por cima.

Preciso saber programar?

Não. Todo o processo é clicar pelo Shopify Flow e pelo Wassenger.

Quais planos eu preciso?

Wassenger plano Business ou superior (para os fluxos). Na Shopify, o passo Send HTTP request precisa do plano Grow ou superior.

E se o cliente não deixou um telefone?

Então o WhatsApp não consegue alcançá-lo — a Shopify só captura o telefone se o cliente digitar um. Esses continuam cobertos pelo e-mail de recuperação da Shopify.


Recursos


Pronto para recuperar mais vendas?

Monte uma vez e trabalhe por você enquanto dorme. Crie sua conta gratuita Wassenger e transforme carrinhos abandonados em pedidos concluídos.

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger.

Browse more

Tutorials, guides and case studies on running WhatsApp at team scale.

Ready for the official WhatsApp Business API?See what Meta charges — and keep your current number.
WhatsApp API pricing