capture('nome', props)
nos pontos-chave do funil de negócio.
Visão rápida
Eventos de sessão
session.started
Início da sessão. Dispara 1× na primeira interação. Carrega contexto inicial.
Payload exemplo
session.heartbeat
Sinaliza usuário online. Disparado a cada 30s com aba ativa, pausa quando aba está em background.
session.ended
Fim da sessão por inatividade ou unload da página.
Eventos de pageview
page.viewed
Pageview inicial + SPA navigation (intercepta pushState/replaceState/hashchange).
page.left
Antes da navegação para outra rota. Carrega tempo na página.
Eventos de interação
ig.autocapture
Click / change / submit em <a>, <button>, <input>, <form>, <select>,
<textarea>, <label> e elementos com role="button". Carrega o selector
chain completo do elemento.
rage.click
≥3 cliques em 2s no mesmo target (raio 30px). Indica frustração de UX.
Excluir botões +/- de aposta com classe .ig-no-rageclick.
dead.click
Click em elemento que não causou mutação DOM em 3s. Indica botão quebrado /
CTA sem handler / link com href="#" esquecido.
scroll.depth
Marcos 25 / 50 / 75 / 100% da página. 1× por marco por rota por sessão (não
duplica em SPA navigation entre rotas).
heatmap.click
Coordenadas XY de cada clique. Disparado em 10% das sessões (sampling
determinístico por hash do session_id). Configurável via heatmap.sampleRate.
Eventos de performance e erro
web.vitals
Core Web Vitals reportados pela lib web-vitals (Google). Um evento por
métrica por pageview.
error.occurred
Captura window.onerror e unhandledrejection. Stack trace sanitizada
(redact de query strings em URLs — pode conter tokens).
'runtime' (Error event), 'unhandled_promise' (PromiseRejectionEvent).
Eventos de identidade
user.identified
Disparado quando você chama iGamingSDK.identify(distinctId, traits).
source pode ser 'manual' (identify direto), 'alias' ou 'datalayer'
(fallback automático via DataLayerSpy quando operador esquece de chamar identify).
feature_flag.called
Disparado em cada iGamingSDK.getFeatureFlag(key).
Eventos custom
Usecapture('event.name', props) para qualquer evento de negócio. O nome é
livre. Convenção: namespace.action em minúsculas separadas por ponto.
Eventos recomendados para iGaming
Exemplo — funil de depósito
Forçar envio imediato
O SDK enfileira eventos e flusha em batches de 50 OU a cada 30 segundos OU no unload. Para envios imediatos (ex: antes de redirect crítico):Validar no Kafka
Cada evento POSTado vira uma mensagem no tópicoatlas.sdk-events. Veja
no Kafka UI Atlas ou via consumer:
Próximos passos
- Configuração — controlar quais eventos auto-capturar
- Privacidade & LGPD — denylist, sanitize, classes CSS
- Identificar usuário — vincular comportamento ao user