Rastreamento de visitantes
Como a Nevox mede visitas, eventos e conversões no seu site e app, com consentimento e privacidade.
O mesmo script do widget, com a chave pública, mede as visitas ao seu site. Não precisa de outro código. Os números aparecem em análise.
<script
src="https://nevox.ai/widget.js"
data-key="nvx_pk_live_..."
data-agent="agt_8f2k1x"
data-track="true"
data-consent="auto"
async
></script>Quer medir o site sem mostrar o chat numa página? Use data-widget="false".
O que é medido automaticamente
| Evento | Quando |
|---|---|
page_view | Cada página aberta, incluindo trocas de rota em apps de página única (React, Next.js, Vue) |
session_start | Início de uma visita, com origem, UTMs e página de entrada (calculado: a visita termina depois de 30 minutos sem atividade) |
widget_open | O visitante abriu o chat |
conversation_start | Primeira mensagem do visitante |
lead | O visitante deixou telefone ou email, ou foi qualificado pelo agente (calculado a partir das conversas, na análise) |
appointment_requested | O agente coletou um pedido de horário (calculado a partir da agenda, na análise) |
handoff | A conversa foi para a sua equipe |
Junto com cada evento vão: página (só o caminho, sem os parâmetros da URL, que podem ter dados pessoais), título, referência (de onde veio), UTMs, tipo de dispositivo, navegador, sistema e idioma. Não coletamos o conteúdo de formulários, o que a pessoa digita fora do chat nem cliques em geral.
Eventos personalizados e conversões
Nevox.track("plano_visualizado", { plano: "familia" });
Nevox.track("consulta_paga", {
value: 8900, // centavos
currency: "USD",
order_id: "ped_5531"
});- Nomes: letras minúsculas, números e
_, até 64 caracteres. - Propriedades: até 20, com valores string, número ou booleano.
value(em centavos) ecurrencynas propriedades viram o valor da conversão.- Para um evento contar como conversão, marque o nome dele em Painel → Análise → Conversões.
Identificar um visitante
Quando o visitante faz login ou se cadastra, ligue o visitante ao contato:
Nevox.identify("paciente_1042", { name: "Maria Souza", email: "maria@exemplo.com" });A partir daí, as visitas anteriores e as futuras desse navegador entram na linha do tempo do contato, e a Nevox dispara o webhook visitor.identified.
Se você já usa o token de sessão no widget, a identificação é automática.
Eventos enviados pelo seu servidor
Algumas conversões acontecem fora do navegador: um pagamento confirmado, uma consulta realizada, um contrato assinado. Envie pelo servidor:
POST /v1/events · escopo events:write
curl https://api.nevox.ai/v1/events \
-H "Authorization: Bearer $NEVOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"events": [
{
"name": "consulta_paga",
"contact_external_id": "paciente_1042",
"occurred_at": "2026-11-03T15:00:00Z",
"value": 8900,
"currency": "USD",
"properties": { "order_id": "ped_5531" },
"dedupe_key": "ped_5531"
}
]
}'{ "accepted": 1, "rejected": [] }- Até 100 eventos por chamada.
- Identifique a pessoa com
contact_external_idouvisitor_id. dedupe_keyevita contar o mesmo evento duas vezes (por 7 dias).occurred_ataceita até 7 dias no passado.- Conta no limite mensal de eventos do plano (Pro - 3 Agentes: 10.000; Ultimate - 5 Agentes: 100.000). Eventos de chave de teste não contam.
- A resposta lista os eventos recusados, com o motivo (
duplicate,contact_not_found,invalid_param), sem recusar o lote inteiro.
Consentimento
Você escolhe como o rastreamento se comporta antes de o visitante aceitar cookies:
data-consent | Antes do consentimento | Depois de Nevox.consent("granted") |
|---|---|---|
auto (padrão) | Mede de forma anônima e sem cookies: as visitas entram nas contagens, mas a mesma pessoa não é reconhecida em outro dia | Identificador persistente no navegador; visitante aparece individualmente |
required | Não mede nada | Identificador persistente |
granted | Você já coletou o consentimento no seu próprio banner | — |
Ligue a Nevox ao seu banner de cookies:
meuBanner.onAccept(() => Nevox.consent("granted"));
meuBanner.onReject(() => Nevox.consent("denied"));Nevox.consent("denied") apaga o identificador do navegador e volta para o modo anônimo (ou para nenhum rastreamento, em required).
O chat funciona normalmente em todos os modos. Conversar com o agente não depende de consentimento de cookies.
Privacidade
- IP: usado só para calcular país, estado e cidade, e descartado em seguida. Nunca é gravado.
- Modo anônimo: usa um identificador diário calculado com um valor secreto que muda todo dia e é apagado. Não dá para reconstruir quem é a pessoa.
- Sinais do navegador: respeitamos o Global Privacy Control (GPC). Com GPC ativo, o visitante fica no modo anônimo.
- Robôs: acessos de robôs e rastreadores conhecidos são descartados.
- Identificador persistente: fica no armazenamento do seu próprio domínio (
nvx_vid), por até 13 meses. - Retenção: os eventos ficam guardados pelo tempo do seu plano (Pro - 3 Agentes: 90 dias; Ultimate - 5 Agentes: 13 meses) e depois são apagados. As contagens diárias agregadas, que não identificam ninguém, são mantidas.
- Exclusão:
DELETE /v1/contacts/{external_id}apaga também os eventos ligados ao contato.
identify informações como diagnósticos, documentos, números de cartão ou senhas. Veja segurança e privacidade.Envio direto (avançado)
O script envia os eventos para POST https://api.nevox.ai/v1/collect com a chave pública. Você normalmente não precisa chamar esse endpoint. Se o seu app não roda o script (ex.: um app nativo), use os eventos pelo servidor.