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çãoTipoPadrãoDescrição
websiteIdstringObrigatório. Id do site alvo.
baseUrlstringhttps://dataxamas.izakdvlpr.comURL base da API.
replayEnabledbooleantruePermite replay de sessão, sujeito à configuração do servidor.
heatMapEnabledbooleantrueColeta coordenadas de mapa de calor nos cliques.
allowLocalhostbooleanfalsePermite 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_VIEWna inicialização e em mudanças de rota de SPA, verificadas a cada 500 ms.
  • CLICKtagName, 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.
  • SCROLLporcentagem 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.