@trede/utms
v0.0.2
Published
Sistema de aplicação e persistência de UTMs e parâmetros de campanha. Garante que os parâmetros de URL (utm_source, gclid, fbclid, etc) sejam aplicados corretamente em links e formulários ao longo da navegação, mesmo em páginas dinâmicas.
Readme
🏷️ T3 UTMs Tracker
Sistema de aplicação e persistência de UTMs e parâmetros de campanha. Garante que os parâmetros de URL (utm_source, gclid, fbclid, etc) sejam aplicados corretamente em links e formulários ao longo da navegação, mesmo em páginas dinâmicas.
✅ Funcionalidades
- ✅ Captura e persistência de UTMs
- ✅ Aplicação automática em links e formulários
- ✅ Suporte a páginas dinâmicas (SPA)
- ✅ Retry automático para dom changes
- ✅ AutoInit via Script Tag com data-attributes
- ✅ Bloqueio anti-duplicação
- ✅ Modo debug com logs
✅ Instalação
npm install @trede/utms
# ou
yarn add @trede/utms
# ou
pnpm add @trede/utms✅ Uso Básico (TypeScript / ESM)
import { init } from "@trede/utms";
init({
enabled: true,
debug: true,
delay: 0,
});✅ Uso via Script Tag (AutoInit)
<script
src="https://cdn.jsdelivr.net/npm/@trede/utms/dist/index.global.js"
data-params-tracker
data-enabled="true"
data-debug="true"
data-delay="0">
</script>✅ Configuração (InitProps)
| Propriedade | Tipo | Padrão | Descrição |
|---|---|---|---|
| enabled | boolean | true | Ativa/desativa o tracker |
| delay | number | 0 | Delay antes de iniciar |
| debug | boolean | false | Ativa logs no console |
✅ API Pública
| Função | Descrição |
|---|---|
| init(config) | Inicializa o tracker |
| UTMSInit | Classe principal |
| waitForFirstUserInteraction(callback) | Aguarda interação |
| log() | Logger interno |
✅ Fluxo Interno
- Captura UTMs da URL
- Persiste localmente
- Aplica UTMs automaticamente em todos os links e formulários
- Observa DOM dinâmico (SPA)
- Faz retries periódicos para garantir consistência
✅ Desenvolvimento Local
pnpm install
pnpm build
pnpm dev✅ Estrutura Interna
src/
├── index.ts # Exportações principais
├── init.ts # Inicialização
├── types.ts # Tipos globais
└── utils/
├── applyUTMs.ts
├── domWatcher.ts
├── getParams.ts
├── log.ts
├── paramsTracker.ts
├── retryApply.ts
└── waitForFirstUserInteraction.ts✅ Licença
MIT
