Visão geral
Operadores de Tempo permitem que você envie mensagens relativas a um momento específico no tempo—como após uma ação acontecer ou antes de uma data futura. Você armazena esse momento como um timestamp Unix (em segundos) no usuário usando uma Tag. O OneSignal então compara o tempo atual com esse timestamp e permite que você segmente usuários com base em quanto tempo passou (ou quanto tempo resta). Isso facilita a automatização de mensagens como lembretes, follow-ups e deadlines sem agendar mensagens manualmente. Casos de uso comuns:- Carrinho abandonado: Lembrar usuários que não finalizaram a compra após um determinado tempo
- Lembretes de eventos: Enviar mensagens para usuários antes de um compromisso agendado ou data de renovação
- Marcos: Fazer follow-up quando usuários não completaram uma ação antes de um prazo
- Aniversários: Enviar mensagens automáticas no (ou próximo ao) aniversário de um usuário
Operadores de Tempo estão disponíveis apenas em planos pagos. Planos gratuitos ainda podem usar filtros de segmento baseados em tempo padrão como First Session e Last Session.
Quando devo usar isso?
Use Operadores de Tempo quando você quiser:- Enviar mensagens relativas a um evento, não em um tempo fixo do calendário
- Criar janelas de tempo móveis (por exemplo, “24–48 horas depois”)
- Reutilizar a mesma lógica para muitos usuários com datas diferentes
- Avaliar continuamente a elegibilidade conforme o tempo passa
Tags vs Custom Events
Você pode resolver muitos casos de uso de “lembrete” com Tags ou Custom Events. A melhor opção depende do que você precisa armazenar e como você quer acionar a automação.- Use Tags quando você quer armazenar o último timestamp conhecido (por exemplo,
cart_updated_atousubscription_expires_at) no usuário e segmentar com base nesse valor ao longo do tempo. - Use Custom Events quando você quer registrar cada ocorrência de evento (com propriedades) e acionar Journeys com base no comportamento em tempo real.
Na prática, muitas implementações podem usar ambos: Custom Events para rastreamento em tempo real e Tags para estado do usuário que você quer segmentar depois.
| Recurso | Tags | Custom Events |
|---|---|---|
| Uso de dados | Segmentação e personalização | Disparar Jornadas sem um Segmento, passos Wait Until, personalização diretamente dentro de Jornadas |
| Retenção de dados | Vitalícia | 30+ dias (armazenamento vitalício está disponível) |
| Formato de dados | Strings ou números chave-valor | JSON |
| Fonte de dados | OneSignal SDK, API ou integrações (limitado) | OneSignal SDK, API ou integrações |
| Acesso aos dados | Segmentação e personalização de mensagem | Jornadas e personalização de Journey-message-template, Segmentação (Em breve) |
- Tags para propriedades de usuário que são estáticas e não mudam frequentemente
- Custom Events para cenários em tempo real, segmentação complexa e fluxos de trabalho de jornada mais sofisticados
Referência rápida
- Converta a data do evento para um timestamp Unix em segundos.
- Defina uma Tag onde a chave é o nome do evento e o valor é o timestamp como string (ex.,
'event_date': '1739145600'). - Crie um segmento usando o operador Time Elapsed Greater Than:
- Após uma data passada usando o operador Time Elapsed Greater Than com um valor positivo
- Antes de uma data futura usando o operador Time Elapsed Greater Than com um valor negativo
Enviar mensagens após um evento passado
Use esse padrão quando você quiser enviar mensagens para usuários após um certo tempo ter passado desde que algo aconteceu. Exemplo: Lembrete de carrinho abandonado 24 horas após o usuário atualizar seu carrinhoArmazenar o timestamp quando o evento acontece
Quando o usuário atualizar seu carrinho, salve o tempo atual como um timestamp Unix (em segundos):
Criar um segmento
- Vá para Audience > Segments
- Adicione um filtro User Tag
- Defina Key como
cart_updated_at - Escolha Time Elapsed Greater Than
- Defina Value como
1dia (ou24horas ou86400segundos)

Adicionar um limite superior (Recomendado)
Sem um limite superior, os usuários permanecem no segmento para sempre. Adicione um segundo filtro para criar uma janela:
- Time Elapsed Greater Than
24horas - Time Elapsed Less Than
48horas

Usar o segmento em um Journey
Crie um Journey que segmente seu segmento para automatizar as mensagens.
Enviar mensagens antes de um evento futuro
Use esse padrão para enviar mensagens para usuários antes de uma data futura, como um compromisso ou renovação.- Armazene a data futura como uma tag de timestamp Unix (ex.,
'future_date': '1739145600') - Crie um segmento com Time Elapsed Greater Than e seu tempo de entrada desejado como um valor negativo
- Exemplo:
-2dias (ou-172800segundos)
- Exemplo:

- Adicione um limite superior usando o mesmo operador Time Elapsed Greater Than com um valor negativo de um tempo mais próximo
- Exemplo:
-1dia (ou-86400segundos)
- Exemplo:

Exemplo: Mensagens de aniversário
Envie mensagens de aniversário armazenando o próximo aniversário de cada usuário como um timestamp.Criar um segmento de aniversário
- User Tag:
birthday - Time Elapsed Greater Than:
0segundos

Configurar um Journey recorrente
- Crie um Journey direcionado ao seu segmento de aniversário
- Defina a reentrada para 52 semanas para que os usuários possam reentrar no próximo ano
- Atualize a tag
birthdaypara a data do próximo ano após o envio (no seu backend ou Journey)
Calcule timestamps de aniversário usando o fuso horário local do usuário quando possível. Usar apenas o horário do servidor pode fazer com que as mensagens sejam enviadas mais cedo ou mais tarde do que o esperado.
Mensagens de aniversário serão enviadas para usuários próximo à data da sua tag
birthday.FAQ
Como funciona a matemática? (detalhes técnicos)
Operadores de Tempo existem para permitir que você crie janelas relativas e móveis em vez de datas fixas. O OneSignal calcula o tempo decorrido usando esta fórmula:- Timestamps passados → valores positivos
- Timestamps futuros → valores negativos
Time Elapsed Greater Than X: corresponde quandoelapsed > XTime Elapsed Less Than X: corresponde quandoelapsed < X
Less Than:
Qualquer número negativo é menor que qualquer número positivo. Então time_elapsed_lt 2 days (172,800 segundos) corresponderá a um timestamp 30 dias no futuro porque:
Como posso testar?
- Encontre seu usuário via ID Externo, ID de Assinatura, Email ou número de telefone. Veja Encontrar e definir assinaturas de teste para detalhes sobre encontrar seu usuário.
- Obtenha um timestamp em segundos da data atual e uma data futura (5 minutos a partir de agora).
- Defina duas tags com as chaves ‘current_time’ e ‘future_time’ e os valores como os timestamps em segundos.
- Crie um segmento
current_timecom os seguintes filtros:- User Tag:
current_timeTime Elapsed Greater Than:2minutos - E User Tag:
current_timeTime Elapsed Less Than:5minutos
- User Tag:
- Crie um segmento
future_timecom os seguintes filtros:- User Tag:
future_timeTime Elapsed Greater Than:-5minutos - E User Tag:
future_timeTime Elapsed Less Than:-2minutos
- User Tag:
- Entrar no segmento
current_time2 minutos após a data de tempo atual e sair do segmento 5 minutos após a data de tempo atual. - Entrar no segmento
future_time5 minutos antes da data de tempo futuro e sair do segmento 2 minutos antes da data de tempo futuro.