Skip to main content
A ontologia é a forma como a UserIn organiza todos os dados que conhece sobre cada visitante. Cada campo pertence a um dos 4 tipos, que determina como é preenchido, com que frequência é atualizado e como interpretá-lo ao criar regras, segmentos e automações.
Todos os campos aparecem juntos no construtor de condições, independente do tipo. Campos marcados com iGaming só estão disponíveis para empresas configuradas na vertical bets.
Nesta página:

Os 4 tipos de dados

Atributos

Fatos registrados. Chegam via integração ou tracker e são armazenados como vieram, sem transformação. Exemplos: ID externo, email, valor do primeiro depósito, saldo inicial da sessão.Atualização: apenas quando a integração envia um novo valor.

Agregados

Totais, contagens e médias. Calculados automaticamente somando ou contando eventos recebidos. Exemplos: total apostado, quantidade de sessões, GGR total, wins na última hora.Atualização: em tempo real a cada evento recebido.

Sinais

Interpretações inteligentes. Derivados dos dados brutos usando janelas temporais, thresholds e lógica de negócio. Exemplos: tier de depósito, tendência, nível de frustração, melhor horário de contato.Atualização: periódica (RT, diária ou semanal conforme o sinal).

Outputs

Resultados de modelos de decisão. Calculados combinando múltiplos campos com pesos. Exemplos: score de intenção, tier VIP, melhor ação de retenção, canal recomendado.Atualização: diária.
A diferença prática: um Atributo diz o que aconteceu (“depositou R$ 50 pela primeira vez”), um Sinal interpreta (“está em sequência de perdas”), um Output recomenda (“ofertar freespin agora pelo canal onsite_modal”).

Atributos

Dados que chegam via integração ou tracker e são armazenados como vieram. Não são calculados pela plataforma.

Identidade

Campos internos de identificação do visitante. Não aparecem no construtor de condições, mas são a base de todo o perfil.
PathLabelDescrição
externalIdID ExternoID do visitante no sistema do cliente (ex: user_id)
companyIdID da EmpresaID da empresa / tenant
visitorIdVisitor IDÚltimo localStorage ID usado pelo visitante

Temporal

PathLabelDescrição
firstSeenAtPrimeiro AcessoData e hora do primeiro registro no sistema
lastUpdatedAtÚltima AtualizaçãoData e hora da última atualização do perfil

Financeiro

PathLabelDescriçãoSelecionável
deposits.ftd.amountValor do 1º Depósito (R$)Valor do primeiro depósito. Imutável após o registro.
deposits.ftd.dateData do 1º DepósitoData e hora do primeiro depósito. Imutável.

Comportamento

PathLabelDescrição
behavior.lastActiveAtÚltima AtividadeData e hora da última atividade registrada

PathLabelDescriçãoSelecionável
navigation.lastSession.pagesPáginas da Última SessãoLista de páginas visitadas na última sessão. Use “contém” para detectar uma página específica.
Use Páginas da Última Sessão contém /deposito para disparar um modal em tempo real para visitantes que estão na tela de depósito neste momento.

Contato

Informações pessoais vinculadas via integração ou formulário.
PathLabelVariável LiquidSelecionável
contact.firstNameNome{{ contact.firstName }}
contact.lastNameApelido{{ contact.lastName }}
contact.emailEmail{{ contact.email }}
contact.phoneTelefone{{ contact.phone }}
Campos de contato precisam chegar via integração (evento de identificação do tracker ou API REST). Sem o External ID vinculado ao perfil, esses campos não são preenchidos.

iGaming: Jogo favorito (objeto Game)

Atributos do jogo vinculado ao perfil via integração de catálogo. Disponível para vertical bets.
PathLabelVariável LiquidSelecionável
game.nameNome do Jogo{{ game.name }}
game.categoryCategoria do Jogo{{ game.category }}
game.providerProvider do Jogo{{ game.provider }}
game.urlURL do Jogo{{ game.url }}
game.rtpRTP %{{ game.rtp }}
Exemplo de personalização:
Olá, {{ contact.firstName }}! Que tal uma rodada no {{ game.name }}?
Provider: {{ game.provider }} — RTP: {{ game.rtp }}%

iGaming: Saldo de entrada na sessão

Disponível para plataformas com integração de wallet ativa.
PathLabelDescriçãoSelecionável
balanceRealtime.currentSaldo Atual (R$)Saldo atual do visitante em tempo real na sessão
balanceRealtime.sessionStartSaldo Início da Sessão (R$)Saldo que o visitante tinha quando iniciou a sessão

Agregados

Calculados automaticamente pela plataforma somando, contando ou fazendo média de eventos. Não exigem configuração além da integração base.

Ciclo de vida

PathKindLabelValoresSelecionável
stageAGGStage do Visitanteanonymous · registered · ftd · mtd
ValorQuando ocorreEstratégia
anonymousVisitante sem identificaçãoCapturar cadastro via modal
registeredCriou conta, sem depósitoAtivar com bônus de boas-vindas
ftdPrimeiro depósito realizadoOnboarding e engajamento inicial
mtdSegundo depósito em dianteRetenção, fidelização e upsell
O stage nunca retrocede. Um visitante ftd permanece ftd mesmo que fique meses sem atividade. Use Dias Desde Último Depósito para identificar inativos dentro de cada stage.

Temporal

PathLabelDescrição
bestTime.totalSessionsAnalyzedSessões AnalisadasQuantidade de sessões usadas para calcular o melhor horário de contato

Financeiro

PathLabelDescriçãoAtualização
deposits.countQtd. de DepósitosQuantidade total de depósitos realizadosRT
deposits.totalTotal Depositado (R$)Soma de todos os valores depositadosRT
deposits.averageTicket Médio (R$)Valor médio por depósito (total ÷ count)RT
deposits.last.amountValor Último Depósito (R$)Valor do depósito mais recenteRT
deposits.last.dateData Último DepósitoData e hora do último depósitoRT
deposits.weekly.avgAmountPerWeekMédia Valor/Semana (R$)Média de valor depositado por semanaDiária
deposits.weekly.avgCountPerWeekMédia Depósitos/SemanaMédia de quantidade de depósitos por semanaDiária
deposits.last5Weeks.countDepósitos (Últ. 5 Semanas)Quantidade de depósitos nas últimas 5 semanasDiária
deposits.last5Weeks.totalTotal (Últ. 5 Semanas) (R$)Valor total depositado nas últimas 5 semanasDiária
Compare Total Depositado com Total (Últ. 5 Semanas) para detectar jogadores que estavam ativos mas reduziram volume recentemente, sem esperar pelos sinais de tendência.

Comportamento

PathLabelDescriçãoAtualização
behavior.totalSessionsTotal de SessõesQuantidade total de sessões desde o primeiro acessoDiária
behavior.deviceCountQtd. de DispositivosQuantidade de dispositivos diferentes usadosDiária

Preferências e jogos

PathLabelDescriçãoVerticalAtualização
favoriteGame.visitsJogo Favorito (Visitas)Quantidade de visitas ao jogo mais acessadoTodasDiária
preferences.totalPageViewsTotal de Page ViewsTotal de visualizações de páginaTodasDiária
preferences.uniquePagesPáginas Únicas VisitadasQuantidade de páginas únicas visitadasTodasDiária
preferences.categories.casinoVisitas CasinoAcessos a páginas de cassinobetsDiária
preferences.categories.sportsVisitas SportsAcessos a páginas de apostas esportivasbetsDiária
preferences.categories.slotsVisitas SlotsAcessos a páginas de slotsbetsDiária

PathLabelDescriçãoAtualização
navigation.allVisitedPagesTodas as Páginas VisitadasLista de todas as URLs únicas já visitadasDiária

iGaming: Saldo em tempo real

PathLabelDescriçãoAtualização
balanceRealtime.variationCountVezes que Saldo MudouNúmero de vezes que o saldo variou na sessão (apostas e ganhos)RT

iGaming: Apostas — betting

Métricas de apostas com saldo real. Disponível para vertical bets. All-time e janelas longas:
PathLabelDescriçãoJanela
betting.totalBetAmountTotal Apostado (R$)Soma total de apostas com saldo realAll-time
betting.totalWinAmountTotal Ganho (R$)Soma total de ganhos com saldo realAll-time
betting.totalGGRGGR Total (R$)Gross Gaming Revenue acumulado (totalBetAmount − totalWinAmount)All-time
betting.betCountQtd. ApostasQuantidade total de apostas realizadasAll-time
betting.winCountQtd. WinsQuantidade total de rodadas ganhasAll-time
betting.lossCountQtd. LossesQuantidade total de rodadas perdidasAll-time
betting.freespinCountQtd. FreespinsQuantidade total de rodadas grátis utilizadasAll-time
betting.freespinWinAmountGanho em Freespin (R$)Total ganho em rodadas grátisAll-time
betting.last5Weeks.betAmountApostado Últ. 5 Sem (R$)Total apostado nas últimas 5 semanas5 semanas
betting.last5Weeks.ggrGGR Últ. 5 Sem (R$)GGR nas últimas 5 semanas5 semanas
Janelas curtas (comportamento recente e em sessão):
PathLabelDescriçãoJanela
betting.last1h.lossCountLosses Últ. 1hQuantidade de perdas na última hora1 hora
betting.last1h.winCountWins Últ. 1hQuantidade de wins na última hora1 hora
betting.last1h.betAmountApostado Últ. 1h (R$)Total apostado na última hora1 hora
betting.last24h.betAmountApostado Últ. 24h (R$)Total apostado nas últimas 24 horas24 horas
betting.last24h.ggrGGR Últ. 24h (R$)GGR nas últimas 24 horas24 horas
betting.last.gameÚltimo JogoNome do último jogo apostadoRT
betting.last.providerÚltimo ProviderProvider do último jogo apostadoRT
Os campos de janela curta (last1h, last24h) são fundamentais para detectar comportamentos de risco em tempo real dentro da sessão. Use-os combinados com os sinais de frustração para acionar intervenções imediatas.

Sinais

Derivações calculadas pela plataforma a partir dos dados brutos. Cada sinal usa janela temporal, threshold ou lógica específica para responder uma pergunta de negócio.

Temporal — melhor horário de contato

Path: bestTime.bestHourHora do dia (0–23) em que o visitante mais costuma acessar a plataforma.Como é calculado: Moda das horas de início de sessão, analisando o histórico completo de sessões.Atualização: Diária.Uso: Agendar envio de SMS e email no horário de pico individual de cada visitante.
Path: bestTime.bestDayHour.dayOfWeekDia da semana preferido do visitante (0=Domingo, 6=Sábado).Como é calculado: Moda dos dias de início de sessão no histórico completo.Atualização: Diária.Uso: Concentrar campanhas nos dias de maior receptividade por visitante.
Path: bestTime.bestDayHour.dayNameNome legível do dia da semana preferido (ex: “Segunda”).Como é calculado: Derivado de bestTime.bestDayHour.dayOfWeek.Uso: Personalização de mensagens via Liquid: “Você costuma jogar às {{ bestTime.bestHour }}h nas {{ bestTime.bestDayHour.dayName }}s”.
Path: bestTime.proposedContactLocalCombinação formatada do melhor dia e hora (ex: “Segunda às 14:00”).Como é calculado: Derivado de bestTime.bestHour + bestTime.bestDayHour.dayOfWeek.Atualização: Diária.Uso: Exibir em painéis de CRM para que agentes saibam o melhor momento de contato sem precisar calcular manualmente.

Financeiro

Path: deposits.daysSinceLastDepositContador dinâmico de quantos dias se passaram desde o último depósito.Como é calculado: Data atual menos deposits.last.date. Aumenta automaticamente a cada dia sem depósito.Atualização: RT (calculado no momento da avaliação da condição).Uso:
  • 7 dias: modal de incentivo suave
  • 14 dias: SMS com oferta de retorno
  • 30 dias: jornada de reativação completa
  • 60 dias: sinalizar como churned para o CRM
Path: deposits.tierClassifica o visitante por faixa de valor total depositado.Como é calculado: Com base em deposits.total:
TierFaixaPerfil
noneR$ 0Nunca depositou
lowR1aR 1 a R 100Jogador inicial
mediumR100aR 100 a R 500Jogador regular
highR500aR 500 a R 2.000Alto valor, candidato a VIP
whaleAcima de R$ 2.000Premium, tratamento diferenciado
Atualização: Diária.
Path: deposits.trendIndica se o padrão geral de depósitos está crescendo, estável ou caindo.Como é calculado: Análise das últimas 5 semanas de depósitos. Variação > +20% = increasing; < -20% = decreasing; entre = stable.
ValorInterpretaçãoAção
increasingJogador em crescimentoMomento de upsell
stablePadrão mantidoManter engajamento
decreasingSinal de riscoIniciar retenção
unknownDados insuficientesAguardar mais sessões
Atualização: Diária, janela de 5 semanas.
Path: deposits.last5Weeks.trendComparação específica das últimas 5 semanas com as 5 semanas anteriores.Valores: up · down · stable · noneComo é calculado: Compara deposits.last5Weeks.count e deposits.last5Weeks.total com o período equivalente anterior.Atualização: Diária.Uso: Mais sensível que deposits.trend para detectar mudanças recentes de comportamento.

Comportamento

Path: behavior.sessionsPerWeekMédia de sessões por semana do visitante.Como é calculado: behavior.totalSessions ÷ semanas desde firstSeenAt.Atualização: Diária.Uso: Principal indicador de engajamento. Acima de 5 sessões/semana indica visitante altamente ativo.
Path: behavior.avgSessionDurationMinutesTempo médio por sessão, em minutos.Como é calculado: Média da duração de todas as sessões registradas pelo tracker.Atualização: Diária.Uso: Sessões acima de 30 minutos combinadas com losses frequentes ativam o protocolo de jogo responsável.
Path: daysInactiveDias sem qualquer atividade na plataforma (não apenas depósitos).Como é calculado: Data atual menos behavior.lastActiveAt. Calculado dinamicamente.Atualização: RT.Uso: Diferente de “Dias Desde Último Depósito” (que foca em transações), este campo captura inatividade total, incluindo visitantes que entram mas não depositam.
Path: daysSinceCreationQuantidade de dias desde que o perfil foi criado no sistema.Como é calculado: Data atual menos firstSeenAt. Calculado dinamicamente.Atualização: RT.Uso: Identificar visitantes registrados há muito tempo que nunca converteram em ftd.

Preferências — jogo favorito

Path: favoriteGame.nameNome do jogo ou produto mais visitado pelo jogador.Como é calculado: Análise de page views por jogo. O jogo com mais acessos se torna o favorito.Atualização: Diária.Uso: Personalização de mensagens com {{ favoriteGame.name }}.
Path: favoriteGame.urlURL ou path do jogo favorito (ex: /games/aviator).Como é calculado: Derivado de favoriteGame.name via análise de navegação.Atualização: Diária.Uso: Criar CTAs com link direto para o jogo favorito em modais e SMS.
Path: favoriteGame.categoryCategoria do jogo favorito (ex: slots, crash, casino, live).Como é calculado: Derivado de favoriteGame.name.Atualização: Diária.Uso: Segmentar visitantes por vertical preferida sem precisar comparar contadores de visitas individuais.

iGaming: Saldo em tempo real

Path: balanceRealtime.sessionNetChangeDiferença em reais entre o saldo atual e o saldo de início da sessão.Fórmula: balanceRealtime.currentbalanceRealtime.sessionStartPositivo = ganhou. Negativo = perdeu.Atualização: RT, durante a sessão ativa.
Path: balanceRealtime.sessionNetChangePercentVariação percentual do saldo na sessão atual.Fórmula: (balanceRealtime.currentbalanceRealtime.sessionStart) ÷ balanceRealtime.sessionStart × 100Ex: -50 significa que perdeu 50% do saldo inicial.Atualização: RT, durante a sessão ativa.Uso: Acionar intervenção de jogo responsável quando < -50%.
Path: balanceRealtime.isLosingStreakIndica se o visitante perdeu 3 ou mais vezes seguidas na sessão atual.Lógica: balanceRealtime.variationCount com 3+ variações negativas consecutivas.Atualização: RT.Uso: Exibir mensagem de pausa ou jogo responsável antes que as perdas se acumulem.
Path: balanceRealtime.hitZeroThisSessionIndica se o saldo do visitante chegou a zero durante esta sessão.Lógica: balanceRealtime.current = 0 em qualquer momento da sessão.Atualização: RT.Uso: Exibir oferta de recarga ou mensagem de encerramento de sessão.
Path: balanceRealtime.alert50TriggeredIndica se o visitante já perdeu 50% ou mais do saldo inicial da sessão.Lógica: balanceRealtime.sessionNetChangePercent ≤ −50.Atualização: RT.Uso: Gatilho principal de alerta de jogo responsável. Aciona antes da perda total.
Path: balanceRealtime.alert80TriggeredIndica se o visitante já perdeu 80% ou mais do saldo inicial da sessão.Lógica: balanceRealtime.sessionNetChangePercent ≤ −80.Atualização: RT.Uso: Gatilho de intervenção crítica. Exibir modal obrigatório de pausa ou suporte.

iGaming: Jogo favorito

Path: game.volatilityNível de volatilidade do jogo favorito do visitante.Valores: low · medium · highComo é calculado: Derivado do atributo de catálogo do jogo (configurado na integração).Uso: Personalizar sugestões de jogos. Visitantes com histórico de alert80Triggered e jogo de volatilidade high têm maior risco de frustração.

iGaming: Apostas — comportamento e frustração

Path: betting.tierClassifica o jogador por volume total apostado.Como é calculado: Com base em betting.totalBetAmount:
TierFaixaPerfil
casualAté R$ 1.000Jogador esporádico
regularR1.000aR 1.000 a R 10.000Jogador consistente
high_rollerR10.000aR 10.000 a R 100.000Alto volume de apostas
whaleAcima de R$ 100.000Volume máximo, tratamento premium
Atualização: Diária.
Tier de Aposta (betting.tier) é diferente de Tier de Depósitos (deposits.tier). O primeiro mede volume apostado; o segundo mede valor depositado. Um jogador pode ser high_roller em apostas e low em depósitos se jogar com freespins.
Path: betting.winRatePercentual de rodadas ganhas sobre o total de apostas.Fórmula: betting.winCount ÷ betting.betCount × 100Atualização: Diária.Uso: Jogadores com winRate abaixo de 15% estão perdendo consistentemente, indicador de possível frustração acumulada.
Path: betting.frustration.isOnLosingStreakIndica se o jogador teve mais de 3 perdas na última hora.Lógica: betting.last1h.lossCount > 3Atualização: RT, janela de 1 hora.Uso: Acionar intervenção imediata de jogo responsável ou oferta de freespin para reverter o humor.
Path: betting.frustration.levelClassifica o grau de frustração do jogador com base em perdas recentes.Como é calculado: Com base em betting.last1h.lossCount:
NívelPerdas na última horaProtocolo
none0 a 3Nenhuma ação
mild3 a 8Monitorar
moderate8 a 15Exibir mensagem de pausa
high15 a 30Modal de jogo responsável
criticalAcima de 30Intervenção obrigatória
Atualização: RT, janela de 1 hora.
Path: betting.frustration.sessionResultAvalia se o jogador está ganhando ou perdendo na sessão atual com base no GGR.Como é calculado: Com base em betting.last24h.ggr (GGR negativo = jogador ganhando; positivo = operador ganhando):
ResultadoGGR 24hInterpretação
winningAbaixo de -R$ 10Jogador está ganhando
breaking_evenEntre -R10eR 10 e R 10Neutro
losing_mildR10aR 10 a R 100Perdendo levemente
losing_heavyAcima de R$ 100Perdendo pesado
Atualização: RT.
Path: betting.experience.satisfactionEstimativa da satisfação do jogador com a experiência de jogo, baseada no winRate histórico.Como é calculado: Com base em betting.winRate:
NívelWin RateEstado estimado
frustrated0% a 15%Perdendo consistentemente
dissatisfied15% a 30%Abaixo do esperado
neutral30% a 45%Neutro
satisfied45% a 60%Experiência positiva
delightedAcima de 60%Muito satisfeito
Atualização: Diária.Uso: Personalizar o tom das comunicações. Não ofereça “venha jogar mais!” para jogadores frustrated.

Outputs

Calculados pela plataforma combinando múltiplos campos com pesos definidos. São os campos mais sofisticados: não descrevem o que aconteceu, mas recomendam o que fazer.

Intenção — probabilidade de conversão

Path: intention.scoreProbabilidade de o visitante converter (depositar, se registrar, ou realizar a ação principal do negócio).Como é calculado: Score ponderado combinando:
FatorPesoLógica
Stage do visitanteAltoftd e mtd pontuam mais que anonymous
Recência de sessãoAltoSessão nas últimas 24h vale mais
Sessões por semanaMédioFrequência indica interesse ativo
Duração das sessõesMédioSessões longas = engajamento real
Diversidade de páginasMédioExplorar muitas páginas = intenção de compra
Atualização: Diária.
FaixaNívelEstratégia
70-100AltoConverter imediatamente com oferta direta
40-69MédioNutrir com conteúdo relevante
0-39BaixoNão pressionar; engajamento leve
O Score de Intenção é calculado uma vez por dia. Para condições em tempo real (visitante está na tela de depósito agora), combine com Páginas da Última Sessão.
Path: intention.levelVersão simplificada do score em 3 categorias.Valores: high (score ≥ 70) · medium (40–69) · low (< 40)Uso: Ideal para condições diretas em regras sem precisar calibrar thresholds numéricos.
Path: intention.nextStepPróximo passo esperado do visitante no funil.Exemplos de valores: first_deposit · second_depositUso: Exibir em painéis de CRM para orientar abordagens personalizadas por estágio.

Tags — rótulos dinâmicos

Path: tagsArray de rótulos aplicados ao visitante via regras, jornadas ou manualmente.Como é preenchido: Adicionadas e removidas pelas ações definidas nas suas jornadas e regras.Atualização: Em tempo real, sempre que uma ação de tag é executada.
OperaçãoExemplo
Tem Tagtags contém “vip”
Não Tem Tagtags não contém “bonus_elegivel”
Exemplos de tags comuns:
TagQuando aplicar
vipTotal Depositado > R$ 2.000
churn_riskDias Desde Último Depósito > 30
bonus_elegivelSem depósito nos últimos 7 dias
onboarding_completoStage = mtd
jogo_responsavelalert80Triggered = verdadeiro

iGaming: Valor e retenção do jogador — betting

Path: betting.playerValue.scoreAvalia o valor financeiro real do jogador para a operação com base em GGR e frequência.Inputs: GGR total (40%), quantidade de apostas (30%), apostado nas últimas 24h (30%).Atualização: Diária.
Path: betting.playerValue.tierClassificação VIP derivada do Score de Valor do Jogador.
TierScoreBenefício sugerido
bronze0-20Acesso básico
silver20-40Bônus mensais
gold40-60Cashback e suporte prioritário
platinum60-80Gerente de conta + exclusivos
diamond80-100Tratamento máximo
Atualização: Diária.
Path: betting.retention.churnRiskScore de risco de abandono específico para comportamento de apostas. Quanto maior, maior o risco.Inputs: Nível de frustração (35%), dias inativo (30%), satisfação estimada (20%), volume apostado nas últimas 5 semanas (15%).
ScoreNívelAção
0-24safeNenhuma ação
25-49watchMonitorar
50-74dangerJornada de retenção
75-100criticalIntervenção imediata
Atualização: Diária.
Path: betting.retention.churnLevelClassificação do risco de churn derivada de betting.retention.churnRisk.Valores: safe · watch · danger · criticalUso: Mais simples de usar em condições de jornada que o score numérico.
Path: betting.retention.urgencyDefine com que urgência o time de CRM deve agir para reter o jogador.Como é calculado: Combina betting.retention.churnLevel com betting.playerValue.tier.
ValorInterpretação
no_actionNenhuma ação necessária agora
monitorAcompanhar nos próximos dias
act_soonAgir nos próximos dias
act_nowAção imediata necessária
Atualização: Diária.
Path: betting.retention.bestActionAção de retenção recomendada com base no perfil de frustração e valor do jogador.Como é calculado: Combina betting.frustration.level, betting.playerValue.tier e betting.retention.churnLevel.
ValorQuando usar
bonus_offerJogador regular com churn moderado
freespin_offerJogador frustrado com frustração moderate
cashbackHigh roller ou whale com churn alto
personal_contactTier platinum ou diamond com urgência act_now
vip_upgradeJogador prestes a subir de tier
no_actionNenhuma ação necessária
Atualização: Diária.
Path: betting.nextBestAction.actionDescrição textual da ação recomendada pelo engine de decisão.Como é calculado: Derivado de betting.retention.bestAction combinado com betting.frustration.level.Uso: Exibir em painéis de CRM para orientar agentes no contato com o jogador.
Path: betting.nextBestAction.channelCanal ideal para executar a ação de retenção.Como é calculado: Combina betting.frustration.level com betting.retention.urgency.
ValorCanal
onsite_modalModal exibido na plataforma enquanto o jogador está ativo
pushNotificação push no dispositivo
smsMensagem de texto
emailEmail
whatsappWhatsApp
Atualização: Diária.
Path: betting.nextBestAction.timingTiming recomendado para executar a ação de retenção.
ValorInterpretação
immediateAgir agora, ainda na sessão
next_sessionNa próxima vez que o jogador entrar
next_dayNas próximas 24 horas
next_weekNa próxima semana
Como é calculado: Derivado de betting.retention.urgency.Atualização: Diária.

Sinais customizados

Além dos sinais do sistema, você pode criar seus próprios sinais no Painel de Ontologia para capturar lógicas de negócio específicas da sua operação.
1

Acesse Estrutura de automações no menu lateral

Navegue até o Painel de Ontologia dentro de Estrutura de automações.
2

Crie um novo Sinal

Defina o nome, tipo de resultado (sim/não, número, texto ou lista) e a fórmula de cálculo.
3

Defina as condições

Configure a lógica usando os campos existentes. Exemplo: deposits.total > 1000 E deposits.trend = decreasing → vip_decline_flag = verdadeiro.
4

Ative o sinal

Após salvar, o sinal é calculado automaticamente para todos os visitantes da sua empresa.
Sinais customizados ficam no namespace signals.* do perfil. Regra fundamental: Outputs nunca podem ser usados como base de um sinal customizado. Use apenas Atributos, Agregados e outros Sinais.

Campos customizados

Além dos campos do sistema, você pode criar campos próprios para armazenar dados específicos do seu negócio via integração.
1

Acesse Estrutura de automações no menu lateral

Clique em Estrutura de automações para ver a ontologia completa da sua empresa.
2

Abra o Painel de Ontologia

Na aba Painel de Ontologia, veja todos os campos disponíveis organizados por grupo, com tipo, descrição e se pode ser usado em regras.
3

Crie campos customizados

Clique em Novo Campo para adicionar campos específicos do seu negócio. Escolha o tipo de dado (texto, número, sim/não, lista) e o grupo.
Campos customizados precisam ser preenchidos via integração (API ou tracker com evento customizado). Eles não são calculados automaticamente.

Como usar campos em condições

Ao criar uma regra ou condição no Construtor de Fluxos:
1

Selecione o tipo de condição

Escolha Atributo de Perfil para usar qualquer campo da ontologia.
2

Escolha o campo

Os campos são organizados por grupo (Financeiro, Comportamento, Apostas, etc.). Campos iGaming só aparecem para empresas na vertical bets.
3

Defina o operador

Campos numéricos: igual a, maior que, menor que, entre. Campos enum: é um de, não é. Campos array: contém, não contém.
4

Informe o valor

Para campos enum e tier, as opções aparecem automaticamente. Para campos numéricos, insira o valor manualmente.

Exemplos práticos

Condição: stage = registered E intention.score > 65 E deposits.daysSinceLastDeposit = 0 (nunca depositou)Ação: Exibir modal com oferta de bônus no primeiro depósito personalizada com {{ game.name }}.
Condição: balanceRealtime.alert80Triggered = verdadeiro OU betting.frustration.level = criticalAção: Exibir modal obrigatório de pausa. Canal: onsite_modal. Timing: immediate.
Condição: deposits.tier = high E deposits.daysSinceLastDeposit > 14 E deposits.trend = decreasingAção: Acionar betting.retention.bestAction. Se = cashback, enviar oferta via betting.nextBestAction.channel.
Condição: betting.frustration.level = moderate E betting.playerValue.tier = goldAção: Exibir modal com oferta de freespins no {{ favoriteGame.name }}. Canal: onsite_modal.
Condição: betting.playerValue.tier = platinum E betting.retention.urgency = no_action E deposits.trend = increasingAção: Exibir convite para programa Diamond com benefícios exclusivos.
Condição: Hora atual = bestTime.bestHour E deposits.daysSinceLastDeposit > 7Ação: Enviar SMS: “Olá, {{ contact.firstName }}! Você costuma jogar por volta desta hora. Temos uma oferta esperando por você.”

Onde a ontologia aparece na plataforma

Regras e Condições

Todos os campos selecionáveis aparecem no Construtor de Fluxos e na página de Regras, organizados por grupo.

Personalização de Templates

Campos com variável Liquid (ex: {{ contact.firstName }}, {{ game.name }}, {{ favoriteGame.url }}) podem ser usados em modais, smart blocks, SMS e emails.

Audiência

Qualquer campo pode ser critério de segmentação. Visitantes são classificados em tempo real conforme os critérios definidos.

Painel de Ontologia

Em Estrutura de automações, visualize todos os campos por grupo, tipo e origem. Crie sinais e campos customizados.

Próximos passos

Personalização com Variáveis

Use os campos do perfil para personalizar mensagens em modais, emails e SMS com variáveis Liquid.

Jornadas

Crie automações visuais usando os campos e sinais como condições no Construtor de Fluxos.