Cómo usar Insert Affiliate con RevenueCat

How to Use Insert Affiliate with RevenueCat

Guía de integración para conectar Insert Affiliate con RevenueCat y hacer seguimiento de suscripciones.

RevenueCat ya gestiona la facturación de tus suscripciones, e Insert Affiliate añade encima la atribución de afiliados. La integración guarda un único atributo de suscriptor en RevenueCat y escucha los eventos de webhook que ya tienes, así que tu flujo de pago queda exactamente como está y las comisiones se registran a nombre del afiliado correcto en cada compra inicial y en cada renovación.

Insert Affiliate se integra con RevenueCat (https://www.revenuecat.com) para hacer seguimiento de las compras de suscripciones generadas por afiliados y calcular las comisiones automáticamente. La integración funciona guardando un identificador de afiliado como atributo personalizado de suscriptor en RevenueCat y recibiendo después los eventos del ciclo de vida de la suscripción mediante webhooks. Esta guía cubre cada paso de la configuración.



Cómo funciona la integración

La integración entre Insert Affiliate y RevenueCat tiene tres componentes. Primero, el SDK de Insert Affiliate captura un identificador de afiliado cuando un usuario hace clic en un enlace de afiliado o ingresa un código corto. Segundo, tu app escribe ese identificador en RevenueCat como un atributo personalizado de suscriptor. Tercero, RevenueCat envía eventos de webhook a Insert Affiliate cada vez que ocurre un evento de suscripción, e Insert Affiliate lee el atributo del afiliado en el payload del webhook para acreditar al afiliado correcto.



Paso 1: configura RevenueCat

Si todavía no tienes una cuenta de RevenueCat, crea una en app.revenuecat.com/signup. Sigue la guía de configuración de proyectos de RevenueCat para configurar tu app, conectar tus credenciales de App Store y Google Play, y crear tus productos de suscripción y tus ofertas.

Insert Affiliate recomienda RevenueCat como la integración más fácil para la mayoría de los desarrolladores. Gestiona suscripciones tanto de iOS como de Android, ofrece notificaciones automáticas por webhook y tiene un plan gratuito disponible.



Paso 2: configura el panel de Insert Affiliate

En tu panel de Insert Affiliate, en app.insertaffiliate.com/settings, establece In-App Purchase Verification en RevenueCat. Esto le indica a Insert Affiliate que debe esperar eventos de webhook de RevenueCat para verificar las compras.



Paso 3: instala el SDK de Insert Affiliate

Insert Affiliate ofrece SDK para iOS (Swift), Android, React Native, Flutter, JavaScript/Capacitor y Unity. Cada SDK está disponible en su repositorio de GitHub correspondiente, dentro de la organización Insert-Affiliate.

Instala el SDK para tu plataforma e inicialízalo con tu código de empresa. Por ejemplo, en una app de React Native, envuelve tu app en el componente DeepLinkIapProvider y llama a la función initialize con tu código de empresa.



Paso 4: define el atributo personalizado de suscriptor

Este es el paso crítico que vincula la atribución de afiliados con los suscriptores de RevenueCat. Después de que el SDK de Insert Affiliate captura un identificador de afiliado, debes escribirlo en RevenueCat como un atributo personalizado de suscriptor con la clave insert_affiliate.

En React Native, el código se ve así:

const affiliateIdentifier = await returnInsertAffiliateIdentifier();
if (affiliateIdentifier) {
  await Purchases.setAttributes({"insert_affiliate": affiliateIdentifier});
}

El valor sigue el formato SHORT_CODE-UUID, por ejemplo SAVE20-a1b2c3d4-e5f6-7890-abcd-ef1234567890. El código corto identifica al afiliado y el UUID garantiza que cada atribución sea única.

Debes llamar a este código en dos lugares. Primero, inmediatamente después de que un deep link o un código corto defina el identificador de afiliado. Segundo, al iniciar la app, para asegurarte de que el atributo se sincronice si se definió en una sesión anterior. RevenueCat sincroniza los atributos al iniciar la app, cuando la app pasa a segundo plano y en las compras, pero también puedes llamar a Purchases.syncAttributesAndOfferingsIfNeeded() para forzar una sincronización inmediata.

RevenueCat admite hasta 50 atributos personalizados por suscriptor, con nombres de clave de hasta 40 caracteres y valores de hasta 500 caracteres.



Paso 5: configura los webhooks de RevenueCat

En tu panel de RevenueCat, ve a la configuración de tu proyecto, luego a Integrations y después a Webhooks. Agrega un nuevo webhook con la URL que aparece en la configuración de tu panel de Insert Affiliate.

Configura el webhook para que envíe eventos solo de App Store (iOS) y Google Play Store (Android). Si también usas RevenueCat Web Billing o Stripe, no incluyas esas fuentes de eventos en este webhook. Las transacciones web y de Stripe se registran por separado a través de Stripe Connect para evitar registros de comisión duplicados.

Los principales tipos de eventos de webhook de RevenueCat que procesa Insert Affiliate incluyen INITIAL_PURCHASE, que se dispara cuando comienza una nueva suscripción o prueba gratuita, RENEWAL, que se dispara cuando una suscripción se renueva o una prueba se convierte en suscripción de pago, CANCELLATION, que se dispara cuando un usuario cancela, y EXPIRATION, que se dispara cuando se debe revocar el acceso.



Paso 6: define las tasas de comisión

En tu panel de Insert Affiliate, configura tu estructura de comisiones. Tienes varias opciones.

Define una tasa de comisión global predeterminada en Settings. Este es el porcentaje base que reciben todos los afiliados. Después puedes reemplazarla con tasas individuales por afiliado, seleccionando un afiliado y definiendo un porcentaje de comisión personalizado.

También puedes elegir la cadencia de pago por afiliado. Establécela en Initial Purchase plus Renewals si quieres que el afiliado gane comisión en cada renovación de los suscriptores que refirió. Establécela en Initial Purchase Only si quieres un pago único por suscriptor.

Para la deducción de la tarifa de la plataforma, activa Deduct Platform Fees Before Commission en tu configuración si quieres que las comisiones se calculen sobre el monto neto después de que Apple o Google se queden con su parte. Configura las tarifas de la plataforma para que coincidan con tus acuerdos reales, ya sea el 30 por ciento estándar, la tasa del 15 por ciento del Small Business Program o las tarifas reducidas de Google Play.



Cómo se calculan las comisiones en los eventos de suscripción

Cuando RevenueCat envía un webhook a Insert Affiliate, el sistema lo procesa de la siguiente manera. Lee el tipo de evento para determinar si se trata de una compra inicial, una renovación u otro evento. Extrae el atributo personalizado insert_affiliate de los datos del suscriptor. Busca al afiliado asociado con ese identificador. Calcula la comisión según el monto de la transacción y la tasa configurada del afiliado, y aplica las deducciones de tarifa de la plataforma si están activadas.

Por ejemplo, con una suscripción mensual de 9.99 USD, una tasa de afiliado del 10 por ciento y la deducción de tarifa de la plataforma activada al 30 por ciento, el cálculo sería: 9.99 USD menos 3.00 USD de tarifa de la tienda es igual a 6.99 USD netos, y el 10 por ciento de 6.99 USD es igual a 0.70 USD de comisión para el afiliado.

Si la cadencia de pago está configurada para incluir renovaciones, esta comisión se genera en cada evento RENEWAL de ese suscriptor, lo que le da al afiliado ingresos continuos mientras el usuario siga suscrito.



Cómo probar la integración

Antes de salir a producción, prueba el flujo completo con transacciones de sandbox. Crea un afiliado de prueba en tu panel de Insert Affiliate usando un alias de correo como [email protected]. En tu build de desarrollo, usa un código corto para definir el identificador de afiliado y luego haz una compra de sandbox.

RevenueCat etiqueta con claridad las transacciones de sandbox en el panel de Insert Affiliate, para que puedas distinguir las compras de prueba de los datos de producción. Comprueba que la transacción aparezca con la atribución de afiliado y el monto de comisión correctos.



Solución de problemas comunes

Si las transacciones no aparecen en tu panel, verifica lo siguiente. Comprueba que la URL del webhook en RevenueCat coincida exactamente con la URL que te da Insert Affiliate. Confirma que el atributo insert_affiliate se esté definiendo antes de que ocurra la compra, revisando la página de atributos de cliente de RevenueCat para el suscriptor de prueba. Asegúrate de que tu panel de Insert Affiliate tenga In-App Purchase Verification establecido en RevenueCat.

Si el identificador de afiliado no se está capturando, verifica que tu plataforma de deep linking esté configurada correctamente y que el SDK de Insert Affiliate se inicialice antes de que los usuarios interactúen con enlaces de afiliado o códigos cortos.



Puntos clave

La integración entre Insert Affiliate y RevenueCat requiere definir un atributo personalizado de suscriptor llamado insert_affiliate en los suscriptores de RevenueCat, configurar un webhook de RevenueCat hacia Insert Affiliate y definir tus reglas de comisión en el panel de Insert Affiliate. Una vez configurado, el sistema registra automáticamente las compras iniciales, las conversiones de prueba y las renovaciones de suscripción, y calcula y registra las comisiones de cada evento. El seguimiento es totalmente automático: las comisiones se registran cada vez que se dispara un evento de webhook. Los pagos se envían con un clic desde tu panel de Insert Affiliate cuando tú decidas.



Preguntas frecuentes

¿Cómo sabe Insert Affiliate qué afiliado refirió a un suscriptor? El SDK de Insert Affiliate captura un identificador de afiliado cuando un usuario toca un enlace de afiliado o ingresa un código corto. Tu app escribe ese identificador en RevenueCat como un atributo personalizado de suscriptor (insert_affiliate). Cuando se dispara un evento de suscripción, RevenueCat envía el atributo en el payload del webhook e Insert Affiliate lo usa para asociar la compra con el afiliado correcto.

¿Esta integración es compatible con las pruebas gratuitas de RevenueCat? Sí. Insert Affiliate procesa el evento INITIAL_PURCHASE cuando comienza una prueba y el evento RENEWAL cuando una prueba se convierte en suscripción de pago. La comisión se registra en el momento de la conversión a pago.

¿Los afiliados pueden ganar comisiones recurrentes por las renovaciones de suscripción? Sí. Establece la cadencia de pago en "Initial Purchase plus Renewals" e Insert Affiliate registrará una comisión en cada evento RENEWAL mientras el suscriptor siga activo. Esto alinea a los afiliados con la retención a largo plazo, no solo con los registros iniciales.

¿Necesito un webhook aparte para las transacciones de Stripe o de RevenueCat Web Billing? Sí. Configura este webhook solo para eventos de App Store (iOS) y Google Play Store (Android). Las transacciones web y de Stripe se registran por separado a través de Stripe Connect para evitar registros de comisión duplicados.

¿Cómo se pagan las comisiones? Las comisiones se registran automáticamente en tu panel de Insert Affiliate. Cuando quieras pagar, envía los pagos a tus afiliados con un clic desde el panel.

Comentarios

¿Listo para hacer crecer tu app con marketing de afiliados?

Únete a cientos de desarrolladores de apps que ya hacen seguimiento de las compras dentro de la app generadas por afiliados y recompensan a sus socios.