Resolución de problemas

Probar transacciones de sandbox antes de pasar a producción

Puedes probar Insert Affiliate por completo usando los siguientes entornos:

  • Builds locales
  • TestFlight
  • Canales de prueba interna o cerrada de Google Play

La atribución y las compras funcionan en todos estos entornos y aparecerán en tu panel de Insert Affiliate.

Si usas RevenueCat, las transacciones de sandbox aparecen claramente etiquetadas como tales.

Crear un afiliado de prueba

Puedes crear fácilmente cuentas de afiliado de prueba usando alias de correo electrónico.

Ejemplo: si tu correo fuera [email protected]

Podrías usar [email protected]


Guía de depuración

Registro detallado (verbose)

El registro detallado es una opción de nuestros SDK que muestra información de diagnóstico adicional.

Actívalo cuando estés investigando problemas con tu integración.


Las transacciones de mis afiliados no aparecen

Sigue estos pasos de depuración en orden. Avanza solo cuando hayas confirmado que el paso anterior funciona.

Esto te ayuda a verificar si el problema está en Insert Affiliate o en tu proveedor de deep linking.

  1. Configura en tu app un método para introducir manualmente un código corto antes del checkout.

  2. Ejecuta la app en local, mediante TestFlight o mediante las pruebas internas/cerradas de Google Play.

  3. Introduce el código corto de tu afiliado de prueba (por ejemplo, [email protected]).

  4. Revisa tus registros para confirmar que se ha recibido el código corto.

  5. Realiza una compra y verifica que aparece en tu panel de Insert Affiliate.

Si la atribución por código corto funciona pero el deep linking no → el problema está en tu integración de deep linking.

Verificar tu integración de deep linking

Usa registros detallados para confirmar cada paso.

  1. Registra el enlace que recibe la app al abrirse.

    • Asegúrate de que coincide con lo que esperas.
    • Si no es así, consulta la documentación de tu proveedor de deep links.
  2. Después de pasar el enlace a nuestro SDK, registra el código corto del afiliado almacenado.

    • Debería coincidir con el código corto que se ve en tu panel.

Si todo lo anterior funciona, tu deep linking está bien.

En ese caso, tu problema está en pasar el identificador del afiliado a tu plataforma de verificación de compras/recibos (por ejemplo, RevenueCat).


Mi integración funciona, pero solo si la app ya está instalada

Si la atribución solo funciona en instalaciones nuevas, el problema casi siempre es uno de los siguientes:

1. El deep linking no está configurado correctamente

Registra el enlace que recibe la app después de instalarla desde la tienda de apps a partir de un enlace en el que se hizo clic.

Si se registra correctamente, continúa con el paso 2.

2. No estás usando el callback "Short Code Set"

Nuestros SDK ofrecen un callback que se ejecuta en cuanto se ha almacenado un código corto.

Debes usarlo para reenviar el identificador del afiliado a tu plataforma de verificación de recibos (por ejemplo, RevenueCat).


Mi deep linking funciona, pero las transacciones siguen sin rastrearse

Si puedes ver el enlace, puedes obtener el código corto correcto y la atribución parece correcta, pero no aparece ninguna transacción, revisa:

1. Tiempo límite de atribución

Si has configurado un tiempo límite de atribución, puede que haya caducado.

Elimínalo durante las pruebas y vuelve a validar.

2. Impedir la transferencia de afiliados

Si has activado Impedir la transferencia de afiliados, los nuevos enlaces de afiliado no sobrescribirán la atribución existente.

Borra el almacenamiento de la app o reinstálala para restablecer la atribución durante las pruebas.

3. El código corto del afiliado no se pasa a tu sistema de verificación de recibos

Según tu configuración (RevenueCat, Iaptic, StoreKit / Play Billing directo), debes pasar el código corto durante la compra o la validación del recibo.

Revisa el ReadMe del SDK en GitHub y la documentación de la plataforma de compras que hayas elegido.


Si usas RevenueCat para la validación de recibos, los siguientes pasos son obligatorios. Si falta cualquiera de ellos, Insert Affiliate no recibirá los eventos de compra, aunque el deep linking y la atribución por código corto funcionen correctamente.

1. Webhook de RevenueCat a Insert Affiliate (obligatorio para todos los SDK)

Debes configurar RevenueCat para que envíe los eventos de compra a Insert Affiliate mediante un webhook.

2. Configuración del webhook

Ve a RevenueCat y crea un nuevo webhook:

  • Configura el webhook con estos ajustes:
    • Webhook URL: https://api.insertaffiliate.com/v1/api/revenuecat-webhook
    • Authorization header: Usa el valor de tu panel de Insert Affiliate (lo obtendrás en el paso 4)
    • Establece "Event Type" en "All events"

3. En la configuración de tu panel de Insert Affiliate:

  • Ve a la configuración de verificación (pestaña Integraciones)
  • Establece RevenueCat como método de verificación de compras dentro de la app

De vuelta en tu panel de Insert Affiliate:

4. Localiza el valor de la cabecera de autenticación del webhook de RevenueCat

  • Copia este valor
  • Pégalo como valor de Authorization header en la configuración de tu webhook de RevenueCat
Configuración de Verificación de Compras con RevenueCat seleccionado, mostrando la URL del webhook y el valor de la cabecera de autenticación del webhook de RevenueCat que hay que copiar

Haz clic para ver a tamaño completo

Notificaciones del servidor de App Store / Play Store

RevenueCat necesita notificaciones de servidor a servidor de App Store o Play Store para poder transmitir las actualizaciones de suscripciones y compras.

Asegúrate de haber configurado:

  • Apple App Store Server Notifications
  • Google Play Real-Time Developer Notifications (RTDN)

Ver la documentación de Server Notifications de RevenueCat →

Sin ellas, RevenueCat no recibirá datos de compra completos ni a tiempo, lo que significa que Insert Affiliate tampoco.

5. Confirma el atributo de Insert Affiliate dentro de RevenueCat

  1. Abre una compra en tu panel de RevenueCat.

  2. En la página de detalles de la transacción, busca el panel Attributes en el lado derecho.

  3. Deberías ver: insert_affiliate: <affiliate_short_code>

Si este atributo está presente y es correcto → RevenueCat está recibiendo correctamente el código del afiliado.

Si falta → el código corto no se está pasando a RevenueCat.

  • Esto significa que el problema está antes de RevenueCat (deep link → app → SDK → paso del atributo).

Esta única comprobación determina de inmediato si el fallo está en:

  • El deep linking
  • Tu integración del SDK de Insert Affiliate
  • O tu configuración de RevenueCat

6. Si el atributo existe pero sigues sin ver las ventas en Insert Affiliate

Si insert_affiliate es visible dentro de RevenueCat pero la venta no aparece en tu panel de Insert Affiliate, el problema es uno de los siguientes:

a) El webhook no se ejecuta o está mal configurado

Vuelve a comprobar la URL del webhook y asegúrate de que:

  • Está activo
  • No se ha modificado
  • No falta ninguna autenticación ni cabecera

7. Si falta el atributo

Si no ves el atributo insert_affiliate:

  • Puede que el deep linking no esté pasando el enlace correcto a tu app
  • Puede que el callback del código corto no se esté gestionando
  • Puede que no estés llamando a setAttributes de RevenueCat en el momento adecuado
  • Puede que el usuario no esté atribuido antes de que se produzca la compra
  • Puede que el atributo se esté sobrescribiendo en otra parte de tu código

Continúa con:

  • La depuración del deep linking
  • Las pruebas con código corto
  • La verificación de los callbacks del SDK
  • La revisión de los registros en tiempo de ejecución para confirmar cuándo se establece el atributo

Si usas Adapty para la validación de recibos, los siguientes pasos son obligatorios. Si falta cualquiera de ellos, Insert Affiliate no recibirá los eventos de compra, aunque el deep linking y la atribución por código corto funcionen correctamente.

1. Webhook de Adapty a Insert Affiliate (obligatorio para todos los SDK)

Debes configurar Adapty para que envíe los eventos de compra a Insert Affiliate mediante un webhook.

2. Configuración del webhook

  1. En tu panel de Insert Affiliate:

    • Establece Método de Verificación de Compras en la App en Adapty
    • Copia la Adapty Webhook URL
    • Copia el valor de Cabecera de Autorización del Webhook de Adapty
  2. En el panel de Adapty:

    • Ve a Integrations → Webhooks
    • Establece Production URL con la URL del webhook de Insert Affiliate
    • Establece Sandbox URL con la misma URL del webhook
    • Pega el valor de la cabecera de autorización en Authorization header value
    • Activa estas opciones:
      • Exclude historical events
      • Send attribution
      • Send trial price
      • Send user attributes
    • Guarda la configuración

3. Confirma el atributo de Insert Affiliate dentro de Adapty

  1. Ve a app.adapty.io/profiles/users

  2. Busca y selecciona el usuario que hizo la compra de prueba

  3. Busca la sección Custom attributes

  4. Deberías ver: insert_affiliate con el formato {SHORT_CODE}-{UUID}

    • Ejemplo: SAVE20-a1b2c3d4-e5f6-7890-abcd-ef1234567890

Si este atributo está presente y es correcto → Adapty está recibiendo correctamente el código del afiliado.

Si falta → el código corto no se está pasando a Adapty.

  • Esto significa que el problema está antes de Adapty (deep link → app → SDK → paso de updateProfile).

Esta única comprobación determina de inmediato si el fallo está en:

  • El deep linking
  • Tu integración del SDK de Insert Affiliate
  • O tu configuración de Adapty

4. Si el atributo existe pero sigues sin ver las ventas en Insert Affiliate

Si insert_affiliate es visible dentro de Adapty pero la venta no aparece en tu panel de Insert Affiliate, el problema es uno de los siguientes:

a) El webhook no se ejecuta o está mal configurado

Vuelve a comprobar la configuración del webhook y asegúrate de que:

  • Tanto Production URL como Sandbox URL están configuradas correctamente
  • El valor de la cabecera de autorización es correcto
  • Send user attributes está activado
  • El webhook está guardado y activo

b) Faltan opciones del webhook

Asegúrate de que todas las opciones necesarias están activadas:

  • Exclude historical events
  • Send attribution
  • Send trial price
  • Send user attributes

5. Si falta el atributo

Si no ves el atributo insert_affiliate:

  • Puede que el deep linking no esté pasando el enlace correcto a tu app
  • Puede que el callback del código corto no se esté gestionando
  • Puede que no estés llamando a Adapty.updateProfile con el identificador del afiliado
  • Puede que el usuario no esté atribuido antes de que se produzca la compra
  • Puede que el atributo se esté sobrescribiendo en otra parte de tu código

Continúa con:

  • La depuración del deep linking
  • Las pruebas con código corto
  • La verificación de los callbacks del SDK
  • La revisión de los registros en tiempo de ejecución para confirmar cuándo se llama a updateProfile

Android: Install Referrer no funciona durante las pruebas

Si estás probando el flujo de "app no instalada" en Android (deep linking diferido mediante Google Play Install Referrer) y la atribución no se aplica después de la instalación, la causa más común es una sesión obsoleta de Google Play Store.

El problema

Cuando Google Play Store ya está abierta en la ficha de tu app y vuelves a navegar a la misma página a través de un enlace de afiliado, Google Play ignora el parámetro referrer de la URL. Esto significa que la Install Referrer API devuelve datos vacíos y se pierde la atribución.

Esto ocurre con frecuencia durante las pruebas porque instalas y desinstalas la misma app una y otra vez, manteniendo Play Store abierta en esa página entre intentos.

La solución

Antes de cada prueba del flujo de app no instalada:

  1. Fuerza el cierre de Google Play Store: ve a Ajustes → Aplicaciones → Google Play Store → Forzar detención, o ejecuta adb shell am force-stop com.android.vending
  2. Desinstala la app
  3. Después, haz clic en el enlace de afiliado e instala

Así te aseguras de que Play Store procese la URL del referrer como una navegación nueva, que es como lo vivirán los usuarios reales: ellos no tendrán Play Store ya abierta en la página de tu app.

Importante

Esto es solo un problema de las pruebas. Los usuarios reales que hacen clic en un enlace de afiliado por primera vez no tendrán Play Store abierta en la página de tu app, así que el referrer se capturará correctamente.

¿Sigue vacío? Comprueba si hay cuentas de trabajo en el dispositivo de prueba

Si el referrer llega vacío en todas las instalaciones desde un teléfono concreto, comprueba si ese teléfono tiene iniciada sesión una cuenta de Google del trabajo o del centro educativo (por ejemplo, una cuenta de Google Workspace gestionada por tu empresa).

Cuando hay cualquier cuenta gestionada en el dispositivo, Google Play puede descartar el referrer, y la Install Referrer API devuelve su marcador orgánico en lugar de tu código de afiliado. Esto ocurre incluso cuando la instalación la hace una cuenta personal de Gmail, por lo que cambiar la cuenta activa en Play Store no lo soluciona.

Para confirmarlo, elimina las cuentas de trabajo del dispositivo (Ajustes → Contraseñas y cuentas) o usa un teléfono que solo tenga una cuenta personal de Gmail. Después, fuerza la detención de Play Store, desinstala la app y vuelve a hacer clic en el enlace de afiliado.

Google no documenta este comportamiento, pero muchos desarrolladores lo han reportado. A diferencia de la sesión obsoleta de Play Store descrita más arriba, esto también puede afectar a usuarios reales que tengan una cuenta de trabajo en su teléfono personal. Para esos usuarios, los códigos cortos son la alternativa.


Con Insert Links, sí puedes.

Con otros proveedores, debes consultar su documentación.

  1. Toca el enlace de afiliado con la app desinstalada.

  2. Cuando se abra la página de la tienda de apps, no instales la app.

  3. En su lugar, instala la app en local.

  4. Si tu configuración de Insert Links es correcta, la atribución se comportará exactamente igual que si la hubieras instalado desde la tienda de apps.