- Aciona a entrada no Journey, ou
- Corresponde a uma condicao Wait Until dentro do Journey
Como funciona a personalizacao com Custom Events
Adicione propriedades de eventos as suas mensagens de Journey seguindo estes passos:Enviar um Custom Event com propriedades
Exemplo de payload de Custom Events:
JSON
Referenciar propriedades de eventos nos templates de mensagem do Journey
Use sintaxe Liquid para acessar propriedades de eventos.
Padroes comuns de acesso Liquid
| O que voce quer | Liquid | Resultado |
|---|---|---|
| Nome do evento | {{ journey.first_event.name }} | purchase |
| Propriedade | {{ journey.first_event.properties.item }} | Blue Sweater |
| Propriedades aninhadas | {{ journey.first_event.properties.details.first.manufacturer }} | Company A |
| Propriedade com caracteres especiais | {{ journey.last_event.properties["order status"] }} | pending |
| Timestamp | {{ journey.last_event.timestamp | date: "%B %d, %Y at %I:%M %p" }} | October 21, 2025 at 07:09 PM |
Padroes de acesso Liquid aninhados
Voce tambem pode acessar propriedades aninhadas usando notacao de ponto e colchetes:Liquid
Criar um Journey
Configure o Journey para usar o Custom Event como regra de entrada e/ou condicao Wait Until.
- Consulte Configuracoes de Journeys para regras de entrada.
- Consulte Acoes de Journeys para condicoes Wait Until.
Regras de armazenamento de propriedades de eventos
- Voce pode usar varios eventos no seu Journey combinando regras de entrada e etapas Wait Until.
- Maximo: 100 propriedades de eventos armazenadas por usuario por instancia de Journey (as mais antigas sao descartadas).
- As propriedades de eventos sao armazenadas por usuario, por instancia de Journey.
- Eventos enviados antes da entrada nao sao acessiveis.
- As propriedades de eventos sao limpas quando o usuario sai do Journey.
Referencia Liquid de Custom Events
Use estes objetos para acessar eventos armazenados dentro do Journey.journey.first_event
O primeiro evento armazenado para esta instancia de Journey.
- Se estiver usando uma regra de entrada por Custom Event, este e o evento que causou a entrada no Journey.
- Se nao estiver usando uma regra de entrada por Custom Event, este e o primeiro evento armazenado ao corresponder a uma condicao Wait Until.
Liquid
journey.last_event
O evento armazenado mais recente para esta instancia de Journey.
- Se apenas um evento estiver armazenado,
first_eventelast_eventretornam o mesmo resultado.
Liquid
journey.event.EVENT_NAME
O evento armazenado mais recente com um nome especifico.Se o nome do seu evento inclui espacos ou caracteres especiais, use notacao de colchetes.Exemplo de evento:
- Substitua
EVENT_NAMEpelo nome do seu evento (ex.:purchase). - Se o mesmo nome de evento for usado varias vezes, este retorna a instancia mais recente.
Liquid
"name": "order status"Liquid
Todos os eventos armazenados para esta instancia de Journey, na ordem em que foram armazenados.
- Use loops for para iterar sobre eles.
Liquid
journey.first_evente uma abreviacao parajourney.all_events[0].journey.last_evente uma abreviacao para o evento mais recente no array.
Exemplo: Templates de carrinho abandonado usando Custom Events
Este exemplo mostra como personalizar mensagens de carrinho abandonado usando Custom Events. Ele se baseia no tutorial de Carrinho Abandonado. Exemplo de conjunto de Custom Events:JSON
Template de e-mail
Este exemplo mostra como criar um template de e-mail que exibe:- A quantidade de itens no carrinho
- Cada produto com imagem, nome, quantidade e preco usando um loop for
- Um botao que direciona para a URL unica do carrinho do cliente

Criar o template de e-mail
Navegue ate Messages > Templates > New Email Template e abra o Editor Drag & Drop.
Adicionar a estrutura de layout
Crie cinco linhas:
- Linhas 1, 2 e 4: uma coluna com um bloco Paragraph
- Linha 3: quatro colunas com HTML | Paragraph | Paragraph | Paragraph
- Linha 5: uma coluna com um bloco Button

Exibir a contagem de itens
Na linha 1, adicione:Para melhor gramatica, voce poderia usar um condicional para dizer “1 item” vs “2 itens”, mas para e-mails de carrinho abandonado, o plural geralmente e aceitavel.
Liquid
Liquid
Iniciar o loop for
Use um loop for para repetir a linha de exibicao do produto para cada item do carrinho.Na linha 2 (inicio do loop), adicione:O que isso faz:
Liquid
- Inicia um loop que itera sobre cada objeto no array
cart - Cria uma variavel temporaria
productrepresentando o item atual - Tudo entre
{% for %}e{% endfor %}se repete uma vez por item do carrinho - Voce pode nomear
productcomo quiser (ex.:item,cartItem) — apenas mantenha a consistencia
Exibir detalhes do produto
Esta linha de 4 colunas mostra imagem, nome, quantidade e preco. Como esta dentro do loop, ela se repete para cada item do carrinho.Na linha 3 (detalhes do produto), configure:Coluna 1 - Bloco HTML (imagem do produto):Colunas 2-4 - Blocos de texto (nome do produto, quantidade, preco):
- Coluna 2:
{{product.product_name}} - Coluna 3:
{{product.product_quantity}} - Coluna 4:
{{product.product_price}}
- Na primeira iteracao,
product= primeiro objeto no array do carrinho {{product.product_image}}obtem a imagem do primeiro item- Na segunda iteracao,
product= segundo objeto - A linha se repete automaticamente para todos os itens do carrinho
Encerrar o loop for
Feche o loop para marcar onde a repeticao termina.Na linha 4 (fim do loop), adicione:
Liquid
Todo
{% for %} deve ter um {% endfor %} correspondente. A ausencia dele quebrara a renderizacao do e-mail.Testar o template
- Adicione o template a um Journey em branco e defina a regra de entrada como Custom Event.
- Ative o Journey e entre nele por meio da API de Custom Events.
- Verifique se os dados sao exibidos corretamente.
Sucesso! Agora voce pode aplicar sua propria estilizacao ao template. Consulte Criar e-mails com drag-and-drop.
Template de push
Notificacoes push tem espaco limitado, entao exiba um item e mencione a contagem total. Campo de mensagem: Exiba o item e a contagem com gramatica correta usando instrucoes condicionais.Liquid
Liquid
Liquid

Sucesso! Agora voce pode criar mais templates e usa-los no Journey de Carrinho Abandonado.
Solucao de problemas e melhores praticas
Erros comuns:| Erro | Por que falha | Sintaxe correta |
|---|---|---|
{{ journey.first_event.item }} | Faltando .properties | {{ journey.first_event.properties.item }} |
{{ journey.event.purchase.item }} | Faltando .properties | {{ journey.event.purchase.properties.item }} |
{{ journey.first_event.properties.Item }} | Maiuscula/minuscula incorreta (deveria ser item) | {{ journey.first_event.properties.item }} |
{{ event.properties.item }} | Faltando o prefixo journey. | {{ journey.first_event.properties.item }} |
- Sempre teste os templates antes de colocar em producao
- Use filtros default para propriedades opcionais
- Valide se o schema do evento corresponde as expectativas do template
Paginas relacionadas
Personalizacao de mensagens
Visao geral de todas as opcoes de personalizacao no OneSignal, incluindo quando usar Custom Events vs outros metodos.
Custom Events
Guia completo para implementar e enviar Custom Events via SDK ou API.
Visao geral de Journeys
Aprenda a criar fluxos de trabalho de mensagens automatizados com gatilhos, condicoes e acoes.
Configuracoes de Journeys
Configure regras de entrada acionadas por eventos e o comportamento do Journey.
Acoes Wait Until
Use nos Wait Until para armazenar eventos adicionais durante a progressao do Journey.
Usando sintaxe Liquid
Referencia completa de Liquid com filtros, condicionais, loops e manipulacao de strings.
Templates
Crie e gerencie templates de mensagens reutilizaveis para uso em Journeys.
Precisa de ajuda?Converse com nossa equipe de Suporte ou envie email para
support@onesignal.comPor favor inclua:- Detalhes do problema que você está enfrentando e passos para reproduzir se disponível
- Seu OneSignal App ID
- O External ID ou Subscription ID se aplicável
- A URL para a mensagem que você testou no Dashboard OneSignal se aplicável
- Quaisquer logs ou mensagens de erro relevantes
