API JavaScript (wt.track)
Referência completa da API JavaScript do WhaTrack para disparar eventos customizados de conversão diretamente no código do seu site ou aplicação.
API JavaScript — window.wt.track
Esta página é para desenvolvedores. Se você não escreve código, as integrações automáticas do WhaTrack já cobrem a maioria dos casos — consulte como instalar o pixel ou como o rastreamento do WhatsApp funciona.
Após instalar o wt.js, o objeto global window.wt fica disponível em todas as páginas. Ele expõe a função track para disparar eventos de conversão customizados.
Sintaxe
window.wt.track(eventName: string, params?: Record<string, unknown>): voidEventos padrão
Purchase
Disparar quando uma venda é confirmada:
window.wt.track('Purchase', {
value: 297.00,
currency: 'BRL',
orderId: 'PEDIDO-12345',
})| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
value | number | Não | Valor da venda em reais |
currency | string | Não | Código da moeda (padrão: BRL) |
orderId | string | Não | ID único do pedido para deduplicação |
InitiateContact
Disparar quando o usuário clica em um link do WhatsApp (automático para links wa.me, manual para botões customizados):
window.wt.track('InitiateContact', {
phone: '5511999999999',
})Lead
Disparar quando um formulário de captura é preenchido:
window.wt.track('Lead', {
email: '[email protected]',
name: 'Nome do Lead',
})PageView
O wt.js dispara PageView automaticamente no carregamento de cada página. Para SPAs (React, Vue, Next.js), dispare manualmente ao trocar de rota:
// React Router / Next.js router.events
window.wt.track('PageView')Eventos customizados
Você pode criar qualquer nome de evento personalizado:
window.wt.track('AssistirVideo', {
videoId: 'webinar-produto',
segundos: 120,
})
window.wt.track('AbrirChat', {
origem: 'floating-button',
})Verificando se o script carregou
O wt.js carrega de forma assíncrona. Para garantir que window.wt existe antes de chamar track, use:
if (window.wt) {
window.wt.track('Purchase', { value: 97 })
} else {
// Script ainda carregando — enfileirar evento
window.wtQueue = window.wtQueue || []
window.wtQueue.push(['track', 'Purchase', { value: 97 }])
}O wt.js processa automaticamente a fila window.wtQueue após carregar.
Integração com Next.js App Router
Em aplicações Next.js com App Router, declare o tipo global e use em Client Components:
// types/wt.d.ts
declare global {
interface Window {
wt?: {
track: (event: string, params?: Record<string, unknown>) => void
}
}
}// components/checkout-button.tsx
'use client'
export function CheckoutButton() {
const handleSuccess = () => {
window.wt?.track('Purchase', {
value: 297,
currency: 'BRL',
})
}
return <button onClick={handleSuccess}>Finalizar compra</button>
}Depuração
Para ver todos os eventos disparados no console do navegador, ative o modo debug:
window.wt.debug = trueCom debug ativo, cada chamada a wt.track exibe no console:
- Nome do evento
- Parâmetros enviados
- Pixels que receberão o evento
- Status de envio
Próximos passos
Last updated on