Data Locker: raw data en un repositorio en la nube

De un vistazo: Data Locker escribe el raw data en un repositorio en la nube casi en tiempo real (demora de 6 horas). Los datos se pueden escribir en un bucket AWS de AppsFlyer o en tu bucket AWS. 

6133_Data_Locker_-_your_bucket.png

Data Locker

Características principales de Data Locker

  • Aplicaciones: soporta varias aplicaciones que se agregan automáticamente.
  • Confiabilidad: los datos se almacenan en un repositorio en la nube (bucket) de tu elección.
  • Flexibilidad: elige qué datos incluir.
  • Granularidad: los datos se segmentan en tipos de reportes, días y horas.
  • Accesibilidad: se pueden extraer datos cuando sea necesario.
  • Actualización de los datos: 6 horas de demora o diaria según el tipo de reporte. El tiempo de demora es el mismo (6 horas) independientemente de la zona horaria específica de la aplicación. 
  • Propiedad del bucket:
    • Obtén los datos a través de un bucket AWS propio de AppsFlyer. Retención de datos: 30 días.
    • Obtén los datos a través de un proveedor de servicios en la nube en un repositorio de tu propiedad. Retención de datos: controlada por ti. 

Reportes disponibles en Data Locker

Reportes de atribución central: UA y retargeting
Categoría Tipo de reporte (tema) Actualización de los datos* Orgánico/No-orgánico Exclusivo del Data Locker
La adquisición de usuarios Clics Demora de 6 horas N/A
Retargeting Clics Demora de 6 horas N/A
La adquisición de usuarios Impresiones Demora de 6 horas N/A
Retargeting Impresiones Demora de 6 horas N/A
La adquisición de usuarios Instalaciones Demora de 6 horas Ambos  
La adquisición de usuarios Eventos in-app  Demora de 6 horas Ambos  
La adquisición de usuarios Ingresos por publicidad atribuidos Diariamente+2 No orgánico  
La adquisición de usuarios Ingresos por publicidad orgánicos Diariamente+2 Orgánico  
Retargeting Ingresos por publicidad por retargeting Diariamente+2 No orgánico  
Retargeting Conversiones Demora de 6 horas No orgánico  
Retargeting Eventos in-app Demora de 6 horas No orgánico  
Retargeting Sesiones Demora de 6 horas Ambos
La adquisición de usuarios Sesiones Demora de 6 horas Ambos
La adquisición de usuarios Desinstalar Desinstalación diaria No orgánico  
La adquisición de usuarios Desinstalaciones orgánicas Desinstalación diaria Orgánico  
Reinstalaciones Reinstalaciones Demora de 6 horas No orgánico  
Reinstalaciones Reinstalaciones orgánicas Demora de 6 horas Orgánico  
Protect360
Tipo de reporte (tema) Actualización de los datos*
Instalaciones bloqueadas Demora de 6 horas
Eventos in-app bloqueados  Demora de 6 horas
Clics bloqueados Demora de 6 horas
[AG*] Instalaciones posteriores a la atribución Diario
SKAdNetwork
Actualización de datos: diaria 
Tipo de reporte (tema)
[FF*] Postbacks
[FF*] Instalaciones
[FF*] Redescargas
[FF*] Eventos in-app
Atribución basada en las personas
Actualización de datos: diaria
Tipo de reporte (tema)
[FF*] Visitas al sitio web
[FF*] Eventos del sitio web
[FF*] Instalaciones asistidas por el sitio web
[FF*] Rutas de conversión
Referencia para las abreviaturas

* Referencia para las abreviaturas

[FF] Appsflyer determina los campos de los informes. No están relacionados con los campos seleccionados para incluir en los informes.

[AG] No soporta la transparencia de la agencia (agency transparency).

Demora de 6 horas: los datos se separan en carpetas de horas de llegada. Esa es la hora en que se depositó el evento en Data Locker. Algunas carpetas de Data Locker se escriben unas seis horas después de la hora del evento real para eventos en tiempo real. Hay 24 carpetas, una para cada hora del día, de 0 a 23, y una carpeta adicional para los datos que llegan tarde. El tiempo de demora es el mismo independientemente de la zona horaria específica de la aplicación.

Diaria: Los reportes se escriben en la carpeta h=23. Estos reportes suelen estar disponibles entre las 10:00-12:00 UTC en la carpeta h=23 del día anterior. Por ejemplo, el reporte de los datos generados durante el lunes se encuentra en la carpeta H=23 del lunes. Los datos están disponibles después de las 10:00 UTC del martes. 

Desinstalación diaria: Estos reportes suelen estar disponibles entre las 10:00-12:00 UTC en la carpeta h=2 para las desinstalaciones reportadas el día anterior. Por ejemplo, el reporte de los datos generados durante el lunes se encuentra en la carpeta h=2 del martes. Los datos están disponibles después de las 10:00 UTC del martes. 

Diariamente+2: Los datos de ingresos por publicidad están disponibles después de 2 días, lo que significa que los datos generados a lo largo del lunes estarán disponibles en la carpeta H=23 del lunes después de las 06:00 UTC del miércoles.

Arquitectura del Data Locker

En tu repositorio de datos (bucket), los datos se organizan por tipo de reporte. Los datos de un reporte determinado se almacenan en su carpeta divididos en datos de escritura y por hora, como se muestra en la siguiente figura. 

DataLockerFileStructure.png

La estructura de carpetas de Data Locker es: <cloud service repository>/data-locker-hourly/t=<report type>/dt=<date YYYY-MM-DD>/h=<Hour h, donde:

  • <cloud service repository> es el nombre de tu <bucket> y <folder>. 
    • En un repositorio AWS de AppsFlyer, el bucket es una extensión para los reportes y la carpeta se configura por cuenta y se muestra en la página de configuración. 
    • En el caso de tu bucket AWS, el repositorio es af-datalocker-nombre de tu carpeta. 
  • <t=report type> El tipo de reporte contenido en la carpeta
  • <dt= folder date> La fecha en que se escribieron los datos con el formato aaaa-mm-dd.
  • <h=hours> La hora en que se escribieron los datos. Puede haber hasta 25 carpetas por hora. Estas carpetas representan la hora de llegada del evento, no la hora del evento en sí. Las carpetas se denominan h=0, h=1, h=2, etc., hasta h=23, y h=late (tarde). Por ejemplo, la carpeta h=0 contiene los eventos que llegan entre las 00:00 UTC y la 01:00 UTC, de la misma manera, la carpeta h=20 contiene los eventos que llegan entre las 20:00 y las 21:00. Para los reportes escritos a diario, solo existe la carpeta h=23. 
  • En cada carpeta:

    • Los datos pueden dividirse en varios archivos para evitar archivos grandes.  Los archivos se denominan: part-00000, part-00001, part-00002, y así sucesivamente. Puede haber hasta 1000 archivos. Es posible que aumentemos este número máximo en el futuro sin previo aviso.

    • El último archivo que se escribe siempre es un archivo vacío llamado _SUCCESS. Este archivo es un indicador que señala que no se escribirán más datos en la carpeta. Por lo tanto, no leas datos en una carpeta antes de verificar que el archivo _SUCCESS  existe. Nota: El indicador _SUCCESS también se escribe en los casos en que no hay datos para escribir en la carpeta. 

  • Carpeta Late

    • La carpeta Late (tarde) contiene eventos del día anterior que llegaron después de la medianoche. Es decir que llegan entre las 00:00–02:00 UTC del día siguiente. Por ejemplo, un usuario instala una aplicación el lunes a las 08:00 y el evento llega el martes a la 01:00. El evento se registra en la carpeta Late del lunes. 

    • La carpeta también contiene el indicador _SUCCESS como se describe en la sección anterior.

    • Los datos de la carpeta Late no se registran en ninguna otra carpeta.

    • Los procesos automatizados deben buscar datos en la carpeta Late de manera similar a la de la otra carpeta. 

Formato y estructura de archivos

  • Los archivos de Data Locker se basan en Reportes de raw data V5 (ver: Reportes de raw data V5).
  • El archivo de datos real está en formato CSV pero no tiene extensión de archivo.
  • Los archivos de reportes se comprimen en formato .gz (.p12). 
  • Cada archivo tiene una fila de encabezado.
  • Los valores que tienen una coma están contenidos por comillas dobles `"`, por ejemplo `"iPhone6,1"`.

Usar reportes como fuentes de datos

Puedes usar los datos de los reportes y agregarlos a tus propias bases de datos. Para extraer los datos y agregarlos a tus bases de datos, debes conocer el formato del reporte. Los reportes de Data Locker se basan en reportes de raw data. Sin embargo, el formato del reporte final depende de los campos que elijas incluir.

Algunos campos se completan con null o están vacíos. Esto significa que en el contexto de un reporte determinado no hay datos para reportar. En general, null  (nulo) significa que este campo no se completa en el contexto de un reporte determinado y tipo de aplicación. Blank "" (en blanco) significa que el campo es relevante en su contexto, pero no se encontraron datos para completarlo. 

Zona horaria y moneda

La configuración de la zona horaria y moneda específicas de la aplicación no afecta los datos en Data Locker.

  • Zona horaria: los reportes de Data Locker usan la zona horaria UTC.
  • Moneda: el campo event_revenue_usd está en USD. 

Bucket AWS de AppsFlyer vs. bucket AWS del cliente

 Precaución

Si estás usando la solución del bucket AWS del cliente: 

  • Asegúrate de cumplir con las regulaciones de privacidad de datos como el RGPD y las políticas de retención de datos de redes de publicidad/SRN.
  • No uses la solución del bucket AWS del cliente para enviar datos a terceros. 
  • Los datos se escriben en un propietario del bucket de tu elección de la siguiente manera:
    • Bucket AWS de AppsFlyer
    • Bucket AWS del cliente
  • Puedes cambiar la selección del propietario del bucket en cualquier momento:
    • Cambia de un bucket AWS de AppsFlyer a un bucket AWS del cliente en la interfaz de usuario. El cambio entrará en vigor en el transcurso de una hora. Esto significa que dejamos de escribir datos en un bucket y empezamos a escribir datos en el nuevo bucket seleccionado. 
    • Si quieres dejar de usar tu bucket de cliente, selecciona el bucket de AppsFlyer. 
  Bucket AWS de AppsFlyer Bucket AWS del cliente
Nombre del bucket Configurado por AppsFlyer

Configurado por ti Debe tener el prefijo af-datalocker-.

Ejemplo: af-datalocker-tu-nombre-de-bucket

Propiedad del bucket AppsFlyer Cliente
Plataforma de almacenamiento admitida AWS AWS 
Credenciales para que accedas a los datos Disponible para el administrador en la interfaz de usuario de Data Locker AppsFlyer no las conoce. Usa tus credenciales de AWS.
Retención de datos Los datos se eliminan después de 30 días Tu responsabilidad
Solicitudes de eliminación de datos Responsabilidad de AppsFlyer Tu responsabilidad
de la nube AppsFlyer controla el bucket. El cliente tiene acceso de lectura. El cliente controla el bucket. AppsFlyer requiere permiso de GetObject, ListBucket, DeleteObject, PutObject para el bucket. El uso del bucket debe ser exclusivo de AppsFlyer. No lo uses para otros fines.
Espacio de almacenamiento Gestionado por AppsFlyer Gestionado por ti

Procedimientos

Configurar el Data Locker

Usa este procedimiento para configurar el Data Locker. Los cambios en la configuración de Data Locker tardan hasta 3 horas en surtir efecto. 

Requisito previo para configurar el bucket AWS del cliente:

Si estás configurando el Data Locker usando tu bucket AWS del cliente, es decir, un bucket de tu propiedad, primero debes completar la configuración de tu bucket AWS S3.

AppsFlyerAdmin_us-en.png Para configurar el Data Locker:

  1. El administrador debe realizar la configuración. 
  2. En Appsflyer, accede a Integración > Data Locker. 
  3. Elige el método de integración de Amazon S3. Selecciona una de las siguientes opciones:
    • Bucket AWS de AppsFlyer. Pasa al paso 4. 
    • Bucket AWS del cliente.
      1. Ingresa el nombre de tu bucket AWS. No incluyas el prefijo af-datalocker-.
      2. Haz clic en Prueba.
      3. Verifica que no se muestre ningún mensaje de error que indique que la ruta del bucket es inválida.
  4. Selecciona una, más o todas las aplicaciones. Selecciona todas para incluir automáticamente las aplicaciones que agregues en el futuro.
  5. Haz clic en Aplicar
  6. [opcional] Fuentes de medios: Selecciona una o más Fuentes de medios para incluir en los reportes.
    • Predeterminada=All. Significa que las fuentes de medios que agregues en el futuro se agregan automáticamente.
  7. Selecciona uno o más tipos de reportes.
  8. [opcional] Eventos in-app: Selecciona los eventos in-app a incluir. Si tienes más de 100 tipos de eventos in-app, no puedes buscarlos. Ingresa sus nombres con precisión para seleccionarlos. 
    • Predeterminada=All. Significa que los eventos in-app que agregues en el futuro se agregan automáticamente.
  9. Haz clic en Aplicar
  10. [opcional] Campos (predeterminada=All): selecciona los campos para incluir en los reportes. Nota: Ocasionalmente agregamos campos nuevos, debes tener esto en cuenta en el proceso de importación de datos.
  11. Haz clic en Guardar configuración. Una de las siguientes situaciones ocurre:
    • Si seleccionaste AppsFLyer AWS bucket:
      • Se crea un AWS bucket exclusivo. Se muestran las credenciales del bucket.
      • Se puede acceder al bucket utilizando las credenciales. Las credenciales brindan acceso al bucket solo para lectura.
    • Si seleccionaste Bucket AWS del cliente.:
      • Los datos se escribirán en tu bucket AWS en un plazo de 3 horas.

Configurar Data Locker: tu bucket AWS S3

Tu administrador de AWS debe llevar a cabo el procedimiento en esta sección.

Puedes eliminar archivos de Data Locker 25 horas después de su escritura o más. No los elimines antes. 

Antecedentes para el administrador de AWS: 

  • AppsFlyer escribe tus datos en un bucket S3 de tu propiedad. Para ello, se requiere lo siguiente:
    • Crear un bucket con el nombre af-datalocker-mybucket. El prefijo af-datalocker- es obligatorio. El sufijo es texto libre.
  • Sugerimos af-datalocker-aaaa-mm-dd-hh-mm-texto-libre. Donde aaaa-mm-dd-hh-mm son la fecha y hora actuales, y luego agregas cualquier otro texto que quieras, como se muestra en la siguiente figura.
    Interfaz de usuario en la consola AWS

    MyBucket.jpg

  • Una vez creado el bucket, concede los permisos a AppsFlyer mediante el siguiente procedimiento. 

Para crear un bucket y otorgar permisos a AppsFlyer: 

  1. Inicia sesión en la consola de AWS.
  2. Ve al servicio S3.
  3. Para crear el bucket:
    1. Haz clic en Crear bucket.
    2. Completa el Nombre del bucket de la siguiente manera: Comienza con af-datalocker- y luego agrega cualquier otro texto, tal como se describió anteriormente.
    3. Haz clic en Crear bucket.
  4. Para otorgar permisos a AppsFlyer:
    1. Selecciona el bucket. 
    2. Ve a la pestaña Permisos
    3. En la sección Política del bucket, haz clic en Editar. 
      Se abre la ventana de la Política del bucket.
    4. Pega el siguiente fragmento de código en la ventana.
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Sid": "AF_DataLocker_Direct",
            "Effect": "Allow",
            "Principal": {
              "AWS": "arn:aws:iam::195229424603:user/product=datalocker__envtype=prod__ns=default"
            },
            "Action": [
              "s3:GetObject",
              "s3:ListBucket",
              "s3:DeleteObject",
              "s3:PutObject"
            ],
            "Resource": [
              "arn:aws:s3:::af-datalocker-my-bucket",
              "arn:aws:s3:::af-datalocker-my-bucket/*"
            ]
          }
        ]
      }
      
  5. En el fragmento de código, reemplaza af-data-locker-my-bucket con el nombre del bucket que creaste.

  6. Haz clic en Guardar cambios.

  7. Completa la configuración del Data Locker.

Restablecer credenciales

El administrador puede restablecer las credenciales del bucket AWS de AppsFlyer en cualquier momento. Nota: Si restableces las credenciales, debes actualizar los scripts de importación de datos con las credenciales actualizadas.

AppsFlyerAdmin_us-en.pngPara restablecer las credenciales:

  1. En Appsflyer, accede a Integración > Data Locker. 
  2. En la sección Credenciales, haz clic en Restablecer credenciales.
    Aparece una ventana de confirmación.
  3. Haz clic en Restablecer.
  4. Espera aproximadamente 20 segundos hasta que aparezca el mensaje Credenciales restablecidas correctamente.
    Las credenciales actualizadas están disponibles.

Recuperación de datos

Utiliza tu herramienta de recuperación de datos de S3 preferida, AWS CLI, o una de las herramientas descritas en las secciones a continuación.

AWS CLI

Antes de comenzar:

  • Instala AWS CLI en tu computadora.
  • En AppsFlyer, accede a Data Locker, recupera la información incluida en el panel de credenciales, ya que es necesaria para realizar este procedimiento. 

Para usar AWS CLI:

  1. Abre la terminal. Para hacerlo en Windows, <Windows>+<R>, haz clic en Aceptar.
    Se abre la ventana de línea de comando.
  2. Ingresa aws configure
  3. Ingresa la clave de acceso de AWS tal como aparece en el panel de credenciales.
  4. Ingresa tu clave secreta de AWS tal como aparece en el panel de credenciales.
  5. Ingresa eu-west-1
  6. Presiona Entrar (Ninguno)

Usa los comandos de CLI que siguen según sea necesario.

En los siguientes comandos, se puede encontrar el valor de {home-folder}

Para enumerar carpetas en tu bucket

aws s3 ls s3://af-ext-reports/{home-folder}/data-locker-hourly/

Enumeración de archivos y carpetas

Hay tres tipos de carpetas en tu bucket de Data Locker:

  • Tipo de reporte t=
  • Fecha dt=
  • Hora h=

Para enumerar todos los reportes de un tipo de reporte específico:

aws s3 ls s3://af-ext-reports/{home-folder}/data-locker-hourly/t=installs/

Para enumerar todos los reportes de un tipo de reporte específico para un día específico:

aws s3 ls s3://af-ext-reports/{home-folder}/data-locker-hourly/t=installs/dt=2019-01-17

Para enumerar todos los reportes de un tipo de reporte específico en un hora específica para un día específico:

aws s3 ls s3://af-ext-reports/{home-folder}/data-locker-hourly/t=installs/dt=2019-01-17/h=23

Para descargar archivos para una fecha específica:

aws s3 cp s3://af-ext-reports/<home-folder>/data-locker-hourly/t=installs/dt=2020-08-01/h=9/part-00000.gz ~/Downloads/

Cyber Duck

Antes de comenzar:

  • Instala el cliente Cyber Duck.
  • En AppsFlyer, accede a Data Locker y recupera la información incluida en el panel de credenciales. Necesitarás esta información cuando configures Cyber Duck. 

Para configurar Cyber Duck:

  1. En Cyber Duck, haz clic en Acción.
  2. Selecciona Marcador nuevo. Se abre la ventana.
  3. En el primer campo, (marcado como [1] en la captura de pantalla a continuación), selecciona Amazon S3.

    DataDuckSmall2.png

  4. Completa los campos de la siguiente manera:
    • Apodo: texto libre
    • Servidor: s3.amazonaws.com
    • ID de clave de acceso: copia la clave de acceso de AWS tal como aparece en el panel de credenciales en AppsFlyer.
    • ID de clave secreta: copia la clave de acceso de AWS tal como aparece en el panel de credenciales en AppsFlyer.
    • Ruta: {Bucket Name}/{Home Folder} Por ejemplo: af-ext-reports/1234-abc-ffffffff
  5. Cierra la ventana, para hacerlo, usa la X en la esquina superior derecha de la ventana.
  6. Selecciona la conexión.
    Se muestran los directorios de datos.

Navegador Amazon S3

Antes de comenzar:

  • Instala el navegador Amazon S3.
  • En AppsFlyer, accede a Data Locker, recupera la información incluida en el panel de credenciales, ya que es necesaria para realizar este procedimiento. 

Para configurar el navegador Amazon S3:

  1. En el navegador S3, haz clic en Cuentas > Agregar Cuenta nueva.
    Se abre la ventana Agregar Cuenta Nueva.

    mceclip0.png

  2. Completa los campos de la siguiente manera:
    • Nombre de cuenta: texto libre. 
    • ID de clave de acceso: copia la clave de acceso de AWS tal como aparece en el panel de credenciales. 
    • Clave secreta de acceso: copia la clave secreta del bucket tal como aparece en el panel de credenciales.
    • Selecciona Cifrar claves de acceso con una contraseña e ingresa una contraseña. Anota esta contraseña.
    • Selecciona Usar transferencia segura.
  3.  Haz clic en Guardar cambios.
  4. Haz clic en Buckets > Agregar bucket externo.
    Se abre la ventana Agregar Bucket Externo.

    mceclip2.png

  5. Ingresa el Nombre del bucket.El nombre del bucket tiene el siguiente formato: {Bucket Name}/{Home Folder}. Los valores necesarios para el nombre del bucket y la carpeta de inicio aparecen en la ventana de credenciales. 
  6. Haz clic en Agregar bucket externo.
    El bucket se crea y se muestra en el panel izquierdo de la ventana.
    Ahora puedes acceder a los archivos de Data Locker. 

Información adicional

Rasgos y limitaciones

Características
Característica Observaciones 
Redes de publicidad No apto para el uso por parte de redes de publicidad. 
Agencias No apto para el uso por parte de agencias.
Zona horaria específica de la aplicación No corresponde. Las carpetas de Data Locker se dividen en horas usando UTC. Los eventos reales contienen horarios en UTC. Convierte los horarios a cualquier otra zona horaria según sea necesario. Independientemente de la zona horaria de tu aplicación, el lapso desde que ocurre el evento hasta que se registra en Data Locker sigue siendo el mismo, es decir, 6 horas. 
Divisa específica de la aplicación  No se admite
Limitaciones de tamaño No correponde
Actualización de los datos Los archivos se actualizan cada hora con un retraso de seis horas desde la hora del evento.
Historial de datos No se admite. Los datos del evento se envían después de configurar Data Locker. Si necesitas datos históricos, utiliza la Pull API. 
Acceso de miembros del equipo Los miembros del equipo no pueden configurar Data Locker. 
Aplicación única/múltiples aplicaciones Admite múltiples aplicaciones. Data Locker está a nivel cuenta

Consideraciones del desarrollador

Al preparar scripts para la carga de datos en tus sistemas, ten en cuenta lo siguiente:

  • Carpeta temporal:
    • En algunos casos queda una carpeta temporal. Debes ignorar esta carpeta.  Ejemplo: /data-locker-hourly/t=inapps/dt=2020-11-13/h=2/_temporarary/0/_temporary/.
    • Procesa solo las carpetas que tengan el indicador _SUCCESS
  • Secuencia de columnas en los reportes: 
    • La secuencia de campos en los reportes es siempre la misma. Cuando agregamos campos nuevos, estos se agregan a la derecha de los campos existentes. La lista de campos en la interfaz de usuario está secuenciada en consecuencia.

Resolución de Problemas

  • Síntoma: no se pueden recuperar datos con AWS CLI
  • Mensaje de error: Se produjo un error (AccessDenied) al solicitar la operación ListObjectsV2 operation: Acceso denegado
  • Causa: las credenciales de AWS que se utilizan no son las credenciales correctas para el bucket de AppsFlyer. Esto puede ser causado por tener credenciales múltiples o inválidas en tu máquina. 
  • Solución:
    1. Utiliza un método diferente, como Cyber Duck para acceder al bucket, es decir, que no sea CLI. Haz esto para verificar que las credenciales que estás utilizando funcionen. Si puedes conectarte con Cyber Duck, esto indica un problema con la caché de credenciales. 
    2. Actualiza la caché de credenciales de la AWS.
      Realiza una captura de pantalla de la AWSmceclip0.png 
¿Fue útil este artículo?