> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.icommkt.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Como implementar carrinho abandonado

Um e-mail de carrinho abandonado é um e-mail automático que é enviado para aqueles usuários que, por algum motivo, não concluíram a compra em um e-commerce.

Seu objetivo é fazer com que o cliente volte e finalize a compra que deixou pendente. Geralmente é composto por títulos e textos atraentes, imagens do produto que estava pendente de compra junto com um botão ou call to action para retomar o processo de compra. Também é recomendável oferecer ao cliente algum benefício caso ele conclua a compra que deixou abandonada.

Com Icomm você pode desenhar esse tipo de mensagem e automatizar campanhas de carrinho abandonado para aumentar as conversões em seu site.

# Como criar um e-mail de carrinho abandonado
Para criar uma campanha de carrinho abandonado, primeiro será necessário definir que tipo de newsletter você deseja enviar para seus contatos e realizar uma integração via API. Em seguida, junto com a equipe de Customer Success, as peças serão criadas e o envio de e-mails será automatizado.

|| Para realizar a integração via API, solicite a documentação correspondente à nossa equipe de Customer Success: success@icommkt.com

# Passo a passo

# 1. Que tipo de newsletter pretende implementar?

O primeiro passo será decidir que tipo de newsletter quer enviar aos clientes que abandonam uma compra antes de concluí-la.

**Genérico**
Esse tipo de e-mail será composto por uma única imagem e um botão ou call to action para retomar a compra pendente. Ou seja, não mostrará os detalhes dos produtos abandonados, nem as imagens ou preços.

**Personalizado**
Esta opção mostra o detalhe do carrinho completo. Ou seja, a quantidade de produtos com fotos, preços e botões que permitem retomar a compra. Recomendamos mostrar até 3 produtos.

# 2. Design e dados

* Crie o design do e-mail que deseja enviar aos clientes que desistem de uma compra. Em seguida, você deve enviar a newsletter em formato JPG para a equipe de Customer Success da Icomm definir quais informações precisarão ser solicitadas via API de integração e mapear os campos na plataforma.

É importante ter em conta que será essencial ter alguns dados da API de integração para a criação de um carrinho abandonado. Aqui estão alguns exemplos: (Os campos marcados em **negrito** são obrigatórios).

* **e-mail**
* **quantidade de produtos**
* **abandon_date (dd/mm/aaaa)**
* **url_carrito** (leva ao carrinho personalizado)
* nome
* Sobrenome
* url_produto_imagem1
* url_product_image2
* url_product_image3
* nome_do_produto1
* product_name2
* product_name3

||| Todos os campos contendo links devem começar com um URL.

# 3. Criação de perfil e teste

Esta etapa pode ser realizada com o auxílio da equipe Icomm CS. Aqui será criado o perfil normal onde serão salvos os dados de integração da API e os perfis virtuais que irão segmentar os clientes de acordo com a quantidade de produtos que eles deixam abandonados no carrinho. Em seguida, será realizado um teste para verificar a configuração correta do e-mail que será enviado aos clientes que deixarem suas compras pendentes.

###### Design de news na plataforma

Agora você deve criar as três newsletters no Editor da Plataforma para aquelas pessoas que abandonaram 1, 2 ou 3 produtos respectivamente. É importante ressaltar que tudo, inclusive as imagens dos produtos, serão chamados como campos a partir da integração via API. Você pode pedir ajuda à equipe CS para executar esta etapa.

###### Imagem em HTML

Também é possível fazer a newsletter em formato HTML:

```html
<p style="margin-top: 0px; margin-bottom: 0px;"color:#ffffff;"><a href="<***url_cart***>" style="border: solid 0px;" target ="_blank"><img alt="." src="&lt;***url_img_1***&gt;" style="display: block;width:195px;" /></a></p>```

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/1_1xw9wqu.png)

Para invocar a imagem, clique em "Fonte", exclua o código que nos traz e cole o que compartilhamos abaixo.

||| Os campos que estão em **negrito** devem ser EXATAMENTE iguais aos da base.

# Criação de perfil virtual

Devem ser criados três perfis virtuais para segmentar os clientes com base no número de produtos abandonados da seguinte forma:

* Use os campos **fecha_abandono** > Aplicar função > Data exata = 1 e cant_productos = 02/01/03 (conforme o perfil)

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/2_hjq68b.jpg)

# 4. Configurações de Envio Automatizado

A última etapa para a criação do carrinho abandonado é a automatização dos embarques.

**Três configurações de envio devem ser feitas:**

* A primeira configuração conterá a newsletter de abandono de 1 produto e será direcionada ao perfil virtual dos usuários que abandonaram 1 produto.
* A segunda configuração conterá a newsletter de abandono de 2 produtos e será direcionada para o perfil virtual dos usuários que abandonaram 2 produtos.
* A terceira configuração conterá a newsletter de abandono de 3 produtos e será direcionada para o perfil virtual dos usuários que abandonaram 3 produtos.

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/3_1bq4yzz.jpg)

| Dica: Você pode fazer uma primeira configuração e depois copiá-la modificando perfil e newsletter

Importante: você deve habilitar a opção **Habilitar Repetir Envio** na terceira aba de **Configurações de Entrega**, indicando a frequência de envio que deseja.

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/4_7yfs0s.jpg)

# Como implementar Carrinho Abandonado no Vtex

As etapas para implementação do carrinho abandonado na VTEX estão descritas a seguir.

### Criar campo calculado

1. Entre no Dynamic Storage em: *https://{**Account**}.ds.vtexcrm.com.br/* e em seguida na aba ***Data Entities**.*

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/untitled-1_13izbd1.png)

2. Na Entidade CL (Cliente), clique em **editar**

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/untitled-2_dfcxfa.png)

3. Na tela de detalhamento dos campos da entidade CL, acesse a aba **Campos Automáticos** e clique em **Novo Campo Calculado**.

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/untitled-3_kjpovu.png)

4. Preencha o novo campo calculado com os seguintes dados
    para. **Nome:** rclastsessiondate_ddmmyyyy
    b. **Nome de exibição:** Dados da sessão no formato DD/MM/AAAA
    c. **Tipo:** Varchar 10

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/untitled-4_jd2opa.png)

5. Pressione a roda de configuração à direita do campo que você vai registrar

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/untitled-5_1h2h30u.png)

6. Complete o texto da fórmula com o seguinte código

```c
if(  {!rclastsessiondate}  != null && {!rclastsessiondate}.HasValue)

{

    return {!rclastsessiondate}.Value.ToString("dd/MM/yyyy");
}

return null;```

7. Selecione **Inserir ou Atualizar** no campo Recalcular em:

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/untitled-7_15vyig6.png)

8. Clique no botão **Validar** e aparecerá uma janela como a seguinte para confirmar se os dados a serem calculados estão corretos. Lá você deve carregar uma data com o formato necessário AAAA-MM-DD

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/untitled-8_1wa5uyo.png)

9. Pressione OK e você receberá a mensagem de sucesso.

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/untitled-9_d813d6.png)

_(Ignorar mensagem de erro de sintaxe)_

10. **Registro**

11. Na lista de Entidades de Dados, devemos publicar as alterações realizadas. Para isso, basta pressionar o botão salvar à esquerda do nome da entidade de dados do cliente (CL).

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/untitled-11_1o2d3mt.png)

### Criação de Gatilho

1. Entre em **Dynamic Storage** em: https://{Account}.ds.vtexcrm.com.br/ e depois na aba **Triggers**.

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/trigger-1_17jg8yo.png)

2. Clique em **Adicionar novo / Adicionar novo**

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/trigger-2_imfkzn.png)

3. Preencha os campos de dados básicos do gatilho

    para. **Nome:** Carrinho Abandonado

    b. **Entidade de Dados:** (Selecionar) Cliente

    c. **Status:** Ativado / Ativado

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/trigger-3_1wcr8ly.png)

4. Na aba **Regra**, preencha com os seguintes dados

    para. **Regra de acionamento:** o valor de um atributo foi alterado
    b. **Campo:** Última sessão
    c. Configuramos os seguintes Filtros Adicionais pressionando 4 vezes em ***Adicionar Filtro***

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/trigger-4_fkzner.png)

5. Na guia **If Positive**, conclua a ação a ser executada.
    para. **Ação:** envie uma solicitação HTTP
    b. **Solicitar datas:**
        Yo. **URL**: [https://api.icommarketing.com/Contacts/SaveContact.Json/](https://api.icommarketing.com/Contacts/SaveContact.Json/)
        ii. **Método:** POST
        iii. **Cabeçalhos:**
            1. **Nome:** Autorização
            2. **Valor:** [API_KEY]

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/trigger-5_vmjxu9.png)
    
      4. Conteúdo como JSON: (obtenha previamente o ProfileKey e substitua no código)

```json
{

   "ProfileKey":"[ProfileKey]",

   "Contact":{
      "Email":"{!email}",
      "CustomFields":[
         {
            "Key":"nombre",
            "Value":"{!firstName}"
         },
         {
            "Key":"apellido",
            "Value":"{!lastName}"
         },
         {
            "Key":"url_carrito",
            "Value":"{!rclastcart}"
         },
         {
            "Key":"fecha_abandono",
            "Value":"{!rclastsessiondate_ddmmyyyy}"
         }
      ]
   }
}
```

||| Importante: Substitua a [API_KEY] e a [ProfileKey] pelos valores obtidos da instância do cliente.


# Problemas Frequentes

1. **O problema mais frequente é que, ao implementar as etapas anteriores, algumas horas se passam e nenhum registro é inserido no perfil de carrinho abandonado. Revise os seguintes pontos para verificar a configuração feita.**

    para. Verifique se a **APIKEY** correspondente à instância do cliente foi inserida. (Ponto **5.b.iii** dentro da **etapa 2 "Criação do Gatilho"**)
    b. Verifique o JSON do pedido introduzido no ponto **5.b.iv** no **passo 2 “Criação do Trigger”**
        Yo. A **ProfileKey** foi digitada corretamente?
        ii. Os campos listados em cada **“Chave”** do atributo **“CustomFields”** existem no perfil vinculado? A imagem abaixo mostra um exemplo de uma configuração típica.

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/pobelmas-1_m20xzt.png)

Neste caso, o perfil deve ter os campos:

* email (genérico, sempre deve existir)
* nome
* Sobrenome
* cart_url
* data_abandonada

2. **A data de abandono do carrinho não é inserida no perfil com o formato DD/MM/AAAA.**
    
    Verifique o JSON da requisição inserida no ponto **5.b.iv** dentro do **passo 2 "Criação do Trigger"** e verifique o **"Valor"** correspondente à **"Chave": "data_abandono"**. O nome do campo dinâmico criado na etapa 1 deste tutorial deve aparecer ali como Valor. Como sugerido por padrão, deve ficar assim.

![](https://storage.crisp.chat/users/helpdesk/website/e4b41ef8ae96c800/problemas-2_1qicql7.png)