Skip to content
Nesta página

Rastreamento de conversões

O Revolink pode rastrear o que os visitantes fazem depois de clicar no seu link: cadastros, compras, leads, visualizações de página e qualquer evento personalizado que você definir. Os resultados são exibidos por link, regra de roteamento e variante A/B, para você saber exatamente qual variação gera mais resultados.

Este guia cobre: configurar o rastreamento, instalar o SDK, rastrear eventos e ler os dados.


Como funciona

Quando um visitante clica no seu link do Revolink, o SDK detecta que a visita veio do seu link e inicia uma sessão. Todos os eventos disparados durante essa sessão são atribuídos ao link (e à regra de roteamento ou variante A/B específica com a qual o visitante correspondeu).

A atribuição começa pelo link

O SDK só rastreia eventos de visitantes que chegaram por um link do Revolink. Se alguém abrir o seu site diretamente, sem clicar em um link do Revolink, os eventos dessa pessoa não são contados. Isso mantém seus dados limpos e a atribuição precisa.


Passo 1 — Gere a chave do seu espaço de trabalho

Vá em Configurações do workspace → Rastreamento de conversões.

Rastreamento de conversões: estado vazio com o botão Gerar chave

Clique em Gerar chave. O Revolink gera uma chave exclusiva para o seu espaço de trabalho e mostra o trecho de instalação.

Rastreamento de conversões: trecho de script e HMAC Secret depois de gerar a chave


Passo 2 — Instale o script

Copie o trecho do script e cole-o no <head> de cada página que você quer rastrear, normalmente no arquivo de layout global.

html
<script src="https://cdn.revolink.link/sdk/conversion.js"
        data-workspace-key="YOUR_KEY"></script>

Substitua YOUR_KEY pela sua chave real (ela já vem preenchida no trecho das suas configurações).

Uma chave por espaço de trabalho

A chave pertence ao espaço de trabalho. Se você usa vários espaços de trabalho, cada um tem a sua própria chave: use a correta para cada site.


O que o SDK rastreia automaticamente

Depois de instalado, o SDK rastreia estes eventos sem nenhum código extra, mas apenas para visitantes que chegaram por um link do Revolink:

page_view

Disparado assim que o visitante abre a página. É o primeiro evento de qualquer sessão: confirma que a atribuição foi captada corretamente. Enviado por fetch para que o SDK possa detectar uma chave de espaço de trabalho inválida e suprimir o rastreamento seguinte, se necessário.

scroll_depth

Disparado quando o visitante sai da página (a aba fica oculta ou o navegador fecha). Captura o percentual máximo de rolagem alcançado durante a sessão, agrupado em 25, 50, 75 ou 100. Apenas valores diferentes de zero são enviados.

Usa upsert: se o visitante voltar à mesma página na mesma sessão, o valor é atualizado em vez de inserir um novo registro.

time_on_page

Disparado junto com scroll_depth quando a página é ocultada. Conta só o tempo em que a aba esteve de fato visível: trocar para outra aba pausa o cronômetro. O valor é em segundos.

Também usa upsert, então ir e voltar entre abas se acumula em um único registro por página e por sessão.

outbound_click

Disparado sempre que o visitante clica em um link (<a href>) que aponta para outro domínio. Captura o href completo como metadata.url. Útil para entender quais links externos os visitantes mais clicam.

Eventos de engajamento e cotas

scroll_depth, time_on_page e outbound_click não contam para a cota mensal de conversões do seu plano. Só os eventos explícitos contam.


Todos os eventos disponíveis

Automáticos (rastreados pelo SDK)

EventoDisparado quandoConta para a cota
page_viewA página carrega e o visitante veio por um link do RevolinkSim
scroll_depthO visitante sai da páginaNão
time_on_pageO visitante sai da páginaNão
outbound_clickO visitante clica em um link para um domínio externoNão

Padrão (rastreie manualmente, recomendado)

Use estes nomes para eventos que correspondem a etapas comuns do funil. Eles aparecem nos cartões prontos do painel (leads, vendas, receita).

EventoQuando dispararSuporta value/currency
leadFormulário de contato enviado, e-mail capturadoNão
complete_registrationNova conta criadaNão
initiate_checkoutPágina de checkout abertaNão
subscribeAssinatura iniciadaSim
purchasePagamento concluídoSim
view_contentPágina de conteúdo-chave vista (produto, preços)Não

Lógica do funil

lead tem deduplicação: se a mesma combinação de sessão + link já tiver um evento lead, um segundo não é inserido. Isso evita contagem em dobro por reenvios de formulário. Eventos personalizados com countAs: 'lead' recebem a mesma deduplicação.

Eventos que têm value definido (inclusive com nomes fora do padrão) são contados como vendas no painel.

Eventos personalizados

Você pode disparar qualquer nome de evento de até 64 caracteres. Eventos personalizados aparecem no detalhamento por evento da página Conversões, junto com os padrão. Eles contam para a sua cota mensal.

js
revolink.track('video_played');
revolink.track('calculator_used', { tool: 'roi' });
revolink.track('coupon_applied', { code: 'SUMMER10' }, 0, 'USD');

Por padrão, eventos personalizados aparecem como cliques no resumo do painel (contagens de Leads / Vendas). Para que contem como leads ou vendas, adicione countAs aos metadados:

js
revolink.track('signup_completed', { countAs: 'lead' });
revolink.track('order_placed', { countAs: 'sale' }, 59.99, 'USD');

Valores permitidos: 'lead', 'sale'. Se countAs for omitido, o evento conta como clique (padrão).


Rastreamento por atributos HTML

Sem precisar de JavaScript: adicione data-revolink-action a qualquer elemento e o SDK dispara o evento automaticamente quando o elemento é clicado:

html
<button
  data-revolink-action="purchase"
  data-revolink-value="49.99"
  data-revolink-currency="USD"
  data-revolink-metadata='{"plan":"pro"}'>
  Buy now
</button>
AtributoObrigatórioDescrição
data-revolink-actionSimNome do evento a disparar
data-revolink-valueNãoValor monetário (número)
data-revolink-currencyNãoCódigo de moeda de 3 letras
data-revolink-metadataNãoObjeto JSON com dados extras (até 10 chaves)

Identificação de usuários

Chame revolink.setUser() antes de rastrear eventos para anexar um identificador a cada evento. Isso melhora a atribuição quando a mesma pessoa visita por vários dispositivos ou em várias sessões.

js
revolink.setUser({
  userId: 'user_123',         // your internal user ID
  hashedEmail: sha256(email)  // SHA-256 hash of the email, never raw
});

Nunca envie o e-mail em texto puro

Sempre aplique hash SHA-256 ao e-mail antes de enviá-lo. O Revolink armazena apenas o hashedEmail e não consegue revertê-lo.

Depois de chamar setUser, todas as chamadas seguintes de revolink.track() nessa sessão incluem os identificadores.


Rastreamento no servidor

Enviar eventos do seu backend contorna bloqueadores de anúncios e o ITP (Intelligent Tracking Prevention). Use para eventos de alto valor, como compras, em que a precisão importa mais.

Endpoint: POST /apiv1/track-conversion
Autenticação: Authorization: Bearer YOUR_KEY

Para se proteger de requisições falsificadas, o Revolink suporta assinatura de requisições com HMAC. O seu segredo HMAC aparece na aba Rastreamento de conversões, em HMAC Secret.

js
// Node.js example
const crypto = require('crypto');

const payload = JSON.stringify({
  event: 'purchase',
  value: 49.99,
  currency: 'USD',
  userId: 'user_123',
  linkSlug: 'my-campaign'  // optional — attribute to a specific link
});

const signature = crypto
  .createHmac('sha256', HMAC_SECRET)
  .update(payload)
  .digest('hex');

fetch('https://api.revolink.link/apiv1/track-conversion', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer YOUR_KEY`,
    'X-Revolink-Signature': signature
  },
  body: payload
});

Campos do corpo:

CampoTipoDescrição
eventstringNome do evento (obrigatório)
valuenumberValor monetário
currencystringCódigo de moeda ISO de 3 letras
sessionIdstringID da sessão (para vincular a uma sessão do navegador)
userIdstringSeu ID de usuário interno
hashedEmailstringHash SHA-256 do e-mail do usuário
linkSlugstringSlug do link do Revolink ao qual atribuir este evento
ruleIdstringID da regra de roteamento (para atribuição no nível da regra)
abVariantIdstringID da variante A/B (para atribuição no nível A/B)
metadataobjectDados personalizados chave/valor (até 10 chaves, 64 caracteres cada). Defina countAs: 'lead' ou countAs: 'sale' para controlar como um evento personalizado é contado nos resumos do painel.
pagestringURL da página onde o evento ocorreu
referrerstringURL do referenciador

Se conversionHmacSecret estiver definido no seu espaço de trabalho, o cabeçalho X-Revolink-Signature é obrigatório: requisições sem assinatura válida são rejeitadas.


Ver os dados de conversão

Vá à seção Conversões na navegação à esquerda.

Página Conversões: aba Eventos

A página tem duas abas:

Aba Eventos

Mostra todos os eventos rastreados (exceto os eventos automáticos de engajamento).

No topo: métricas de resumo: total de conversões, contagem de leads, contagem de vendas e receita por moeda.

Abaixo: um gráfico de conversões no período selecionado e uma tabela de eventos individuais com nome do evento, dispositivo, página, valor e carimbo de data/hora.

Filtros: restrinja os dados por nome do evento, tipo de dispositivo, moeda, valor ou slug do link.

Aba Engajamento

Página Conversões: aba Engajamento

Mostra as métricas automáticas de engajamento:

  • Profundidade de rolagem: distribuição de até onde os visitantes rolaram (25%, 50%, 75%, 100%)
  • Tempo na página: detalhamento das sessões por duração: menos de 30 s, 30–60 s, mais de 60 s; além da média
  • Cliques de saída: principais URLs externas clicadas, com a contagem

Cada evento é atribuído ao link, à regra de roteamento e à variante A/B específicos com os quais o visitante correspondeu ao clicar no seu link.

Você pode ver esse detalhamento em:

  • Análise do link: abra qualquer link, vá à aba Análise e role até Conversões para ver os eventos atribuídos a esse link
  • Página Conversões: filtre por link para ver apenas os eventos de uma campanha específica

Análise do link: detalhamento das conversões por regra e variante A/B

Se você executa um teste A/B ou regras de roteamento em um link, os dados de conversão mostram os resultados por regra e por variante, para comparar diretamente qual versão converte melhor.


Regenerar a chave

Você pode regenerar a chave do seu espaço de trabalho a qualquer momento em Configurações do workspace → Rastreamento de conversões (apenas para proprietários do espaço de trabalho).

Atualize a tag do script imediatamente

Depois de regenerar, a chave antiga deixa de funcionar. Qualquer página que ainda use a chave antiga registrará um aviso no console do navegador e deixará de rastrear. Atualize o atributo data-workspace-key da sua tag de script em todas as páginas o quanto antes.

Rastreamento de conversões: botão Regenerar chave e banner de aviso


Limites do plano

Cada plano inclui uma cota mensal de eventos de conversão. Eventos de engajamento (scroll_depth, time_on_page, outbound_click) não contam para a cota; só os eventos explícitos contam.

Quando a cota é atingida, novos eventos são rejeitados com HTTP 429 e você recebe uma notificação. Os eventos existentes são preservados. A cota é renovada no seu ciclo de cobrança.


Perguntas frequentes

O SDK rastreia visitantes que não vieram de um link do Revolink?
Não. O SDK procura um cookie de atribuição do Revolink (_rvl_rl). Se ele não existir, o SDK sai imediatamente e não rastreia nada. É de propósito: só o tráfego originado dos seus links é contado.

O que acontece se um visitante bloquear o JavaScript ou usar um bloqueador de anúncios?
Os eventos do SDK no navegador serão bloqueados. Use o rastreamento no servidor para eventos de alto valor que você não pode perder.

Posso rastrear o mesmo evento pelo SDK do navegador e pelo servidor?
Pode, mas é possível contar a mesma conversão duas vezes. Use sessionId no evento do servidor para associá-lo à sessão do navegador e mantenha sua lógica consistente.

Os dados de e-mail são armazenados com segurança?
O Revolink nunca armazena e-mails em texto puro. Só o hash SHA-256 é armazenado. Você mesmo deve aplicar o hash ao e-mail antes de chamar revolink.setUser() ou de incluí-lo em um evento do servidor.

O que é a assinatura HMAC e eu preciso dela?
A assinatura HMAC permite que o Revolink verifique que os eventos do servidor foram enviados pelo seu backend e não são falsificados. Se o seu espaço de trabalho tiver um segredo HMAC configurado, toda requisição do servidor deve incluir o cabeçalho X-Revolink-Signature. É fortemente recomendada em produção.

Posso enviar eventos monetários sem moeda?
Não. Se você enviar value sem currency (ou vice-versa), os dois campos são descartados silenciosamente. Envie sempre juntos.

Quais nomes de evento devo usar?
Use os nomes padrão (lead, purchase, subscribe, complete_registration, initiate_checkout) sempre que possível: eles correspondem aos funis prontos do painel. Nomes personalizados também funcionam, mas aparecem apenas no detalhamento «por evento».

Como faço um evento personalizado contar como lead ou venda?
Adicione countAs: 'lead' ou countAs: 'sale' aos metadados do evento. Isso informa ao Revolink como categorizar o evento no resumo de Leads/Vendas e nos gráficos do funil. Sem countAs, eventos personalizados são contados como cliques.

Quantas chaves de metadados posso anexar a um evento?
Até 10 chaves por evento. As chaves são truncadas em 64 caracteres. Os valores devem ser strings, números ou booleanos.