Carrinho Abandonado usando Carrossel no WhatsApp

- Published on
- Duração
- 2 semanas
- Função
- Venda
- Ferramentas
- Active Campaing, BIRD
- Tecnologias
- API RESTful, PHP



+2
Hoje eu vou ensinar como fazer um carrossel de carrinho abandonado usando WhatsApp usando API da Plataforma BIRD, mas pode ser qualquer ferramenta que te possibilita usar variáveis customizáveis ou sua própria API com o WhatsApp (oficial da Meta).
Veja um exemplo final da mensagem:

Como sabemos, a meta funciona com templates fixos que precisam ser enviados previamente para aprovação. Então eu criei 4 templates com variáveis específicas, cada template contém a mesma mensagem com cada uma contendo uma quantidade de cards no carrossel.
Pois não conseguimos incluir cards dinamicamente, pois seria necessário enviar novamente para Meta aprovar o template.
Eu uso PHP para receber o Webhook de carrinho abandonado de uma plataforma de ecommerce, a maioria das plataformas como Shopify possuem essa funcionalidade.
JSON
Exemplo do JSON:
{
"id":366720,
"code":"28C1BEA3F0",
"shipping_method":null,
"shipping_price":0.0,
"discount_price":0.0,
"updated_at":"2025-12-22T10:10:21.659-03:00",
"shipping_address_id":180154,
"token":"L7nGbv6TWGC6BXNwpW43kxmHXD8u1Leq",
"billing_address_id":null,
"extra":{
"ip":"177.12.17.84",
"_ga":"GA1.1.3486120875.5868026093",
"_fbp":"fb.2.1765209079480.1043149624",
"campaign":"hike",
"user_agent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36",
"_ga_6MN9ETF3W0":"GS2.1.s1766408883$o3$g1$t1766409011$j13$l0$h1055827103",
"_ga_7M6Y91HFZD":"GS2.1.s1766408984$o1$g1$t1766409018$j26$l0$h0",
"_ga_HS41WPEF49":"GS2.1.s1766408937$o2$g1$t1766408983$j14$l0$h433620160",
"Checkout expresso":"Sim"
},
"client_id":30433,
"email":"fulano@gmail.com",
"first_phone_area":"21",
"first_phone":"999999999",
"second_phone_area":null,
"second_phone":null,
"shipping_label":null,
"delivery_type":"loggi",
"agent":null,
"channel":"ecommerce",
"rebate_discount":0.0,
"coupon_codes":[
],
"user_id":null,
"items_count":2,
"items":[
{
"sku":"LOB-1",
"name":"Unidades: 1 Unidade de Lobin",
"quantity":3,
"available_quantity":9343,
"price":29.0,
"images":[
{
"url":"https://cdn.vnda.com.br/petvi/2023/10/24/11_34_19_246_11_10_7_792_120lobin201.png?v=1698158059"
},
{
"url":"https://cdn.vnda.com.br/petvi/2023/11/08/11_49_52_224_11_11_4_403_lobin2011.png?v=1699454992"
},
{
"url":"https://cdn.vnda.com.br/petvi/2023/11/13/16_12_14_333_16_11_2_225_lobin202.png?v=1699902743"
},
{
"url":"https://cdn.vnda.com.br/petvi/2023/11/08/11_50_06_568_11_11_4_427_lobin204.png?v=1699455006"
}
]
},
{
"sku":"ZEN-3",
"name":"Combo 3 Lobin Zen",
"quantity":1,
"available_quantity":6956,
"price":87.0,
"images":[
{
"url":"https://cdn.vnda.com.br/petvi/2025/02/06/18_59_22_391_18_2_5_531_lobin20zen20combo20320ecom2020amazon20.png?v=1738879169"
},
{
"url":"https://cdn.vnda.com.br/petvi/2025/02/06/18_57_41_976_18_2_1_142_lobin20zen20220ecom2020amazon20.png?v=1738879061"
}
]
}
],
"total":174.0,
"subtotal":174.0,
"cart_url":"https://www.petvi.com.br/carrinho/L7nGbv6TWGC6BXNwpW43kxmHXD8u1Leq",
"browser_ip":"177.12.17.84",
"last_refuse_reason":null,
"payment_attempts_count":0,
"payment_attempts":[
]
}
Veja um exemplo da Automação no BIRD:

Como podemos ver acima, essa integração recebe um POST onde eu consigo criar duas condições principais: Se o usuário inseriu cupom, e a quantidade itens no carrinho.
Como funciona?
De acordo com a quantidade de itens no carrinho, a automação seleciona o template com o mesmo número de cards no carrossel e substitui pelas variáveis determinadas no template, como nome dos produtos, imagem dos produtos, preço e seleciona qual template atende as variáveis usadas nas condicionais do BIRD.
Usei informações como: valor total de itens no carrinho, cupons usados, valor do desconto, total com desconto.
Essa Automação também está integrada com o Active Campaign (Plataforma de CRM), ao qual o usuário recebe um e-mail com as mesmas informações.
Exemplo de e-mail:

Para esse e-mail eu utilizei HTML/CSS personalizado. Quanto às variáveis e condicionais, usei os recursos avançados do Active Campaign.
Código:
Para tratar os dados de acordo com as necessidades da Petvi, eu optei por usar PHP. Algumas variáveis precisam ser tratadas de acordo com as especificações da Meta. Por exemplo, como cada carrinho gerado na plataforma possui uma URL específica, exemplo:
"cart_url":"https://www.petvi.com.br/carrinho/L7nGbv6TWGC6BXNwpW43kxmHXD8u1Leq"
A API da Meta não aceita uma variável da URL completa, somente parte dela. Logo você precisa tratar a string e isolar somente o ID do carrinho. Exemplo:
$cart_url = $data['cart_url'];
// Get the path from the URL
$path = parse_url($cart_url, PHP_URL_PATH);
// Get the last part of the path
$code_URL = basename($path);
Assim você inserir inserir no template assim:
https://www.petvi.com.br/carrinho/{{code_URL}}
Para cada tipo de plataforma o JSON pode variar, ou seja, seria um código diferente. Não adiantaria eu deixar o código completo aqui.
Resultados
No WhatsApp analisamos o custo de disparo / receita e tinha uma ROAS de 5 na versão antiga desta automação, onde era apenas enviada uma mensagem oferecendo cupom de desconto.
Mensagem antiga:

Quando eu implementei essa nova automação com carrossel contendo a lista de produtos do carrinho e mais informações sobre o desconto, tivemos uma ROAS de 30. Isso mesmo!!!
Para cada R$ 1 gasto em disparo de mensagem (custa em média R$ 0,47 por disparo) tivemos um retorno de R$ 30 reais. E tivemos um ROAS de 136 em e-mail.
Olá! Quer saber mais?
Aprendizado
Usando habilidades de programação e marketing hoje eu consigo ter uma visão de negócio e conseguir implementar as soluções que realmente geram resultado. Antes, o time de marketing era capaz apenas de mudar a copy dessa mensagem. Mas eu percebi que essas mensagens simples não conseguiam entregar a visão real dos benefícios do desconto e dos produtos que o usuário havia colocado no carrinho.
Quem nunca recebeu uma mensagem genérica de carrinho abandonado, onde por muitas vezes, você nem lembrava os produtos pelos quais havia se interessado em comprar.
A recuperação de carrinhos abandonados é essencial para todo o e-commerce, onde o CAC (Custo de Aquisição de Cliente) fica cada vez mais alto em plataformas como Meta Ads, Google Ads e Tiktok Ads. Automações e sistemas que ajudam a diminuir esse CAC é fundamental.
Fique ligado
Seja um Expert em Growth
Receba insights práticos sobre marketing, dados, performance e tecnologia direto no seu email.