Importar datos históricos en Adapty

Después de instalar el SDK de Adapty y publicar tu app, puedes acceder a tus usuarios y suscriptores en la sección Profiles. Pero ¿qué pasa si tienes una infraestructura legacy y necesitas migrar a Adapty, o simplemente quieres ver tus datos existentes en Adapty?

La importación de datos no es obligatoria

Adapty otorgará automáticamente niveles de acceso a los usuarios históricos y restaurará sus eventos de compra en cuanto abran la app con el SDK de Adapty integrado. Para este caso de uso, importar datos históricos no es necesario. Sin embargo, importar los datos garantiza unas analíticas precisas si tienes un volumen significativo de transacciones históricas, aunque en general no es un requisito para la migración.

Para importar datos en Adapty:

  1. Exporta tus transacciones a un archivo CSV (se deben proporcionar archivos separados para iOS, Android y Stripe). Consulta la sección Formato del archivo de importación más abajo para conocer los requisitos detallados.
  2. Si algún archivo supera 1 GB, prepara una muestra de datos con aproximadamente 100 líneas.
  3. Sube todos los archivos a Google Drive (puedes comprimirlos, pero mantenlos separados).
  4. Para las transacciones de iOS, asegúrate de que la sección In-app purchase API en App settings esté completada con el Issuer ID, Key ID y la Private key (archivo .P8), incluso si usas StoreKit 1. Consulta las secciones Provide Issuer ID and Key ID y Upload In-App Purchase Key file para obtener instrucciones detalladas.
  5. Comparte los enlaces con nuestro equipo a través de correo electrónico o del chat en línea en el Adapty Dashboard.

No te preocupes: importar datos históricos no creará duplicados, aunque esos datos se solapen con entradas ya existentes en Adapty.

Limitaciones conocidas para Android

  1. Solo se restaurarán las suscripciones activas; las transacciones expiradas no se restaurarán.
  2. Solo se restaurarán las renovaciones más recientes de una suscripción; no se restaurará toda la cadena de compras.
  3. Si el precio del producto ha cambiado desde la compra, se utilizará el precio actual, lo que puede dar lugar a precios incorrectos.

Si tienes un gran volumen de transacciones de Android, es posible que necesites solicitar un aumento de cuota de la Google Play Developer API antes de comenzar la importación para evitar superar el límite predeterminado de la API.

Formato del archivo de importación

Si estás migrando desde RevenueCat, puedes enviar el archivo de exportación de RevenueCat directamente, sin necesidad de convertirlo. Consulta la documentación de RevenueCat para obtener instrucciones de exportación.

Prepara tus datos en uno o varios archivos que cumplan las siguientes reglas:

  • El formato del archivo es .CSV.
  • Archivos separados para importaciones de Android, iOS y Stripe.
  • Cada archivo de importación contiene todas las columnas requeridas.
  • Las columnas de los archivos de importación tienen encabezados.
  • Los encabezados de columna coinciden exactamente con los de la columna Column name de la tabla de abajo. Comprueba que no haya errores tipográficos.
  • Las columnas que no son obligatorias pueden estar ausentes del archivo. No añadas columnas vacías para datos que no tengas.
  • Los archivos de importación no deben tener columnas adicionales que no se mencionen en la tabla. Si las hay, elimínalas.
  • Los valores están separados por comas.
  • Los valores no están entre comillas.
  • Si hay varios apple_original_transaction_id para un mismo usuario, añádelos todos como líneas separadas para cada apple_original_transaction_id. De lo contrario, es posible que no podamos restaurar las compras consumibles.

Usa los siguientes archivos como ejemplos para iOS y Android.

Columnas disponibles en el archivo de importación

Nombre de columnaPresenciaDescripción
user_idobligatorioID de tu usuario
apple_original_transaction_idobligatorio para iOS

El ID de transacción original u OTID (más información), utilizado en el mecanismo de importación de StoreKit 2. Como un usuario puede tener varios OTID, basta con proporcionar al menos uno para una importación exitosa.

Nota: Para esta importación es necesario que las credenciales de la In-app purchase API estén configuradas en tu Adapty Dashboard. Aprende cómo hacerlo aquí.

google_product_idobligatorio para GoogleID del producto en la Google Play Store.
google_purchase_tokenobligatorio para GoogleIdentificador único que representa al usuario y el ID del producto de la compra in-app que realizó
google_is_subscriptionobligatorio para GoogleLos valores posibles son 1 | 0
stripe_tokenobligatorio para StripeToken de un objeto de Stripe que representa una compra única. Puede ser el token de una Suscripción de Stripe (sub_...) o de un Payment Intent (pi_...).
subscription_expiration_dateopcionalLa fecha de expiración de la suscripción, es decir, la próxima fecha de cobro, con fecha y hora con zona horaria (2020-12-31T23:59:59-06:00)
created_atopcionalFecha y hora de creación del perfil (2019-12-31 23:59:59-06:00)
birthdayopcionalLa fecha de nacimiento del usuario en formato 2000-12-31
emailopcionalEl correo electrónico de tu usuario
genderopcionalEl género del usuario
phone_numberopcionalEl número de teléfono de tu usuario
countryopcionalformato ISO 3166-1 alpha-2
first_nameopcionalEl nombre de tu usuario
last_nameopcionalEl apellido de tu usuario
last_seenopcionalLa fecha y hora con zona horaria (2020-12-31T23:59:59-06:00)
idfaopcionalEl identificador para anunciantes (IDFA) es un identificador de dispositivo aleatorio que Apple asigna al dispositivo del usuario. Solo aplicable a apps de iOS
idfvopcionalEl identificador para proveedores (IDFV) es un código único asignado a todas las apps desarrolladas por un mismo desarrollador, en este caso las tuyas. Solo aplicable a apps de iOS
advertising_idopcionalEl Advertising ID es un código único asignado por el sistema operativo Android que los anunciantes pueden usar para identificar de forma única el dispositivo de un usuario
amplitude_user_idopcionalEl ID de usuario de Amplitude
amplitude_device_idopcionalEl ID de dispositivo de Amplitude
mixpanel_user_idopcionalID de usuario de Mixpanel
appmetrica_profile_idopcionalID de perfil de usuario de AppMetrica
appmetrica_device_idopcionalEl ID de dispositivo de AppMetrica
appsflyer_idopcionalIdentificador único de AppsFlyer
adjust_device_idopcionalEl ID de dispositivo de Adjust
facebook_anonymous_idopcionalIdentificador único generado por Facebook para usuarios que interactúan con tu app o sitio web de forma anónima, es decir, sin haber iniciado sesión en Facebook
branch_idopcionalIdentificador único de Branch
attribution_sourceopcionalLa integración de origen de la atribución, por ejemplo, appsflyer
attribution_statusopcionalorganic
attribution_channelopcionalEl canal de atribución que trajo la transacción
attribution_campaignopcionalLa campaña de atribución que trajo la transacción
attribution_ad_groupopcionalEl grupo de anuncios de atribución que trajo la transacción
attribution_ad_setopcionalEl conjunto de anuncios de atribución que trajo la transacción
attribution_creativeopcionalElementos visuales o textuales específicos utilizados en un anuncio o campaña de marketing que se rastrean para determinar su efectividad a la hora de generar acciones deseadas, como clics, conversiones o instalaciones
custom_attributesopcionalDefine hasta 30 atributos personalizados como un diccionario JSON en formato clave-valor:
  • key: (string) El nombre del atributo personalizado
  • value: (string, entero, float o booleano) El valor del atributo personalizado.

Formato: "{'string_value': 'some_value', 'float_value': 123.0, 'int_value': 456}".

Ten en cuenta el uso de comillas dobles y simples en el formato. Los valores booleanos y enteros se convertirán a float.

Campos obligatorios

Hay 2 grupos de campos obligatorios para cada plataforma: user_id y los datos que identifican las compras específicas de la plataforma correspondiente. Consulta la tabla a continuación para conocer los campos obligatorios por plataforma.

PlataformaCampos obligatorios
iOS

user_id

apple_original_transaction_id

Android

user_id

google_product_id

google_purchase_token

google_is_subscription

Stripe

user_id

stripe_token

Sin estos campos, Adapty no podrá obtener las transacciones.

Para unas analíticas de cohorte precisas, especifica created_at. Si no se proporciona, asumiremos que la fecha de instalación coincide con la fecha de la primera compra.

Importar datos en Adapty

Ponte en contacto con nosotros y comparte tus archivos de importación a través de [email protected] o del chat en línea en el Adapty Dashboard.