Skip to main content
Tracking events não disparam conversa imediata. Eles são armazenados e analisados pelo Retuno para identificar padrões por cliente — quando um padrão muda significativamente (por exemplo, a frequência esperada de user.login despenca), um gatilho preditivo pode ser acionado automaticamente, antes que o cliente tome uma decisão de saída. O customer.phone é opcional em tracking events.

Como o Retuno usa tracking events

Eventos são indexados por customer.external_id dentro da sua organização. O Retuno infere frequência esperada por tipo de evento e por cliente; desvios significativos geram alertas preditivos que podem disparar o agente. Quanto mais completa for sua instrumentação, mais cedo o Retuno identifica risco.
EventoQuando enviar
user.createdNovo usuário criou conta no seu produto.
user.loginLogin de usuário.
onboarding.completedUsuário concluiu o onboarding do seu produto.
feature.usedUsuário usou uma feature relevante.
aha_moment.reachedUsuário atingiu o momento “aha” definido pelo seu time.
usage.threshold_crossedUso cruzou um limiar pré-definido.
support.ticket_openedUsuário abriu ticket de suporte.
support.ticket_resolvedTicket de suporte foi resolvido.
error.encounteredUsuário encontrou um erro relevante no seu produto.
feature.searched_not_foundUsuário procurou uma feature que não existe.
trial.startedTrial iniciado.
trial.ending_soonTrial está próximo de expirar.
plan.upgradedUsuário fez upgrade de plano.
payment.retriedNova tentativa de cobrança após falha.
payment.recoveredPagamento recuperado após falha.
invoice.generatedFatura gerada.
invoice.paidFatura paga.
user.invited_teammateUsuário convidou um colega.
nps.submittedUsuário respondeu NPS.
csat.submittedUsuário respondeu CSAT.
feedback.submittedUsuário deixou feedback aberto.
billing_page.visitedUsuário visitou a página de cobrança no seu produto.

Referência por evento

Os campos sugeridos de metadata são opcionais — o schema não exige nenhum campo aqui dentro — mas ajudam o Retuno a entender contexto quando um gatilho preditivo é acionado.

user.created

{
  "event": "user.created",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "source": "organic", "plan": "Starter" }
}
Sugestões: source (ex.: organic, paid, invite), plan.

user.login

{
  "event": "user.login",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "method": "password", "ip_country": "BR" }
}
Sugestões: method (password, sso, magic_link), ip_country (ISO-3166).

onboarding.completed

{
  "event": "onboarding.completed",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "duration_seconds": 420, "steps_completed": 7 }
}
Sugestões: duration_seconds, steps_completed.

feature.used

{
  "event": "feature.used",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "feature_name": "export_report", "context": "dashboard" }
}
Sugestões: feature_name, context.

aha_moment.reached

{
  "event": "aha_moment.reached",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "moment_id": "first_report_shared", "days_since_signup": 3 }
}
Sugestões: moment_id, days_since_signup.

usage.threshold_crossed

{
  "event": "usage.threshold_crossed",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "metric": "api_calls", "direction": "down", "value": 800, "threshold": 1000 }
}
Sugestões: metric, direction (up ou down), value, threshold.

support.ticket_opened

{
  "event": "support.ticket_opened",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "category": "billing", "priority": "high", "ticket_id": "TCK-9001" }
}
Sugestões: category, priority (low, medium, high, urgent), ticket_id.

support.ticket_resolved

{
  "event": "support.ticket_resolved",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "ticket_id": "TCK-9001", "resolution_time_minutes": 45, "satisfaction": 4 }
}
Sugestões: ticket_id, resolution_time_minutes, satisfaction (1–5, opcional).

error.encountered

{
  "event": "error.encountered",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "error_code": "E_EXPORT_TIMEOUT", "page": "/reports", "stack_hash": "a3f1c9" }
}
Sugestões: error_code, page, stack_hash.

feature.searched_not_found

{
  "event": "feature.searched_not_found",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "query": "integração com Asaas", "page": "/settings/integrations" }
}
Sugestões: query, page.

trial.started

{
  "event": "trial.started",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "trial_duration_days": 14 }
}
Sugestões: trial_duration_days.

trial.ending_soon

{
  "event": "trial.ending_soon",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "days_remaining": 3 }
}
Sugestões: days_remaining.

plan.upgraded

{
  "event": "plan.upgraded",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "from_plan": "Starter", "to_plan": "Pro", "from_value": 4900, "to_value": 9900 }
}
Sugestões: from_plan, to_plan, from_value (centavos), to_value (centavos).

payment.retried

{
  "event": "payment.retried",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "attempt_number": 3, "amount": 9900 }
}
Sugestões: attempt_number, amount (centavos).

payment.recovered

{
  "event": "payment.recovered",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "amount": 9900, "attempts_until_recovery": 3 }
}
Sugestões: amount (centavos), attempts_until_recovery.

invoice.generated

{
  "event": "invoice.generated",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "invoice_id": "INV-0042", "amount": 9900, "due_at": "2026-05-10T00:00:00.000Z" }
}
Sugestões: invoice_id, amount (centavos), due_at (ISO 8601).

invoice.paid

{
  "event": "invoice.paid",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "invoice_id": "INV-0042", "amount": 9900, "paid_at": "2026-05-05T11:20:00.000Z" }
}
Sugestões: invoice_id, amount (centavos), paid_at (ISO 8601).

user.invited_teammate

{
  "event": "user.invited_teammate",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "invited_email": "colega@empresa.com.br", "role": "member" }
}
Sugestões: invited_email, role.

nps.submitted

{
  "event": "nps.submitted",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "score": 8, "comment": "Ferramenta útil, mas faltam relatórios." }
}
Sugestões: score (0–10), comment (opcional).

csat.submitted

{
  "event": "csat.submitted",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "score": 4, "comment": "Atendimento rápido." }
}
Sugestões: score (1–5), comment (opcional).

feedback.submitted

{
  "event": "feedback.submitted",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "sentiment": "negative", "text": "A exportação demora demais em datasets grandes." }
}
Sugestões: sentiment (positive, neutral, negative), text.

billing_page.visited

{
  "event": "billing_page.visited",
  "customer": {
    "external_id": "usr_42",
    "name": "Maria Silva",
    "email": "maria@empresa.com.br"
  },
  "metadata": { "referrer": "header_menu", "time_on_page_seconds": 30 }
}
Sugestões: referrer, time_on_page_seconds.