Como funciona a personalização
Você pode adicionar dados personalizados em mensagens, templates, Journey Webhooks e Event Streams usando sintaxe Liquid. Os dados podem ser provenientes de:- Data feeds: Dados em tempo real de suas APIs.
- Custom Events: Eventos de usuário em tempo real para personalizar mensagens de Journey.
- Properties & Tags: Valores integrados de usuário, journey, mensagem, template, aplicativo ou organização.
- API:
custom_data: Dados personalizados que você passa diretamente para nossa API Create Message. - Dynamic content: Personalização baseada em CSV via uploads no painel.
Considerações principais
A personalização ajuda os usuários a se conectarem mais profundamente com seu aplicativo, potencialmente aumentando o engajamento e a receita. Exemplos comuns são colocar o nome da pessoa ou informações específicas (como itens de carrinho abandonado) em uma mensagem, mas os casos de uso são infinitos. Qual é o objetivo? O que você quer enviar na mensagem? Exemplos:- Adicionar uma propriedade de usuário como nome ou ID
- Mostrar fatura ou OTP
- Enviar conteúdo dinâmico de um CSV
- Os dados estão armazenados no OneSignal como uma propriedade ou tag?
- Os dados estão armazenados no seu próprio banco de dados?
- Você precisa passar dados do seu backend para o OneSignal?
- Mensagens únicas: Enviar a mensagem do seu servidor ou através do painel OneSignal?
- Mensagens recorrentes: Usando Journeys ou outros fluxos de trabalho automatizados?
- Objetivo: Enviar uma senha de uso único para ajudar um usuário a fazer login.
- Dados:
- OTP armazenado no seu backend.
- Nome de usuário armazenado no OneSignal como uma tag.
- External ID armazenado no OneSignal como uma propriedade.
- Envio:
- Do seu servidor usando nossa API REST.
- De um fluxo de trabalho automatizado usando Journeys.
Um passo a passo detalhado deste exemplo está disponível no tutorial de exemplo Verificação, Magic Link e OTP.Veja mais exemplos de Tutorial abaixo.
Fontes de dados
Opções disponíveis para personalização.Dynamic Content
Este guia atual sobre personalização explica como adicionar conteúdo dinâmico às suas mensagens, templates, Journeys e Event Streams. O OneSignal também fornece uma maneira de fazer upload de um CSV de dados para personalizar as mensagens com base em dados do seu próprio banco de dados. Consulte Dynamic Content para mais detalhes.Data feeds
Data Feeds são uma maneira de puxar dados em tempo real de suas APIs diretamente para mensagens no momento do envio. Basta conectar um template à sua fonte de dados e puxaremos os dados do seu servidor e os injetaremos na mensagem.Custom Events
Referencie Custom Events dentro de Templates usados em Journeys. Dependendo da configuração da Journey, ela pode armazenar um ou mais Custom Events em nome do usuário. Você pode usar sintaxe Liquid para exibir propriedades desses eventos armazenados ou para exibir condicionalmente partes da sua mensagem com base nos eventos.- Journeys acionadas por evento armazenarão o evento que causou a entrada do usuário na Journey
- Qualquer Journey usando nós Wait Until armazenará Custom Events quando eles corresponderem a uma condição.
- Propriedades de Custom Event
- Estrutura de Custom Event de Exemplo
- Usando Eventos em Templates
journey.first_event
Para Journeys acionadas por evento, este será sempre o evento que causou a entrada do usuário na Journey.Se a regra de entrada da Journey não for acionada por evento, este será o primeiro evento correspondido por uma condição Wait Until.
journey.last_event
O Custom Event mais recente armazenado. Se houver apenas um custom event armazenado, então
first_event e last_event retornarão a mesma coisa.journey.event.most_recent_event_name
O evento mais recente com um determinado nome (substitua
most_recent_event_name pelo nome do evento que você deseja referenciar). Se o mesmo evento for usado várias vezes, isso retornará a instância mais recente. Exemplo: purchase.Para caracteres especiais (por exemplo, espaços), use notação hash se o nome do evento contiver caracteres não alfanuméricos. Por exemplo, se o nome do evento for “order status”, você pode referenciá-lo com
journey.event["order status"].Properties
Campos predefinidos salvos no OneSignal.Properties não estão disponíveis para substituição dentro de Mensagens In-App ou Live Activities.
Propriedades de User & Subscription
Siga as etapas fornecidas com base em onde você precisa acessar os dados.- Propriedades disponíveis em mensagens e templates
- Propriedades disponíveis em Journey Webhooks e Event Streams
Use o objeto Se você tiver tags
subscription para acessar propriedades no nível de Subscription em mensagens e templates. Tags também podem ser acessadas diretamente pelo nome da chave. Por exemplo:first_name: Jon e level: 5 para Usuário A e first_name: Jeff e level: 100 para Usuário B, cada um verá seu nome e nível na mensagem. Caso contrário, verão os valores padrão.subscription.external_id
O External ID associado à Subscription.
subscription.email
O endereço de email da Subscription de email que está recebendo a mensagem.
subscription.phone_number
O número de telefone da Subscription de SMS que está recebendo a mensagem.
subscription.language
O código de idioma do usuário.
subscription.unsubscribe_token
O token usado com a API Unsubscribe email with token.
liquid
Propriedades de Journey
O objetojourney é útil para rastrear o nome da Journey ou referenciar Custom Events dentro de Templates usados em Journeys.
journey.name
O nome da Journey.
JSON
Propriedades de Message
O objetomessage é útil para acessar custom_data enviado do seu backend ou para rastrear propriedades da mensagem com Event Streams.
message.id
O OneSignal message ID.
JSON
message.name
O nome da mensagem.
JSON
message.template_id
O OneSignal template ID.
JSON
Propriedades de Template
O objetotemplate é útil para acessar detalhes sobre o Template usado para enviar a mensagem.
template.id
O OneSignal template ID.
JSON
template.name
O nome do template.
JSON
Propriedades do OneSignal
Os objetosapp e org são úteis para acessar detalhes sobre o App e Organization que enviaram a mensagem.
app.id
O OneSignal App ID.
JSON
app.name
O nome do OneSignal App.
JSON
org.id
O OneSignal Organization ID.
JSON
org.name
O nome da OneSignal Organization.
JSON
API custom_data
Adicione personalização diretamente do seu backend usando custom_data e nossa API Create message.
Passos:
- Crie um template
- Use Sintaxe Liquid com formato
{{ message.custom_data.key }} - Envie solicitação de API com o objeto
custom_dataetemplate_id
Exemplo: JSON Plano
Template
API Request
Cliente vê:
- “Your invoice for Widget is ready.”
- A URL final:
https://your-domain.com/invoice=463246732
Exemplo: Dados de Array
Template
API Request
Cliente vê:
- “Your sweater is waiting for you!”
- A imagem:
https://.../sweater.png
Exemplo: Personalização em massa
Para personalizar uma única mensagem para muitos usuários em uma solicitação:Template
API Request
Cliente vê:
- “Hi John, you have 150 points. Your level is Gold.”
- “Hi Sarah, you have 200 points. Your level is Platinum.”
Tutoriais
Tutorial de exemplo Verificação, Magic Link e OTP
Envie emails de verificação, magic links via SMS, senhas de uso único ou URLs personalizadas.
Conteúdo de carrinho abandonado
Envie listas de dados para usuários como em um carrinho abandonado ou placar de líderes.
Mensagens transacionais
Envie qualquer tipo de mensagem transacional através de qualquer canal.
Exemplos de mensagem in-app
Exiba mensagens in-app personalizadas com base em tags.