Um carrinho é considerado abandonado quando um cliente adiciona um produto ao carrinho, mas não conclui o processo de pagamento. Nesse contexto, abandonar o carrinho significa não avançar para a etapa final da compra, como enviar os dados do cartão ou gerar um Pix para pagamento.
Esse abandono pode ocorrer por diversos motivos, como distrações, dúvidas sobre o preço, falta de informações sobre o produto digital ou dificuldades no processo de pagamento.
Para minimizar essas perdas, estratégias podem ser aplicadas para recuperar a venda e incentivar o cliente a finalizar a compra. Na HeroSpark, você pode configurar uma automação específica para carrinhos abandonados, permitindo acionar ações externas por meio de um webhook ou enviar um e-mail automático para lembrar o cliente e incentivá-lo a concluir a compra.
Para isso basta acessar: Piloto automático> Modelos de automação > Carrinho:
Quando um carrinho é considerado abandonado e a automação será disparada?
Um carrinho é considerado abandonado após 15 minutos de inatividade no checkout. Isso significa que, se o cliente não concluir a compra ou não realizar nenhuma ação dentro desse período e preencheu um e-mail ou telefone valido, o sistema registra o abandono e dispara a automação configurada.
É importante destacar que o carrinho só será registrado se ao menos um e-mail ou telefone válido for preenchido. Caso contrário, não haverá registro nem disparo da automação do tipo webhook.
Para automações do tipo e-mail, o disparo ocorrerá apenas se o e-mail válido tiver sido preenchido.
Variáveis do gatilho de Abandono de carrinho
As variáveis disponíveis com informações do cliente serão enviadas somente se forem preenchidas pelo cliente no carrinho. Por exemplo, se o cliente preencher um e-mail válido, o carrinho será registrado. No entanto, caso ele não preencha nenhuma outra informação, como o nome, apenas o e-mail será enviado com valor.
Essas variáveis podem ser utilizadas tanto para automações do tipo Webhook quanto para E-mail:
{{cartId}} |
Identificador único do carrinho |
{{cartSrc}} |
Fonte do carrinho |
{{cartKind}} |
Tipo de carrinho - "subscription" (assinatura); "common" (parcelamento inteligente ou parcelamento boleto e pix) |
{{cartPublicId}} |
ID publico do carrinho |
{{cartMulticard}} |
Boolean para carrinho com múltiplos cartões (true/false) |
{{cartInteractedAt}} |
Ultima atualização do carrinho |
{{offerId}} |
Identificador único e imutável da oferta |
{{offerTitle}} |
Título da oferta |
{{offerPaymentMethods}} |
Métodos de pagamento aceitos para a oferta |
{{offerPrice}} |
Preço da oferta |
{{offerPeriod}} |
Se a oferta é unitária ou assinatura |
{{offerLink}} |
Link da oferta |
{{productId}} |
Identificador único do produto |
{{productName}} |
Nome do produto |
{{productUid}} |
Identificador único universal do produto |
{{productIsPrincipal}} |
Booleano que identifica se o produto é o principal no carrinho (true/false) |
{{buyerEmail}} |
Endereço de e-mail do comprador |
{{buyerFullName}} |
Nome completo do comprador |
{{buyerPhone}} |
Número de telefone do comprador |
{{buyerPhoneRaw}} |
Número de telefone do comprador sem formatação |
{{bumps | to_json}} |
Traz os dados de todos os orderbumps da compra |
{{formFilledCreditCard}} |
Booleano que identifica se o cartão foi preenchido |
{{formFilledAddressCity}} |
Booleano que identifica se a cidade foi preenchida |
{{formFilledAddressState}} |
Booleano que identifica se o estado foi preenchido |
{{formFilledAddressNumber}} |
Booleano que identifica se o numero do endereço foi preenchido |
{{formFilledAddressStreet}} |
Booleano que identifica se a rua foi preenchida |
{{formFilledAddressZipCode}} |
Booleano que identifica se o CEP foi preenchido |
{{formFilledAddressDistrict}} |
Booleano que identifica se o bairro preenchido |
{{executionAt}} |
Data de execução do evento |
{{platformUid}} |
Identificador único universal da plataforma |
Payload com todas as variáveis
Ao criar uma automação de Abanono de carrinho do tipo webhook, um payload exemplo com todas as variáveis já vem preenchido. Podendo customizar com as variáveis que deseja manter ou não na requisição.
Ao utilizar o payload com todas as variáveis, algumas delas terão valor nulo caso não tenham referência. Lembre-se que você pode editar livremente de acordo com sua necessidade.
{
"cart": {
"id": "{{cartId}}",
"src": "{{cartSrc}}",
"kind": "{{cartKind}}",
"public_id": "{{cartPublicId}}",
"multicard": "{{cartMulticard}}",
"cartInteractedAt": "{{cartInteractedAt}}"
},
"offer": {
"id": "{{offerId}}",
"price": "{{offerPrice}}",
"title": "{{offerTitle}}",
"period": "{{offerPeriod}}",
"payment_methods": "{{offerPaymentMethods | to_json}}",
"offerLink": "{{offerLink}}"
},
"product": {
"id": "{{productUid}}",
"name": "{{productName}}",
"product_uid": "{{productUid}}",
"is_principal": "{{productIsPrincipal}}"
},
"buyer": {
"email": "{{buyerEmail}}",
"phone": "{{buyerPhone}}",
"phone_raw": "{{buyerPhoneRaw}}",
"full_name": "{{buyerFullName}}"
},
"bumps": "{{bumps | to_json}}",
"checkout_form": {
"filled_credit_card": "{{formFilledCreditCard}}",
"filled_address_city": "{{formFilledAddressCity}}",
"filled_address_state": "{{formFilledAddressState}}",
"filled_address_number": "{{formFilledAddressNumber}}",
"filled_address_street": "{{formFilledAddressStreet}}",
"filled_address_zip_code": "{{formFilledAddressZipCode}}",
"filled_address_district": "{{formFilledAddressDistrict}}"
},
"execution_at": "{{executionAt}}",
"platform_uid": "{{platformUid}}"
}