Explora la documentación por tarea
Instalación

Conecta tu sitio web a Reylin

Una guía de instalación por etapas para eventos con consentimiento, atribución de pagos únicos con Stripe Checkout y una conexión verificada para los ingresos de tus clientes.

Antes de empezar

Esta documentación describe la implementación local, no demuestra la existencia de un servicio alojado operativo. Utiliza primero una instalación de pruebas aprobada. Aún deben verificarse el acceso a los proveedores, la entrega del remitente, el comportamiento del navegador y la persistencia del despliegue.

Crea una cuenta y un proyecto, y configura el origen exacto del sitio web, incluidos el esquema y el puerto cuando corresponda. El identificador público del proyecto dirige las solicitudes de recogida; no es un secreto ni una credencial de ingresos. La política de seguridad de contenido de tu sitio debe permitir el servidor de analítica elegido.

1. Carga el rastreador

Sustituye ambos marcadores por tu servidor aprobado y el identificador público del proyecto. Cargar el script por sí solo no envía una vista de página.

<script src="https://YOUR-ANALYTICS-HOST/tracker.js"
        data-project="PUBLIC_PROJECT_ID"></script>

2. Conecta tu decisión de consentimiento

Llama a estos métodos desde tu gestor de consentimiento después de cargar el script. No concedas permiso solo porque este ejemplo contiene consent(true). Envía únicamente los nombres de evento que necesites; no incluyas direcciones de correo, tokens ni otros datos sensibles en nombres de eventos o valores de campañas.

  • Antes del consentimiento, track() devuelve consent_required sin enviar un evento.
  • El identificador del visitante se limita a la sesión y se almacena únicamente después del consentimiento. La retirada elimina ese identificador almacenado.
  • Configura un origen permitido exacto; los identificadores públicos y las comprobaciones de origen del navegador no constituyen un sistema completo contra abusos.
// After the visitor grants the relevant permission:
reylin.consent(true);
await reylin.track('pageview');

// A deliberate application event:
await reylin.track('signup');

// When permission is withdrawn:
reylin.consent(false);

Opcional: vistas de página sujetas a consentimiento en una aplicación de página única

Elige vistas de página manuales O esta política automática de rutas; no envíes ambas para una misma visita. Las vistas automáticas están desactivadas hasta que configures una correspondencia explícita. Las rutas exactas y los prefijos terminados en /* se asignan a etiquetas estáticas no personales; nunca incluyas identificadores de clientes en ellas. Las cadenas de consulta y los fragmentos normales no se convierten en etiquetas de página. La atribución categórica existente de utm_source no cambia.

La configuración puede realizarse antes del consentimiento, pero no se crean interceptores de navegación, identificadores ni eventos hasta que se conceda. Al concederlo de nuevo, solo se registra la página actual configurada, nunca el historial denegado. GPC=true bloquea la concesión y la recogida; se comprueba durante las operaciones del rastreador y la navegación, no mediante un evento de cambio del navegador inventado. La retirada detiene los interceptores y cancela las solicitudes pendientes cuando es posible; los eventos ya entregados no pueden retirarse.

  • Se admiten pushState, replaceState y atrás/adelante; los enrutadores hash también observan hashchange. Las notificaciones duplicadas y los cambios solo en la consulta no añaden eventos automáticos.
  • Distintas rutas concretas pueden compartir una etiqueta estática y aun así contar como eventos de navegación separados. Las rutas sin correspondencia no se envían.
  • initial:false omite la página actual en cada instalación o concesión; se recogen los cambios posteriores a rutas configuradas. No se añaden reintentos automáticos ni reproducción de actividad sin conexión.
  • Los métodos del enrutador conservan sus valores de retorno, argumentos y excepciones nativos. Al detenerse, solo se restauran los envoltorios del rastreador, preservando los instalados posteriormente por otro código. Aún se requieren pruebas reales de aceptación con el framework y el navegador.
// Configure once after the script loads; this does NOT grant consent.
reylin.startPageviews({
  mode: 'history', // use 'hash' for #/pricing-style routers
  routes: {'/':'/', '/pricing':'/pricing', '/docs/*':'/docs'},
  initial: true
});
// Later, only after the visitor permits collection:
reylin.consent(true);
// Stop automatic navigation only (does not withdraw consent):
reylin.stopPageviews();
// Withdraw all tracking consent:
reylin.consent(false);

3. Asocia un pago único en tu servidor

El siguiente ejemplo muestra la estructura del lado del servidor, no un endpoint de pago completo. Obtén la asociación consentida del visitante mediante tu propio flujo de aplicación validado. Mantén la selección de precios, las credenciales y la titularidad del proyecto bajo control del servidor. Omite la asociación si no está disponible; no inventes una.

  • Los metadatos de Session y de PaymentIntent son distintos.
  • No envíes claves secretas ni restringidas de Stripe al navegador.
  • Las renovaciones de suscripciones requieren una asociación persistente del cliente por separado; este ejemplo de pago único no la implementa.
const metadata = consentedVisitorId
  ? { analytics_visitor_id: consentedVisitorId }
  : {};

const session = await stripe.checkout.sessions.create({
  mode: 'payment',
  line_items: trustedLineItems,
  success_url: trustedSuccessUrl,
  cancel_url: trustedCancelUrl,
  payment_intent_data: { metadata }
});

4. Conecta la cuenta de ingresos correspondiente

Esta conexión mide los pagos de tus clientes; es independiente del pago por este servicio de analítica. En Connections, elige tu proyecto, la cuenta correspondiente en modo de prueba y la clave restringida de lectura. Se verifica la identidad de la cuenta antes de guardar un borrador cifrado. El borrador proporciona una URL estable de endpoint de webhook, pero rechaza las entregas hasta que se active.

Se necesita acceso de lectura a la cuenta, PaymentIntents y reembolsos; la importación limitada opcional también necesita acceso a Events. Utiliza la URL del borrador para configurar un endpoint de webhook en tu propia cuenta de Stripe para payment_intent.succeeded, refund.created, refund.updated y refund.failed. Después, introduce el secreto de firma de ese endpoint en el formulario de activación del borrador. La cuenta, el proyecto, el modo y la URL existentes no cambian; solo la activación permite las entregas.

La configuración en producción se mantiene deliberadamente separada y requiere activación explícita del servidor, HTTPS y cookies Secure. Las conexiones de prueba y de producción no pueden compartir proyecto. Una conexión configurada no demuestra que una entrega haya tenido éxito.

5. Verifica el recorrido completo

  • Con el consentimiento concedido, envía un evento de prueba desde el origen permitido y revisa la vista Events del proyecto.
  • Crea un pago de prueba correspondiente. Comprueba la fuente, la moneda y los cobros brutos, no la demo sintética.
  • Prueba un reembolso parcial, una entrega repetida y un pago sin asociación de visitante.
  • Retira el consentimiento y confirma que no se envían nuevos eventos del navegador.
  • Revisa los avisos de conciliación pendiente y no des la configuración por terminada hasta verificar la entrega real del proveedor y el comportamiento del navegador.

Conoce los límites actuales

Los cupos mensuales de eventos se aplican al conjunto de proyectos del titular de la facturación. Al alcanzar el límite, se pausa la recogida sin inventar datos ni cobrar automáticamente por exceso. La conciliación financiera y los informes existentes siguen disponibles.

La importación opcional de los últimos 7 o 30 días solo abarca los eventos disponibles de pagos completados. No puede reconstruir el historial de visitantes ni los reembolsos históricos completos; los informes importados incluyen un aviso de historial parcial. Los embudos ordenados de varios pasos están implementados. La importación y los informes de Search Console requieren una conexión con el proveedor autorizada por separado; esta vista previa pública no tiene proveedores conectados. No se ofrecen identidad entre dispositivos ni sustitución de un sistema contable.

Referencias

Esta documentación describe el código y sus límites; no confirma una conexión activa. Los ejemplos técnicos mantienen sus identificadores originales.