DataxamasTracking
Coletor de web analytics. Somente no browser. Disponível como client.tracking ou de forma standalone.
tracking.ts
import { DataxamasTracking } from "dataxamas";
const tracking = new DataxamasTracking({ websiteId: "your-website-id" });
tracking.start();Opções
DataxamasTrackingOptions
| Opção | Tipo | Padrão | Descrição |
|---|---|---|---|
websiteId | string | — | Obrigatório. Id do site alvo. |
baseUrl | string | https://dataxamas.izakdvlpr.com | URL base da API. |
replayEnabled | boolean | true | Permite replay de sessão, sujeito à configuração do servidor. |
heatMapEnabled | boolean | true | Coleta coordenadas de mapa de calor nos cliques. |
allowLocalhost | boolean | false | Permite tracking em localhost e 127.0.0.1. |
start()
Começa a coletar. Espera o DOMContentLoaded se o documento ainda estiver carregando, e então rastreia:
PAGE_VIEW— na inicialização e em mudanças de rota de SPA, verificadas a cada 500 ms.CLICK— tagName, texto, href, id e classes do elemento, mais as coordenadas de mapa de calor — proporções do viewport, offsets de rolagem, fingerprint de layout — quando heatMapEnabled está ativo.SCROLL— porcentagem de profundidade de rolagem, com debounce.
Os eventos são enfileirados e enviados para POST /api/websites/events com espaçamento de 4s. Um id de sessão do visitante é gerado uma vez e guardado no localStorage em @dataxamas/session.
Se replayEnabled estiver ativo e a configuração do servidor permitir, o replay de sessão começa: o rrweb é importado sob demanda e as gravações vão para POST /api/websites/{websiteId}/replay.
Notas de comportamento
- Lança "DataxamasTracking: This SDK can only be used in a browser environment." quando chamado no servidor.
- Não faz nada em localhost e 127.0.0.1 a menos que allowLocalhost seja true, então o tráfego de desenvolvimento não é gravado por padrão.
Privacidade no replay
Marque o DOM sensível para mantê-lo fora das gravações:
class="dx-mask"— mascara o texto do elemento.class="dx-block"— bloqueia o elemento por completo.
Todos os inputs são mascarados por padrão.