Documentación de RevenueUI

Eventos personalizados y objetivos

Envía conversiones relevantes y conviértelas en objetivos medibles.

Cómo funciona

Usa eventos para resultados completados como registro, formulario de contacto o checkout iniciado. La llamada final a track() debe ocurrir en el navegador después de que el servidor confirme el éxito. No registres el clic inicial: OAuth puede cancelarse, la validación fallar o el pago rechazarse.

  1. El visitante inicia la acción.
  2. La aplicación la completa y confirma el éxito al navegador.
  3. El navegador llama track() una vez.
  4. Creas un objetivo con exactamente el mismo nombre.

Helper reutilizable

export function trackRevenueUI(eventName) {
  const send = () => window.revenueUI?.track(eventName);
  if (window.revenueUI?.ready) return send();
  window.addEventListener("revenueui:ready", send, { once: true });
}

Los nombres empiezan por letra, usan minúsculas, números y _, y tienen hasta 32 caracteres. page_view y page_engagement están reservados. No hay propiedades personalizadas; no incluyas datos personales.

Integración en cliente

JavaScript, TypeScript, React, Vue, Nuxt, Angular y SvelteKit llaman al helper después de una respuesta exitosa. En Next.js App Router, el Server Action devuelve éxito y un Client Component envía el evento. Evita efectos de montaje que puedan repetirse.

"use client";
export function SignupForm() {
  async function handleSubmit(formData: FormData) {
    const result = await createAccount(formData);
    if (result.success) trackRevenueUI("signup_completed");
  }
  return <form action={handleSubmit}>{/* campos */}</form>;
}

Express devuelve el resultado al navegador. Laravel, Django y Rails pueden guardar un valor flash de un solo uso, redirigir y enviarlo desde el navegador con JSON seguro. El código exclusivo del servidor no lleva automáticamente la identidad de atribución.

Evita duplicados

Elige un solo camino de éxito. En rutas revisables, guarda un token opaco y breve en sessionStorage, nunca un correo o dato personal. La deduplicación del navegador no sustituye la idempotencia del servidor.

Crea y verifica el objetivo

En el detalle del sitio, abre visitantes por objetivo, selecciona Añadir objetivo, introduce un nombre legible y el evento exacto, como signup_completed. Distingue mayúsculas y minúsculas y cuenta tras crear el objetivo.

Prueba un éxito y un fallo. Confirma evento y visitante, recarga la página de éxito para comprobar que no duplica y verifica que cancelaciones no envían nada.