Email

Simplificando o complexo: o básico sobre conteúdo dinâmico em e-mails transacionais

As pessoas tendem a acreditar que qualquer processo para agilizar e facilitar a criação de e-mails transacionais prejudica o conteúdo dinâmico, mas nem sempre é o caso.
Imagem para Simplificando o complexo: o básico sobre conteúdo dinâmico em e-mails transacionais

Dyspatch é uma plataforma de produção de e-mail que ajuda grandes organizações a criar e alterar e-mails transacionais e de gatilho mais rápido.

Não há como negar: e-mails transacionais são complicados. Ao contrário de uma página da web, onde dá para contar nos dedos o número de navegadores que você precisa oferecer suporte, a programação de qualquer tipo de e-mail pode ser um pesadelo quando se leva em conta a vasta gama de clientes de e-mail e dispositivos que precisam ser considerados. Some a isso a complexidade da programação de conteúdo dinâmico, específico para cada cliente e transação, e fica claro que e-mails transacionais pode ser muito, mas muito difícil. 

Simplificar essa complexidade pode ser mais fácil do que você imagina. Com frequência, as equipes de desenvolvimento e de design acreditam que qualquer processo para agilizar e facilitar a criação de e-mails transacionais prejudica o conteúdo dinâmico, algo essencial para um e-mail personalizado. Não precisa ser assim. Em vez de usar programação de e-mails em HTML do zero, um processo baseado em modelos usando uma linguagem de modelagem que permite personalização avançada torna a criação (ou atualização) de e-mails transacionais rápida e fácil.

Um bom ponto de partida é entender os elementos básicos de programação de um e-mail transacional típico. Existem diversas linguagens de modelagem de e-mail para você escolher, incluindo Django (Python), Twig (PHP) e Nunjucks (JavaScript), entre outras. Mas usaremos Jinja aqui, para fins de ilustração, além de um ótimo exemplo de e-mail da Sephora.

Substituição de variável

A substituição de variável é usada para inserir conteúdo específico do usuário em um e-mail. No mínimo, você deve se referir ao cliente pelo nome, ou seja:

Olá, {{ first_name }} {{ last_name }},

Incluir o nome do cliente é apenas uma questão de boas maneiras. Mas também é uma boa maneira de evitar que as suas mensagens transacionais acabem na pasta de Promoções da caixa de entrada do cliente. 

A substituição de variável também serve para transmitir informações mais confidenciais a um usuário, como links para redefinir senha e tokens de autenticação multifator (MFA). 

O recibo por e-mail da Sephora que estamos usando como exemplo começa com substituições de variável para o nome do cliente e a data da compra:

Olá, {{ first_name }}, aqui está o recibo da sua visita em {{ purchase_date }}

email-sephora-header

Loops

Loops, ou iterações, também são usados para exibir dados específicos do usuário, mas normalmente mais de um e em um “loop”, o que basicamente significa em repetição, quantas vezes for necessário, em vez de um de cada vez como faz uma simples substituição de variável. Um bom exemplo é um recibo ou confirmação de pedido, onde os dados são os detalhes do item (produto, preço, quantidade etc.) e o número de itens pode ser praticamente ilimitado.

Aqui está um exemplo simples usando apenas o nome e o preço do item.

                                

                                    {% for item in items %}rnt  <span>{{ item.name }} - ${{ item.price }}</span>rn{% endfor %}rn
                                
                            

E aqui está um exemplo renderizado:

                                

                                    <span>Hair clips – $4.99</span>rn<span>Duotang – $2.99</span>rn<span>Shirt – $12.99</span>
                                
                            

A string de entrada também pode incluir detalhes adicionais, como {{ item.image }}{{ item.quantity }} ou {{ item.description }}.

A iteração também pode ser usada para enviar as “pesquisas salvas” dos clientes, como uma lista de imóveis ou de pacotes de férias favoritados em pesquisas recentes.

A seção de “Detalhes da transação” do e-mail da Sephora é uma combinação de loop (para a lista de itens) e substituição de variável (para subtotal, impostos e total).

email-sephora-items

Aqui está o loop para exibir os itens comprados (observe que a saída em HTML está simplificada aqui para fins de ilustração):

                                

                                    {% for item in items %}rn  <span>{{ item.image }}</span> rn  <span>{{ item.name }}</span>  rn  <span>{{ item.number }}</span>  rn  <span>Price: ${{ item.price }}</span>  rn  <span>Qty: {{ item.quantity }}</span>  ttrn  <span>C${{item.total}}</span> rn{% endfor %}
                                
                            

Mais a substituição de variável para subtotal, impostos e total:

                                

                                    <span>Subtotal: ${{ order_subtotal }} </span> rn<span>BRITISH COLUMBIA PST (7%): ${{ tax_bcpst }}</span>  rn<span>CANADA GST/TPS (5%): ${{ tax_gst }}</span>  rn<span><b>Total: ${{ order_total }}</b></span> 
                                
                            

Condicionais

As condicionais são usadas para exibir conteúdo alternativo ou adicional a um cliente com base em um conjunto de variáveis. Alguns exemplos simples podem incluir:

  • Mostrar uma oferta específica no aniversário do usuário:
                                

                                    {% if is_birthday %}rn<p>Happy Birthday! Use the coupon code BIRTHDAY10 to receive 10% off your next order.</p>rn{% endif %}
                                
                            
  • Mostrar uma oferta de upsell específica c
  • om base na compra original do usuário:
                                

                                    {% if subscription_plan == “standard” %}rnrn  <p>Upgrade to Unlimited today and receive 20% off your first month.</p>rnrn{% endif %}rn
                                
                            

As condicionais podem ser usadas em testes A/x para exibir diferentes conteúdos para públicos diferentes, para determinar quais ofertas têm o melhor desempenho. 

No caso da Sephora, eles usam uma condicional para exibir uma oferta dinâmica que promove o programa de fidelidade ou a pesquisa de satisfação do cliente:

email-sephora-gift

Aqui está a condicional para exibir a oferta de presente de aniversário:

                                

                                    {% if loyalty_member == false %}rnrn  <h1>THE 2019 BIRTHDAY GIFT</h1>rn  <p>Celebrate by choosing a <b>FREE</b> gift of minis from… </p>rnrn{% else %}rnrn  <h1>WANT a $250 SEPHORA GIFT CARD?</h1>rn  <p>Tell us about your shopping experience and it could… </p>rnrn{% endif %}
                                
                            

Se o status de membro do programa de fidelidade for “verdadeiro”, então a opção “else” (senão) é exibida:

email-sephora-win

Conclusão

Esta lista está longe de ser exaustiva, mas abrange os elementos mais comuns de um ótimo e-mail transacional. Se você encontrar uma linguagem de modelagem que atenda aos seus requisitos e dominar o básico sobre substituição de variável, loops e condicionais, estará no caminho certo para simplificar a complexidade de criar e atualizar essas comunicações essenciais para os negócios.

Uma plataforma de produção de e-mail como a Dyspatch pode ajudar você a criar ótimos e-mails com um conteúdo dinâmico e inteligente de forma rápida. A Dyspatch combinada com a poderosa infraestrutura de envio do Mailgun permitirá que você garanta que cada cliente receba o e-mail certo na hora certa.