Skip to content
En esta página

Seguimiento de conversiones

Revolink puede registrar lo que hacen los visitantes después de hacer clic en tu enlace: registros, compras, leads, visualizaciones de página y cualquier evento personalizado que definas. Los resultados se muestran desglosados por enlace, regla de enrutamiento y variante A/B, para que sepas exactamente qué variación da más resultados.

Esta guía cubre: configurar el seguimiento, instalar el SDK, registrar eventos y leer los datos.


Cómo funciona

Cuando un visitante hace clic en tu enlace de Revolink, el SDK detecta que la visita viene de tu enlace e inicia una sesión. Todos los eventos que se disparan durante esa sesión se atribuyen al enlace (y a la regla de enrutamiento o variante A/B concreta con la que coincidió el visitante).

La atribución empieza por el enlace

El SDK solo registra eventos de los visitantes que llegaron a través de un enlace de Revolink. Si alguien abre tu sitio web directamente, sin hacer clic en un enlace de Revolink, sus eventos no se cuentan. Así tus datos se mantienen limpios y la atribución es precisa.


Paso 1 — Genera la clave de tu espacio de trabajo

Ve a Configuración del espacio de trabajo → Seguimiento de conversiones.

Seguimiento de conversiones: estado vacío con el botón Generar clave

Haz clic en Generar clave. Revolink genera una clave única para tu espacio de trabajo y te muestra el fragmento de instalación.

Seguimiento de conversiones: fragmento de script y HMAC Secret tras generar la clave


Paso 2 — Instala el script

Copia el fragmento de script y pégalo en el <head> de cada página que quieras rastrear, normalmente en tu archivo de diseño global.

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

Sustituye YOUR_KEY por tu clave real (ya viene rellenada en el fragmento de tus ajustes).

Una clave por espacio de trabajo

La clave pertenece al espacio de trabajo. Si usas varios espacios de trabajo, cada uno tiene su propia clave: usa la correcta para cada sitio.


Qué registra el SDK automáticamente

Una vez instalado, el SDK registra estos eventos sin código adicional, pero solo para los visitantes que llegaron a través de un enlace de Revolink:

page_view

Se dispara en cuanto el visitante abre la página. Es el primer evento de cualquier sesión: confirma que la atribución se capturó correctamente. Se envía con fetch para que el SDK pueda detectar una clave de espacio de trabajo no válida y suprimir el seguimiento posterior si hace falta.

scroll_depth

Se dispara cuando el visitante abandona la página (la pestaña pasa a segundo plano o se cierra el navegador). Captura el porcentaje máximo de desplazamiento alcanzado durante la sesión, agrupado en 25, 50, 75 o 100. Solo se envían los valores distintos de cero.

Usa upsert: si el visitante vuelve a la misma página dentro de la misma sesión, se actualiza el valor en lugar de insertar un registro nuevo.

time_on_page

Se dispara junto con scroll_depth al ocultar la página. Cuenta solo el tiempo en que la pestaña estuvo realmente visible: cambiar a otra pestaña pausa el temporizador. El valor está en segundos.

También usa upsert, de modo que volver y salir de la pestaña se acumula en un único registro por página y sesión.

outbound_click

Se dispara cada vez que el visitante hace clic en un enlace (<a href>) que apunta a otro dominio. Captura el href completo como metadata.url. Útil para saber qué enlaces externos pulsan más tus visitantes.

Eventos de interacción y cuotas

scroll_depth, time_on_page y outbound_click no cuentan para la cuota mensual de conversiones de tu plan. Solo cuentan los eventos explícitos.


Todos los eventos disponibles

Automáticos (los registra el SDK)

EventoSe dispara cuandoCuenta para la cuota
page_viewSe carga la página y el visitante llegó mediante un enlace de RevolinkSí
scroll_depthEl visitante abandona la páginaNo
time_on_pageEl visitante abandona la páginaNo
outbound_clickEl visitante hace clic en un enlace a un dominio externoNo

Estándar (regístralos manualmente, recomendado)

Usa estos nombres para eventos que corresponden a etapas habituales del embudo. Aparecen en las tarjetas predefinidas del panel (leads, ventas, ingresos).

EventoCuándo dispararloAdmite value/currency
leadSe envía un formulario de contacto, se captura un emailNo
complete_registrationSe crea una cuenta nuevaNo
initiate_checkoutSe abre la página de pagoNo
subscribeSe inicia una suscripciónSí
purchaseSe completa un pagoSí
view_contentSe ve una página de contenido clave (producto, precios)No

Lógica del embudo

lead tiene deduplicación: si la misma combinación de sesión + enlace ya tiene un evento lead, no se inserta un segundo. Así se evita contar dos veces los reenvíos de formularios. Los eventos personalizados con countAs: 'lead' reciben la misma deduplicación.

Los eventos que tienen un value definido (incluidos los de nombre no estándar) se cuentan como ventas en el panel.

Eventos personalizados

Puedes disparar cualquier nombre de evento de hasta 64 caracteres. Los eventos personalizados aparecen en el desglose por evento de la página Conversiones junto con los estándar. Cuentan para tu cuota mensual.

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

Por defecto, los eventos personalizados aparecen como clics en el resumen del panel (recuentos de Leads / Ventas). Para que cuenten como leads o ventas, añade countAs a los metadatos:

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

Valores permitidos: 'lead', 'sale'. Si omites countAs, el evento cuenta como clic (valor por defecto).


Seguimiento mediante atributos HTML

No hace falta JavaScript: añade data-revolink-action a cualquier elemento y el SDK dispara el evento automáticamente cuando se hace clic en él:

html
<button
  data-revolink-action="purchase"
  data-revolink-value="49.99"
  data-revolink-currency="USD"
  data-revolink-metadata='{"plan":"pro"}'>
  Buy now
</button>
AtributoObligatorioDescripción
data-revolink-actionSíNombre del evento a disparar
data-revolink-valueNoValor monetario (número)
data-revolink-currencyNoCódigo de moneda de 3 letras
data-revolink-metadataNoObjeto JSON con datos adicionales (hasta 10 claves)

Identificación de usuarios

Llama a revolink.setUser() antes de registrar eventos para asociar un identificador a cada evento. Esto mejora la atribución cuando una misma persona visita desde varios dispositivos o en distintas sesiones.

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

Nunca envíes el email en claro

Aplica siempre un hash SHA-256 al email antes de pasarlo. Revolink solo guarda hashedEmail y no puede revertirlo.

Tras llamar a setUser, todas las llamadas posteriores a revolink.track() de esa sesión incluyen los identificadores.


Seguimiento desde el servidor

Enviar eventos desde tu backend evita los bloqueadores de anuncios y ITP (Intelligent Tracking Prevention). Úsalo para eventos de alto valor, como las compras, donde la precisión importa más.

Endpoint: POST /apiv1/track-conversion
Autenticación: Authorization: Bearer YOUR_KEY

Para protegerte de peticiones falsificadas, Revolink admite la firma de peticiones con HMAC. Tu secreto HMAC aparece en la pestaña Seguimiento de conversiones, en 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 del cuerpo:

CampoTipoDescripción
eventstringNombre del evento (obligatorio)
valuenumberValor monetario
currencystringCódigo de moneda ISO de 3 letras
sessionIdstringID de sesión (para vincular con una sesión del navegador)
userIdstringTu ID de usuario interno
hashedEmailstringHash SHA-256 del email del usuario
linkSlugstringSlug del enlace de Revolink al que atribuir este evento
ruleIdstringID de la regla de enrutamiento (para atribución a nivel de regla)
abVariantIdstringID de la variante A/B (para atribución a nivel A/B)
metadataobjectDatos personalizados clave/valor (hasta 10 claves, 64 caracteres cada una). Define countAs: 'lead' o countAs: 'sale' para controlar cómo se cuenta un evento personalizado en los resúmenes del panel.
pagestringURL de la página donde ocurrió el evento
referrerstringURL del referente

Si conversionHmacSecret está definido en tu espacio de trabajo, la cabecera X-Revolink-Signature es obligatoria: las peticiones sin una firma válida se rechazan.


Ver los datos de conversión

Ve a la sección Conversiones del menú izquierdo.

Página Conversiones: pestaña Eventos

La página tiene dos pestañas:

Pestaña Eventos

Muestra todos los eventos registrados (salvo los eventos automáticos de interacción).

Arriba: métricas de resumen: conversiones totales, recuento de leads, recuento de ventas e ingresos por moneda.

Debajo: un gráfico de conversiones del periodo seleccionado y una tabla de eventos individuales con nombre del evento, dispositivo, página, valor y marca de tiempo.

Filtros: acota los datos por nombre de evento, tipo de dispositivo, moneda, valor o slug del enlace.

Pestaña Engagement

Página Conversiones: pestaña Engagement

Muestra las métricas automáticas de interacción:

  • Profundidad de desplazamiento: distribución de hasta dónde bajaron los visitantes (25%, 50%, 75%, 100%)
  • Tiempo en la página: desglose de sesiones por duración: menos de 30 s, de 30 a 60 s, más de 60 s; además de la media
  • Clics salientes: las URL externas más pulsadas, con su recuento

Atribución: enlaces, reglas y variantes A/B

Cada evento se atribuye al enlace, la regla de enrutamiento y la variante A/B concretos con los que coincidió el visitante al hacer clic en tu enlace.

Puedes ver este desglose en:

  • Analítica del enlace: abre cualquier enlace, ve a la pestaña Analítica y baja hasta Conversiones para ver los eventos atribuidos a ese enlace
  • Página Conversiones: filtra por enlace para ver solo los eventos de una campaña concreta

Analítica del enlace: desglose de conversiones por regla y variante A/B

Si ejecutas una prueba A/B o reglas de enrutamiento en un enlace, los datos de conversión muestran los resultados por regla y por variante, para que puedas comparar directamente qué versión convierte mejor.


Regenerar la clave

Puedes regenerar la clave de tu espacio de trabajo en cualquier momento desde Configuración del espacio de trabajo → Seguimiento de conversiones (solo para propietarios del espacio de trabajo).

Actualiza de inmediato tu etiqueta de script

Tras regenerarla, la clave antigua deja de funcionar. Cualquier página que siga usando la clave antigua registrará una advertencia en la consola del navegador y dejará de rastrear. Actualiza cuanto antes el atributo data-workspace-key de tu etiqueta de script en todas las páginas.

Seguimiento de conversiones: botón Regenerar clave y aviso de advertencia


Límites del plan

Cada plan incluye una cuota mensual de eventos de conversión. Los eventos de interacción (scroll_depth, time_on_page, outbound_click) no cuentan para la cuota; solo cuentan los eventos explícitos.

Al alcanzar la cuota, los eventos nuevos se rechazan con HTTP 429 y recibes una notificación. Los eventos existentes se conservan. La cuota se restablece con tu ciclo de facturación.


Preguntas frecuentes

¿El SDK rastrea a los visitantes que no llegaron desde un enlace de Revolink?
No. El SDK busca una cookie de atribución de Revolink (_rvl_rl). Si no está, el SDK sale de inmediato y no rastrea nada. Es a propósito: solo se cuenta el tráfico que se origina en tus enlaces.

¿Qué pasa si un visitante bloquea JavaScript o usa un bloqueador de anuncios?
Los eventos del SDK en el navegador se bloquearán. Usa el seguimiento desde el servidor para los eventos de alto valor que no puedes permitirte perder.

¿Puedo registrar el mismo evento desde el SDK del navegador y desde el servidor?
Puedes, pero podrías contar la misma conversión dos veces. Usa sessionId en el evento del servidor para vincularlo con la sesión del navegador y mantén tu lógica coherente.

¿Se guardan los datos del email de forma segura?
Revolink nunca guarda direcciones de email en claro. Solo se guarda el hash SHA-256. Debes aplicar tú mismo el hash al email antes de llamar a revolink.setUser() o de incluirlo en un evento del servidor.

¿Qué es la firma HMAC y la necesito?
La firma HMAC permite a Revolink verificar que los eventos del servidor los envió tu backend y no están falsificados. Si tu espacio de trabajo tiene un secreto HMAC configurado, cada petición del servidor debe incluir la cabecera X-Revolink-Signature. Se recomienda encarecidamente en producción.

¿Puedo enviar eventos monetarios sin moneda?
No. Si pasas value sin currency (o al revés), ambos campos se descartan en silencio. Envíalos siempre juntos.

¿Qué nombres de evento debo usar?
Usa los nombres estándar (lead, purchase, subscribe, complete_registration, initiate_checkout) siempre que puedas: corresponden a los embudos predefinidos del panel. Los nombres personalizados también funcionan, pero solo aparecen en el desglose «por evento».

¿Cómo hago que un evento personalizado cuente como lead o venta?
Añade countAs: 'lead' o countAs: 'sale' a los metadatos del evento. Esto indica a Revolink cómo categorizar el evento en el resumen de Leads/Ventas y en los gráficos del embudo. Sin countAs, los eventos personalizados se cuentan como clics.

¿Cuántas claves de metadatos puedo asociar a un evento?
Hasta 10 claves por evento. Las claves se truncan a 64 caracteres. Los valores deben ser cadenas, números o booleanos.