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 }}

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).

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:

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:

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.