Para este projeto, utilizei a Northern Trail Outfitters (NTO), a marca fictícia criada pela Salesforce para fins educacionais e usada em cursos oficiais da plataforma.
A NTO é uma empresa de varejo especializada em equipamentos e acessórios para atividades ao ar livre:
ciclismo
hiking
camping
esportes de aventura
Como a marca é fictícia, não existe histórico de comportamento real de compra. Por isso, optei por trabalhar com premissas macro do mercado de produtos outdoor, além de um ticket médio de US$ 300 (informação fornecida no curso) para guiar decisões de segmentação e conteúdo.
Essas duas premissas influenciam diretamente a jornada:
Consumidores de produtos outdoor são altamente exploratórios
— decidem com base em especificações e comparação entre itens.
O ticket médio de US$ 300 ajuda a separar carrinhos de intenção “rápida” vs. “considerada”
— compras abaixo de US$ 300 tendem a ser decisões mais imediatas.
— compras acima de US$ 300 geralmente exigem mais reflexão e estímulos mais fortes.
Com isso, a jornada foi planejada para diferenciar a comunicação dependendo do valor do carrinho, tornando a recuperação mais eficiente e alinhada ao comportamento esperado do consumidor.
Criar uma jornada de recuperação de carrinho abandonado personalizada e orientada por valor, com foco em:
Objetivo principal
Aumentar a conversão dos carrinhos abandonados utilizando comunicação segmentada por ticket.
Sub-objetivos
Personalizar mensagens de acordo com o valor do carrinho e interesse do consumidor.
Enviar e-mails em timing estratégico para maximizar abertura e conversão.
Testar variações (como linha de assunto) para otimizar resultados.
Criar caminhos diferentes para tickets acima e abaixo de US$ 300.
Garantir consistência entre dados, segmentação e entrada na jornada.
A lógica por trás disso é simples:
Nem todo cliente que abandona o carrinho abandona pelo mesmo motivo, e o valor é um dos maiores influenciadores.
Clientes com carrinhos mais altos precisam de mais confiança (prova social, benefícios, garantia).
Clientes com carrinhos mais baixos respondem melhor a mensagens diretas e práticas (lembrança, urgência leve, brevidade).
Essa diferenciação melhora tanto a experiência quanto o resultado final.
A entrada da jornada foi estruturada com base em três Data Extensions interconectadas, criadas dentro de um Attribute Group específico para informações de carrinho.
1. NTOAbandonCart (principal da jornada)
Contém dados do assinante + status do carrinho.
Campos relevantes:
EmailAddress
CustomerID
FirstName
LastName
CartTotal
IsAbandon
Interest
AbandonDate
Gender
2. NTOCartInfo
Detalhes dos itens abandonados:
CustomerID
ProductName
SKU
UnitPrice
IsAbandon
CartTotal
AbandonDate
3. NTOProductCatalog
Informações completas dos produtos:
SKU
Product_Name
Product_Description
Product_Category
Product_Subcategory
Related_Activity
Product_URL
Thumbnail_URL
Season
Sale_Price
Retail_Price
Como o SFMC não possui detecção nativa de “carrinho abandonado”, fizemos isso via Automation Studio + SQL Query.
A automação roda uma vez por dia, seguindo quatro passos:
Importação diária dos dados de carrinho
Carrega novas informações de carrinhos (abandonados ou não).
Por que isso importa?
O carrinho é um evento sensível ao tempo, um cliente pode adicionar, remover ou abandonar produtos em minutos. Por isso, os dados precisam estar sempre atualizados.
No contexto deste projeto, realizado como parte do treinamento de Salesforce Marketing Cloud da K2 University, a única opção disponível foi a atualização por meio de planilhas, já que não havia acesso a integrações API nem a um ambiente de SFTP conectado ao e-commerce. A utilização de planilhas atende ao propósito educacional e permite simular o fluxo de atualização de dados dentro do Marketing Cloud.
Entretanto, em um ambiente de produção, essa abordagem não é recomendada, pois depende de intervenção manual, não escala e aumenta o risco de inconsistências. O caminho ideal seria a integração via API diretamente com o e-commerce, permitindo o envio automático e em tempo quase real dos dados de carrinho. Alternativamente, um fluxo automatizado via SFTP também seria mais adequado, eliminando a necessidade de uploads manuais e garantindo maior confiabilidade e frequência na atualização das informações.
Filtragem por valor do carrinho
Foram criadas duas Data Extensions filtradas:
Tickets acima de US$ 300
Tickets abaixo de US$ 300
Por que separar antes da jornada?
Porque isso evita lógica complexa dentro da jornada e reduz pontos de falha.
Segmentação limpa = jornada limpa.
A automação é o coração do processo: é ela que garante que a jornada receba, todos os dias, apenas usuários elegíveis e com dados atualizados.
Mais do que simplesmente “rodar uma cópia de dados”, a automação foi pensada para garantir consistência, granularidade e velocidade de atualização, três pilares essenciais em jornadas sensíveis ao tempo, como carrinho abandonado.
A seguir, detalho a lógica da automação criada para alimentar a jornada:
Por que a automação roda diariamente
O comportamento de abandono de carrinho é altamente volátil:
pessoas entram e saem do funil o tempo todo
valores mudam
produtos são incluídos ou removidos
o usuário pode voltar ao site e converter sem precisar da jornada
Por isso, a automação foi configurada para rodar 1 vez ao dia, garantindo:
atualização contínua da base
limpeza automática de quem não é mais elegível
entrada apenas de abandonos recentes
Esse intervalo de 24h foi escolhido para equilibrar velocidade de atualização com custo computacional.
Etapa 1 — Importação diária das informações de carrinho
Objetivo: atualizar a base com os carrinhos mais recentes.
Esta etapa garante que a Data Extension principal receba todas as mudanças feitas pelo usuário nas últimas 24h, evitando problemas como:
carrinho marcado como abandonado quando na verdade foi recuperado
valor desatualizado
SKU removido ou substituído
produtos que já não estão mais disponíveis
Sem essa atualização, toda a jornada poderia enviar e-mails incorretos ou irrelevantes.
Etapa 2 — Filtragem por ticket (alto valor vs. baixo valor)
Essa etapa é essencial para a personalização da jornada.
Criamos dois filtros:
Criado porque:
representam maior intenção de compra
têm maior impacto no faturamento
justificam incentivos mais personalizados (como destaque de benefícios)
Criado porque:
possuem ciclo de decisão mais curto
geralmente exigem menos estímulo para conversão
A lógica estratégica aqui é:
segmentação por valor muda abordagem
conteúdos diferentes maximizam relevância
o ticket impacta a narrativa, não apenas o desconto
Essa separação antes de entrar na jornada evita condicionais desnecessários dentro do fluxo, o que deixa a jornada mais simples, mais performática e mais fácil de manter.
Etapa 3 — SQL Query para unificação dos dados
Neste passo, ocorre a parte mais crítica da automação:
a construção da Data Extension final usada como entrada da jornada.
A query faz o join entre:
NTOSubscribers (dados do assinante)
NTOCartInfo (dados do carrinho)
E filtra apenas registros onde:
WHERE cart.IsAbandon = 'True'
Une dados comportamentais (carrinho) + dados cadastrais (usuário)
Sem esse join, não seria possível personalizar e-mails com nome, produto, SKU, preço etc.
Garante consistência dos campos
A Data Extension final tem todos os atributos necessários, limpos e uniformes.
Evita duplicidades
A lógica SQL assegura que um mesmo cliente não entre duas vezes no mesmo ciclo.
Entrega exatamente o que a jornada precisa
A DE final é sempre uma representação fiel do abandono atual.
Configuramos o modo Overwrite porque:
garante atualização limpa, sem resíduos de execuções anteriores
evita acúmulo de carrinhos antigos
mantém a jornada sincronizada com o momento real do cliente
O último passo da automação é alimentar a jornada automaticamente.
Essa lógica permite:
entrada 100% alinhada com a atualização diária
remoção automática de usuários que já não cumprem os critérios
operação contínua sem necessidade de ação manual
Resumo da lógica da automação
A automação foi desenhada para:
garantir que todos os dados estejam atualizados
filtrar adequadamente por ticket
unir informações do carrinho com dados do assinante
alimentar a jornada apenas com usuários elegíveis
evitar duplicações, erros de opt-in e informações desatualizadas
Ela é o que transforma dados brutos em insumos de alta qualidade, permitindo que a jornada execute o que realmente importa:
uma comunicação personalizada, contextual e capaz de gerar conversão.
A seguir, detalho toda a lógica por trás das decisões.
5.1. Entrada da Jornada
A jornada utiliza como base a Data Extension NTOAbandonCart, atualizada diariamente via automação.
Por que uma DE dedicada para entrada?
Garante que a jornada só receba registros limpos, já enriquecidos com dados comportamentais.
Evita trazer usuários que já converteram, já saíram do carrinho ou já passaram pela jornada recentemente.
Mantém a performance da jornada estável, já que ela não precisa realizar filtros complexos internamente.
Logo no início da jornada, existe um Decision Split responsável por dividir o fluxo em dois:
Carrinho < $300
Carrinho ≥ $300
Por que dividir?
Carrinhos de ticket médio mais altos têm comportamentos diferentes:
Têm tempo de consideração maior.
Têm barreiras diferentes (preço, valor percebido, indecisão).
Precisam de argumentos e comunicação específica.
Se ambos recebessem a mesma régua, parte da comunicação seria rasa demais pra quem está prestes a fazer uma compra relevante e agressiva demais pra quem só está pegando um item pequeno.
Antes do primeiro e-mail, utilizamos um espera de 1 hora.
Por que esperar?
Dá tempo para o cliente finalizar a compra sozinho, sem parecer precipitado.
Evita a sensação de “notificação imediata”, que transmite vigilância.
Mantém o fluxo eficiente para quem realmente esqueceu, não para quem ainda estava navegando.
5.4. Primeiro e-mail: lembrete contextual
Aqui a jornada envia o primeiro disparo, com conteúdo diferente para cada grupo:
Mensagem mais leve e direta.
Foco em urgência suave (“seu item ainda está disponível”).
Uso de imagens do produto + CTA direto.
Argumentação mais completa.
Destaque de diferenciais (qualidade, garantia, benefícios).
Conteúdo que reduz fricções (ex: política de devolução).
Por que não usar desconto aqui?
Porque no primeiro contato ainda há alta chance de compra sem incentivo. Desconto cedo demais reduz margem sem necessidade.
5.5. Espera de 1 dia + verificação de abertura
Após 24 horas, a jornada verifica se o cliente abriu o primeiro e-mail.
Por que isso é importante?
Abertura é um ótimo sinal de intenção. Se a pessoa abriu, ela:
Ainda tem interesse.
Está mais propensa a converter sem incentivos.
Não precisa ser “pressionada”.
Por isso, quem abriu sai da jornada, evitando saturação desnecessária.
5.6. Caminho de quem NÃO abriu: Teste A/B de linha de assunto
Quem não abriu o primeiro e-mail segue para um A/B Test de subject line.
Por que testar assunto e não o corpo do e-mail?
Porque o problema não está no conteúdo, está na entregabilidade ou no apelo do assunto.
A/B de corpo só funciona para quem abriu, mas essa etapa é justamente para quem não abriu.
Agora foi testado um cupom de desconto como incentivo para finalizarem a compra.
Dividimos 50% / 50% para aprender qual tipo de abordagem funciona melhor com esse segmento.
Construir essa jornada de carrinho abandonado na Salesforce Marketing Cloud foi mais do que um exercício técnico, foi uma oportunidade de consolidar raciocínio estratégico, validar boas práticas e entender, na prática, como pequenas decisões na modelagem de dados e na lógica da jornada impactam diretamente a performance.
Esse projeto foi desenvolvido durante o treinamento de Salesforce Marketing Cloud da K2 University, o que me permitiu esclarecer todas as dúvidas ao longo do processo com a consultora responsável. Esse suporte técnico e conceitual ampliou significativamente minha compreensão sobre a criação de jornadas, proporcionando uma visão mais estratégica, indo além da execução operacional e evitando a postura de “apertador de botões”.
Depois de finalizar o projeto, estes foram os principais aprendizados:
Algo que ficou ainda mais evidente durante esse processo é que jornadas não quebram na automação, elas quebram nos dados.
Se o relacionamento entre as Data Extensions não estivesse coerente, se o join fosse impreciso, se o campo de “IsAbandon” estivesse inconsistente, toda a lógica da jornada viria abaixo.
A principal lição: o maior trabalho de uma jornada de CRM acontece antes do Journey Builder.
O Journey só executa o que os dados permitem executar.
2. Filtrar antes de orquestrar é ganhar eficiência
Ter segmentações separando carrinhos acima e abaixo de US$300 foi essencial para:
reduzir complexidade dentro da jornada
criar personalização mais simples de manter
facilitar testes e leitura de performance
Essa limpeza prévia na automação também reforçou o aprendizado de que não é função da jornada resolver segmentação, é função da automação.
Quando você entra no Journey Builder já com uma base qualificada, tudo fica mais leve, mais claro e mais eficiente.
3. Testar pequenas partes gera grandes aprendizados
O uso do teste A/B de linha de assunto reforçou algo que sempre repito:
Jornada sem teste é jornada que para de evoluir.
O CRM não é apenas entregar a mensagem certa, é melhorar continuamente como essa mensagem é entregue.
E, ao construir esse fluxo, ficou claro que testar:
linha de assunto
layout
CTA
até a ordem dos passos
…é um dos pilares para maturidade de Lifecycle.
4. CRM é tão técnico quanto estratégico
Esse projeto exigiu:
lógica de dados
SQL
entendimento de modelo relacional
entendimento de boas práticas de timing
clareza da jornada de compra
E isso reforçou o que considero a essência da área:
CRM é o ponto de encontro entre dados, tecnologia e comportamento humano.
Se você erra qualquer um desses pilares, a jornada perde força.
Lição final
Este projeto reforçou uma convicção que carrego como profissional de CRM:
Automação não é sobre apertar botões, é sobre entender pessoas.
Documentar esse projeto também me mostrou o quanto um profissional evolui quando precisa explicar suas próprias escolhas.
É nesse processo que a estratégia ganha forma e o raciocínio fica mais nítido.