Traqio.

Integraciones

Integración con RevenueCat

Envía el webhook de RevenueCat a Traqio: compras, renovaciones y reembolsos llegan a la instalación que los generó, para el ROAS sin publicar una nueva versión.

RevenueCat gestiona las suscripciones y compras in-app y reporta cada transacción con un webhook. Enviado a Traqio, ese webhook lleva ingresos verificados — primeras compras, renovaciones, reembolsos — a la instalación que los generó, de servidor a servidor: las renovaciones meses después siguen contando para la campaña que trajo al usuario, sin publicar una nueva versión de la app.

Configuración#

  1. Define el mismo id de usuario en ambos SDK#

    await Purchases.logIn(user.id);   // RevenueCat — becomes app_user_id
    Traqio.setUserId(user.id);         // Traqio — the SAME value

    Traqio encuentra la instalación de una compra por (app, app_user_id). Un id distinto en cada lado significa ingresos registrados pero nunca atribuidos. Consulta Identidad.

  2. Copia la URL del webhook y la cabecera#

    En la consola: tu producto → Integraciones → Ingresos → RevenueCat. Copia la URL del webhook (https://api.traqio.app/webhooks/revenuecat) y el valor de la Cabecera Authorization (Bearer …) que muestra Generar un secreto. Se muestra una sola vez: Traqio solo guarda una huella, así que un secreto perdido se reemplaza (genera uno nuevo y revoca el anterior), nunca se vuelve a mostrar. Cada producto tiene su propio secreto.

  3. Añade el webhook en RevenueCat#

    Panel de RevenueCat → tu proyecto → Integrations → Webhooks → Add. Pega la URL y la cabecera, elige la app, y envía sandbox, producción o ambos.

    La cabecera es un secreto — y no es tu clave SDK

    Autentica las llamadas de RevenueCat; mantenla fuera de tu app y de tu repositorio. Si pones la clave SDK en su lugar, se rechaza con 401 invalid webhook secret.
  4. Envía un webhook de prueba#

    El Send test webhook de RevenueCat llega como una entrega TEST: registrada, nunca contada. Después, una compra en sandbox desde una build de depuración aparece como Sandbox — conexión verificada, con el precio que Traqio interpretó. Las compras de producción son las que se cuentan.

Qué hace cada evento de RevenueCat#

Tipo de RevenueCatEn Traqio
INITIAL_PURCHASE, RENEWAL, NON_RENEWING_PURCHASE, UNCANCELLATIONuna compra — ingresos, reenviada a Meta y TikTok
CANCELLATION con un precio negativoun reembolso — ingresos negativos, nunca reenviado, nunca facturado
CANCELLATION sin precio o con precio cerosolo se registra: una baja no mueve dinero
REFUND_REVERSEDingresos positivos: el reembolso se deshizo
EXPIRATIONsolo se registra
TEST y cualquier otrosolo se registra
  • Las compras en sandbox se listan en la consola y nunca se cuentan ni se reenvían — reenviarlas enseñaría a las redes a pujar por compras que nunca ocurrieron.
  • Los importes son brutos: lo que pagó el comprador, en la moneda de la compra, antes de la comisión de la tienda y de impuestos. Los porcentajes de comisión e impuestos de RevenueCat se guardan pero no se aplican.
  • La información de prueba gratuita (tipo de periodo, conversión de la prueba) se conserva, así que se puede responder a «de prueba a pago».

Con compras también medidas en la app#

Las compras se indexan por el id de transacción de la tienda. Si tu app también mide la compra con su transactionId, ambas llegan a la misma clave y cuentan una vez — con el importe verificado de RevenueCat. Consulta Contar una compra una sola vez.

Preguntas frecuentes#

¿La cabecera Authorization de RevenueCat es mi clave SDK?
No. La clave SDK es pública — va dentro de tu app. La cabecera del webhook lleva un secreto distinto que autentica las llamadas de servidor a servidor de RevenueCat y nunca debe estar en la app. Pegar la clave SDK hace que todas las entregas fallen con 401 invalid webhook secret.
¿Y si una compra llega antes de que Traqio haya visto la instalación?
Los ingresos se registran igualmente, pero sin atribuir: aparecen como no asociados en el informe de ingresos. Se asocian cuando el id de usuario que Traqio tiene para la instalación es el mismo que el app_user_id de RevenueCat — por eso el id de usuario debe definirse en ambos lados.
¿Se restan los reembolsos de RevenueCat?
Sí. Una CANCELLATION de RevenueCat con un precio negativo es un reembolso: Traqio lo registra como ingresos negativos, así que todos los totales lo descuentan. Nunca se factura como conversión ni se reenvía a Meta o TikTok. Una cancelación sin precio negativo es una baja normal de la suscripción y no mueve dinero.

Actualizado el 14 de octubre de 2026