Configurar ROI360 para medir las compras in-app y los ingresos por suscripción

Premium

En resumen: Configura la solución ROI360 de AppsFlyer para la medición de ingresos por suscripciones y compras in-app.

Sobre la medición de los ingresos por suscripciones y compras in-app de ROI360

La solución ROI360 para la medición de ingresos por suscripción y compras in-app valida y mide automáticamente los ingresos por compras desde aplicaciones y suscripciones autorrenovables para ofrecerte una visión completa del ciclo de vida de tus clientes y mediciones precisas del ROAS.

Saber más sobre la solución

Configuración

Por lo general, la configuración implica a varias personas, incluidos marketers, desarrolladores de aplicaciones y, tal vez, un gestor de productos o proyectos.

Los pasos necesarios para configurar la solución ROI360 incluyen:

  1. Configurar la integración con Google Play
  2. Configurar la integración con iOS App Store
  3. Integrar el conector del SDK de compra
  4. Probar la medición de las compras in-app y los ingresos por suscripción
  5. Lanza las versiones de la aplicación con el conector SDK

Los detalles de cada paso figuran en las secciones siguientes.

Paso 1: Configurar la integración con Google Play

Antes de empezar:

  • La configuración de la medición de las compras in-app y de los ingresos por suscripción consta de pasos que se realizan en Google Cloud Platform, Google Play Console y en la interfaz de usuario de AppsFlyer. Te recomendamos que mantengas abiertas las pestañas de esos 3 lugares durante toda la configuración.
  • La configuración en la interfaz de usuario de AppsFlyer requiere permisos de administrador.

Sigue las instrucciones de la pestaña a continuación para configurar las notificaciones de Google Play:

1.1. Vincula tu cuenta de desarrollador de Google Play a tu proyecto de Google Cloud

Pré-requisitos: Acceso a Google Play Console y Google Cloud Project.

Para vincular tu cuenta de desarrollador de Google Play a tu Google Cloud Project:

  1. En Google Play Console, ve a tu cuenta de desarrollador de Google Play.
  2. Vincula la cuenta a tu Google Cloud Project. Para obtener instrucciones, consulta este tema de ayuda de Google.
  3. Habilita la API para desarrolladores de Google Play. Para obtener instrucciones, consulta este tema de ayuda de Google.

1.2. Configuración de la cuenta de servicio en Google Cloud Platform

Pré-requisitos: Acceso a Google Cloud Platform.

Para configurar tu cuenta de servicio:

  1. Crea o localiza la Cuenta de Servicio:
    1. En Google Cloud Platform, ve a la sección Cuentas de Servicio y haz clic en Crear cuenta de servicio.
       
    2. Rellena los datos de la cuenta de servicio.
    3. Copia la dirección de correo electrónico.
    4. Haz clic en Crear y continuar.
    5. En el paso Conceder a esta cuenta de servicio acceso al proyecto, selecciona el rol de suscriptor Pub/sub.
    6. Haz clic en Continuar > Listo.
  2. Descarga la Clave privada de la cuenta de servicio:
    1. En Google Cloud Platform, ve a la sección Cuentas de servicio, busca la cuenta que deseas (la que acabas de crear) en la lista y haz clic en el icono Más acciones.
    2. Haz clic en Gestionar llaves.
    3. Haz clic en Añadir clave > Crear nueva clave.
    4. En la ventana emergente Crear clave privada, en Tipo de clave, selecciona JSON y haz clic en Crear.
    5. Haz clic en Crear. Se descarga el archivo JSON de la clave privada.
    6. Guarda el archivo de clave JSON, que se cargará en AppsFlyer más tarde. ¡Importante! Debes guardar la clave; no podrás recuperarla más tarde. Si no la guardas, tendrás que crear una clave completamente nueva

1.3. Cargar la clave privada de la cuenta de servicio en AppsFlyer

Pré-requisitos: Acceso de administrador a AppsFlyer.

Para cargar la clave privada de la cuenta de servicio en AppsFlyer:

  1. En AppsFlyer, en el menú lateral, selecciona Configuración > Configuración de ingresos y selecciona tu aplicación de la lista.
  2. En la pestaña Compras y suscripciones, haz clic en upload-2.png para cargar el archivo JSON.
  3. Carga el archivo de clave privada JSON.
  4. Haz clic en Guardar.

1.4. Establecer permisos de acceso a la API en Google Play Console

Pré-requisitos: Acceso a Google Play Console.

Nota: Después de configurar las credenciales y los permisos de la cuenta de servicio, puede pasar algún tiempo (a veces incluso 24 horas) hasta que se puedan utilizar. Esto puede provocar errores en pasos posteriores.

Para establecer permisos de acceso a la API en Google Play Console:

  1. En Google Play Console, ve a Usuarios y permisos, busca la cuenta de servicio que has creado y haz clic en Invitar a nuevos usuarios.
  2. Introduce el correo electrónico que has copiado al configurar tu cuenta de servicio en el paso 1.2.y 1.3.
     
  3. En la sección Permisos, ve a Permisos de cuenta, y selecciona ambos:
    • Ver los datos financieros, los pedidos y las respuestas a la encuesta de cancelación.
    • Gestionar los pedidos y las suscripciones.
  4. Haz clic en Invitar usuario.
  5. En la ventana de confirmación, haz clic en Enviar invitación.

1.5. [Recomendado] Enviar notificaciones de Google Play directamente a AppsFlyer

Para recibir datos sobre compras in-app e ingresos por suscripciones de Google Play, puedes:

  • Crear un tema en el que AppsFlyer reciba directamente las notificaciones RTDN de Google Play. Esta es la opción recomendada y, si la eliges, continúa con las instrucciones siguientes.
  • Establece AppsFlyer como suscriptor de tu tema PUB/SUB preexistente. Si eliges esta opción en lugar de la anterior, ve al siguiente paso.

Pré-requisitos: Acceso a Google Play Console y AppsFlyer UI.

Para enviar notificaciones de Google Play directamente a AppsFlyer:

  1. En AppsFlyer, en el menú lateral, ve a Configuración > Configuración de ingresos, selecciona tu aplicación y, en la pestaña Compras y suscripciones, selecciona Permitir tema de AppsFlyer para recibir mensajes RTDN directamente de Google.
  2. Copia el tema de AppsFlyer en el portapapeles.
  3. En Google Play Console > Inicio, selecciona para ver tu aplicación. Se abre el dashboard.
  4. Ve a Monetizar con Play > Configuración de la monetización y, en la sección Facturación de Google Play, asegúrate de que está marcada la opción Activar notificaciones en tiempo real.
  5. en el campo Nombre del tema, pega la dirección del tema de AppsFlyer que has copiado.
  6. Para el contenido de la notificación, selecciona Suscripciones, compras anuladas y todos los productos de un solo uso.
  7. Haz clic en Guardar cambios.
    Puede tardar un tiempo (a veces incluso 24 horas) en hacer efecto. Por lo tanto, espera antes de realizar la prueba.

1.6. [Opcional] Reenviar las notificaciones de Google Play a AppsFlyer.

Nota: Este paso es sólo para cuando no has elegido el método recomendado para recibir los datos de compra in-app y los ingresos de suscripción de Google Play mediante el envío de notificaciones directamente a AppsFlyer. Si has completado los pasos del método recomendado, para crear un tema en el que AppsFlyer reciba directamente las notificaciones RTDN de Google Play, salta este paso.

Si, en cambio, deseas establecer AppsFlyer como suscriptor de tu tema PUB/SUB preexistente, continúa con las instrucciones a seguir.

Pré-requisitos: Acceso a Google Cloud Platform y AppsFlyer UI.

Para reenviar las notificaciones de Google Play a AppsFlyer:

  1. En AppsFlyer, en el menú lateral, ve a Configuración > Configuración de ingresos, selecciona tu aplicación y, en la pestaña Compras y suscripciones, selecciona Reenviar tus mensajes del tema RTDN a AppsFlyer.
  2. Copie la URL del endpoint en el portapapeles.
  3. En Google Cloud Platform, bajo tu proyecto, busca Pub/Sub.
  4. En Pub/Sub, ve a la sección Temas y verifica que tengas un tema pub/sub específico para suscripciones.
  5. En Pub/Sub, ve a la sección Suscripciones y haz clic en Crear suscripción.
  6. Introduce el ID de suscripción.
  7. Selecciona el tema pub/sub de suscripción correspondiente en el menú desplegable.
  8. Para Tipo de entrega, selecciona Push.
  9. Pega la URL del endpoint que has copiado de AppsFlyer.
  10. En Periodo de caducidad, selecciona No caduca nunca.
  11. Haz clic en Crear.
  12. Ve a la sección Suscripciones y haz clic en el nombre del tema que deseas.
  13. Copia el nombre del tema en el portapapeles.
  14. En Google Play Console, ve a Monetizar con Play > Configuración de la monetización y, en la sección Facturación de Google Play, en el campo Nombre del tema, pega el nombre del tema que has copiado en el paso anterior.
  15. Para el contenido de la notificación, selecciona Suscripciones, compras anuladas y todos los productos de un solo uso.
  16. Haz clic en Guardar cambios.
    Puede tardar un tiempo (a veces incluso 24 horas) en hacer efecto. Por lo tanto, espera antes de realizar la prueba.

1.7. Seleccionar tipos de medición de ingresos en AppsFlyer

Para seleccionar los tipos de medición de ingresos:

  1. En AppsFlyer, en el menú lateral, selecciona Configuración > Configuración de ingresos > Compras y suscripciones, y activa una o ambas:
    • Validar compras con Google Play.
    • Atribuir y registrar las suscripciones autorrenovables.
  2. [Opcional] Marca Permitir que AppsFlyer elimine las transacciones duplicadas que ya se reportaron. Esto asegura que no se registren transacciones duplicadas.
  3. [Opcional] Marca Permitir que AppsFlyer haga un seguimiento automático de las transacciones pendientes, aplazadas o reembolsadas en mi nombre. Esto permite a AppsFlyer registrar correctamente todas las transacciones.
  4. Haz clic en Guardar.
    Puede tardar un tiempo (a veces incluso 24 horas) en hacer efecto. Por lo tanto, espera antes de realizar la prueba.

Paso 2: Configurar la integración con iOS App Store

Antes de empezar:

  • La configuración de compras in-app e ingresos por suscripciones consta de pasos que se realizan en App Store Connect y en la Interfaz de Usuario de AppsFlyer. Mantén abiertas las pestañas de App Store Connect y AppsFlyer durante la configuración.
  • La configuración en la interfaz de usuario de AppsFlyer requiere permisos de administrador.

Sigue las instrucciones de las pestañas siguientes para configurar las notificaciones de la App Store.

2.1 Obtén tu clave secreta compartida de App Store Connect

Para obtener tu clave secreta compartida de App Store Connect:

  • En App Store Connect, selecciona tu aplicación. En la sección Información de la aplicación, desplázate hasta App-Specific Shared Secret y haz clic en Administrar para obtener la clave secreta compartida de App Store Connect. Copia la clave en el portapapeles.

2.2 Cargar la clave secreta compartida en AppsFlyer

Para cargar tu clave secreta compartida:

  1. En AppsFlyer, en el menú lateral, selecciona Configuración > Configuración de ingresos > Compras y suscripciones.
    Se abre la página de configuración de ingresos.
  2. Introduce tu clave secreta compartida de App Store Connect.

2.3 [Recomendado] Enviar notificaciones de la App Store directamente a AppsFlyer

Apple sólo puede enviar notificaciones de servidor a un endpoint, ya sea al de AppsFlyer (recomendado) o a tu endpoint (y reenvías las notificaciones a AppsFlyer).

Si eliges la opción recomendada, para enviar notificaciones directamente a AppsFlyer, continúa con las instrucciones siguientes.

Si decide reenviar las notificaciones de tu endpoint a AppsFlyer, ve al siguiente paso.

Para enviar notificaciones directamente a AppsFlyer:

  1. En la configuración de ingresos de AppsFlyer, copia el endpoint de notificaciones del servidor de AppsFlyer para introducirlo en la configuración de App Store Connect.
  2. En App Store Connect, en la sección Información de la app, desplázate hasta App Store Server Notifications y pega el endpoint de AppsFlyer en los campos Production Server URL y Sandbox Server URL.
    /guide-media/01HH9D9BGV8H7XHW44WN00V11M
  3. En Versión de las notificaciones, selecciona versión 2 de las Notificaciones.
    /guide-media/01J32P8MSTSSKYMSGSR25SN05H
  4. Haga clic en Guardar.
  5. Si deseas recibir una copia de las notificaciones, en AppsFlyer (igual que en el paso 2), introduce tu endpoint de reenvío de notificaciones y haz clic en Guardar.

2.4 [Opcional] Reenviar las notificaciones de tu endpoint a AppsFlyer

Nota: Este paso es sólo para cuando no has elegido el método recomendado para enviar notificaciones directamente a AppsFlyer. Si has completado los pasos del método recomendado, salta este paso.

Si, en cambio, deseas enviar notificaciones a tu endpoint y luego reenviarlas desde tu endpoint a AppsFlyer, continúa con las instrucciones a seguir.

Para reenviar notificaciones del servidor desde tu punto final a AppsFlyer:

  1. En App Store Connect, en la sección Información de la aplicación, desplázate hasta App Store Server Notifications y pega tu endpoint en los campos Production Server URL y Sandbox Server URL.
    /guide-media/01HH9D9BGV8H7XHW44WN00V11M
  2. En Versión de las notificaciones, selecciona versión 2 de las Notificaciones.
    /guide-media/01J32P8MSTSSKYMSGSR25SN05H
  3. Haga clic en Guardar.
  4. Configura el envío de las notificaciones del servidor de Apple desde tu backend a la URL del endpoint de notificación de AppsFlyer. Nota: Las solicitudes deben ser exactamente como se reciben de la App Store. Ver los requisitos del formato de Apple

2.5 Seleccionar tipos de medición de ingresos en AppsFlyer

  1. En la página de configuración de las compras in-app y de los ingresos por suscripción de AppsFlyer, activa una o ambas opciones:
    • Atribuir y registrar las suscripciones autorrenovables (ARS).
    • Validar las compras con Apple App Store.
  2. [Opcional] Marca Permitir que AppsFlyer deduplique transacciones que ya fueron reportadas.
    Esto asegura que no se registren transacciones duplicadas.
  3. [Opcional] Marca Permitir que AppsFlyer notifique automáticamente los ingresos negativos de los reembolsos de transacciones. Esto garantiza que se registren las devoluciones, cancelaciones, etc.
  4. [Opcional] Marca Deduplicar ingresos para compras de Compartir en Familia.
    De este modo se garantiza que no se registren ingresos duplicados por las compras de compartir en familias. Los eventos de ingresos para otros miembros de la familia incluyen el parámetro purchase_ownership_type=FAMILY_SHARED y muestran cero ingresos.

Paso 3: Integrar el conector del SDK de compra

Para integrar el conector del SDK:

Paso 4: Probar la medición de las compras in-app y los ingresos por suscripción

Lo mejor es probar las integraciones de compras in-app y de ingresos por suscripción en un entorno sandbox para asegurarse de que el conector SDK esté correctamente integrado y de que las notificaciones del servidor estén correctamente configuradas y sean recibidas por AppsFlyer.

Antes de la prueba, asegúrate de que tu desarrollador configure el entorno de Sandbox en el conector SDK (estableciendo Sandbox como true). Esto permite a ROI360 crear solo eventos in-app de entorno de pruebas con 0 ingresos para las pruebas. Por lo tanto, los datos de producción no se ven afectados.

Consideraciones sobre el entorno sandbox

En un entorno de sandbox:

  • Sólo los eventos de compra iniciales hacen que el conector SDK produzca un evento que es registrado por AppsFlyer. Un evento de compra in-app se llama af_purchase_sandbox_sdk. Un evento de suscripción se llama af_ars_sandbox_sdk.
  • Todos los demás eventos de compra se descartan, lo que significa que el conector SDK no produce ningún evento.
  • Las notificaciones entrantes del servidor solo se procesan si el conector del SDK registra primero la transacción original. En este caso, se produce un evento de compra in-app llamado af_purchase_sandbox_s2s. Se produce un evento de suscripción llamado af_ars_sandbox_s2s.
  • No se produce ningún evento para ninguna notificación del servidor para la cual el conector del SDK no haya registrado primero la transacción original.
  • Para iOS, asegúrate de que en App Store Server Notifications en App Store connect, el endpoint de AppsFlyer esté configurado como tu Sandbox Server URL.
    ASSN.png
  • Para iOS, si el evento af_purchase_sandbox_sdk contiene el parámetro af_sandbox_revenue con un valor de ingresos, significa que en producción, sería un evento af_purchase normal. Si no hay ingresos, en producción sería un evento af_purchase_free.
  • Para Android, las pruebas realizadas por los License Testers (Probadores de Licencias) dan como resultado eventos de entorno de sandbox incluso si el entorno de pruebas en el SDK no está configurado.

Probar las compras in-app y los ingresos por suscripciones

Para las compras in-app y los ingresos por suscripciones:

  1. Dile a tus desarrolladores que sigan las instrucciones de Android, iOS y Unity para configurar el entorno Sandbox en el conector SDK.
  2. Haz una compra de prueba. También son compatibles las transacciones realizadas por License Tester en Google Play y desde TestFlight en iOS.
    Nota: Cualquier producto de suscripción sólo puede probarse una vez desde cada dispositivo de prueba. En otras palabras, no puedes registrar varias compras de prueba del mismo abono desde el mismo dispositivo, ya que no quedarán registradas.
  3. Comprueba que el evento se muestra en el dashboard de actividad de AppsFlyer. Un evento de compra in-app se llama af_purchase_sandbox_sdk. Un evento de suscripción se llama af_ars_sandbox_sdk. Estos eventos incluyen:
    • Un valor de ingresos 0 (para no distorsionar los reportes reales de AppsFlyer).
    • Un parámetro af_sandbox_revenue que incluye el valor de ingresos del producto comprado para asegurarte de que se reporten los ingresos correctos.
  4. Si estás probando un producto de suscripción, dale un tiempo para que AppsFlyer reciba una notificación del servidor. Suele ocurrir pocos minutos después de la compra inicial. 
  5. Comprueba que se muestra un evento en el dashboard de actividad de AppsFlyer. La compra de una suscripción autorrenovable se llama af_ars_sandbox_s2s. El evento incluye:
    • Un valor de ingresos 0 (para no distorsionar los reportes reales de AppsFlyer).
    • Un parámetro af_sandbox_revenue que incluye el valor de ingresos del producto comprado para asegurarte de que se reporten los ingresos correctos.

Paso 5: Lanzar las versiones de la aplicación con el conector SDK

Con todos los pasos anteriores listos y el conector SDK de compra de AppsFlyer integrado en tu aplicación, dile a tu desarrollador que publique la versión de la aplicación con el conector SDK integrado.

Sin embargo, antes de que el desarrollador publique la nueva versión de la aplicación, asegúrate de que:

  • Los eventos in-app que deseas capturar como compra in-app o suscripción no están bloqueados por una de las reglas de validación que has configurado en AppsFlyer.
  • Tu desarrollador debe tener cualquier bandera en sandbox marcada como falsa.
  • Para iOS, asegúrate de que en App Store Server Notifications en App Store Connect, el endpoint de AppsFlyer esté configurado como tu Sandbox Server URL.
    ASSN.png

Una vez lanzada la aplicación con el conector SDK, se generarán compras in-app y eventos de suscripción, que estarán disponibles en todos los dashboards de AppsFlyer, así como en reportes de raw data y datos agregados, incluyendo el ETL de ingresos.

Nota: Sólo se generarán eventos para los usuarios que hayan actualizado a una versión de la aplicación que incluya el conector SDK. En consecuencia, hasta la adopción completa de la versión actualizada de la aplicación, se espera una discrepancia entre los datos de ingresos de la aplicación y los datos de la tienda.