Configurar y utilizar reportes de Cost ETL de ROI360

Premium

En resumen: Cost ETL, parte de ROI360 de AppsFlyer, proporciona a los anunciantes datos de costos de campaña con la mejor granularidad disponible por fuente de medios. Los datos, actualizados hasta 4 veces al día, se entregan a tu servicio en la nube listos para ser cargados en los sistemas BI de los anunciantes.

5896_CostETL_graphic__2_.png

Sobre Cost ETL

Cost ETL, parte de ROI360 de AppsFlyer, proporciona a los anunciantes datos de costos de campaña con la mejor granularidad disponible por fuente de medios. Hasta cuatro veces al día, los datos se actualizan y se entregan a su servicio en la nube Data Locker, listos para ser cargados en los sistemas BI de los anunciantes.

Los anunciantes pueden enviar reportes a múltiples destinos en la nube a la vez sin esfuerzo. Esto empodera a los equipos al hacer la transición de un servicio en la nube a otro, ya que los datos son accesibles en múltiples servicios simultáneamente.

Los datos de costos de la campaña se registran:

  • En tu servicio en la nube o bucket para ver, transferir y cargar datos de costos en tus sistemas.
  • Para todas las aplicaciones que elijas incluir en Cost ETL, por día, por versión. 
  • Hasta 4 veces al día (frescura de datos: a lo largo del día).
  • Para el día actual y los 6 días anteriores (denominados 7 días en este artículo), así como los días 14, 29 y 88. Ten esto en cuenta en tu proceso de carga de datos. 
    • Ejemplo: Para la fecha 14 de octubre de 2024, el archivo contiene datos del 14 de octubre (el día actual), 13 de octubre (1 día atrás), 12 de octubre (2 días atrás), 11 de octubre (3 días atrás), 10 de octubre (4 días atrás), 9 de octubre (5 días atrás), 8 de octubre (6 días atrás), 30 de septiembre (14 días atrás), 15 de septiembre (29 días atrás) y 18 de julio (88 días atrás).
    • Los datos retroactivos permiten actualizaciones y correcciones en los reportes de datos de costos.
  • Para obtener un costo que coincida con la atribución, el clic o la impresión.
    Nota:
    • Los datos de los últimos 7 días provienen nuevamente de las fuentes de medios. Se reprocesan los datos de los días 14, 29 y 88.
    • Solo los datos de costos se actualizan retroactivamente; los datos de atribución no.

Ver archivo de muestra

Nota

  • La muestra proporcionada es un archivo de Excel con los datos desglosados por canal. Los archivos de Cost ETL se envían a tu bucket como archivos parquet. 
  • Las dimensiones y métricas del reporte se detallan en la tabla de campos del archivo. Debes utilizar las dimensiones y métricas que mejor se adapten a las necesidades de tu negocio. Esto puede variar según la fuente de medios.

Detalles del reporte

Estructura de directorios y nombres de archivos

Los datos escritos en el servicio en la nube o bucket tienen la estructura de directorio y archivo descrita:

  • Cuando la Cost ETL completa la escritura en un directorio, se establece un indicador creando un archivo success. Esta es siempre la marca de tiempo más reciente en el directorio. 
  • El número de carpetas/archivos es el siguiente:
    • Resumen: Hasta 4 carpetas de versión por día.
      • Cada carpeta por lotes contiene archivos parquet con 7 días de datos.
    • Reporte de Geo o Canal: Cada reporte contiene hasta 4 carpetas de versión por día.
      • Cada carpeta por lotes contiene archivos parquet con datos con numeración desde 1.
    • [Beta cerrada] Todos los costos: Basado en la dimensión geográfica, contiene hasta 4 archivos por día.

Estructura de directorio de conexión de Data Locker

///t=/dt=/v=<1/2/3/4>/

Variable Contenido
client-bucket Nombre del bucket según lo configurado en el servicio en la nube
DL-generated-partition Partición generada, única por cliente
connection-name Nombre de la conexión según se definió durante la configuración de Data Locker
t El nombre del reporte específico. Elige entre:
  • cost_etl_summary
  • cost_etl_geo
  • cost_etl_channel
  • [Beta cerrada] cost_etl_all_cost_geo
dt
  • La fecha del reporte, es decir, la fecha en que se envió el reporte.
  • AAAA-MM-DD
v
  • La versión cronológica del reporte por día (hasta 4 reportes diarios posibles)
  • Número entero entre 1-4
Número de archivo parquet
  • Numerados a partir de 00000
  • Ejemplo: part-

Estructura del directorio de conexión Cost ETL

/cost_etl/version/dt=/b=//

Variable Contenido
advertiser_bucket_name Como se define en la configuración de la Cost ETL: af-xpend-cost-etl-<af-account-id>-[sufijo del nombre de bucket]
cost_etl Siempre cost_etl
version Versión de la Cost ETL
date

Fecha del costo

Formato: aaaa-mm-dd

batch Número: 1-4
dimension Dimensión de datos:
  • geo
  • channel
file_name
  • summary
  • all-cost
Número de archivo parquet
  • Numerados a partir de 00000
  • Ejemplo: part-

Ejemplo: Para la primera extracción de datos del 23 de junio de 2020, la estructura de directorios y nombre de archivo es la siguiente:

Campos de archivo

Campos/dimensiones

Campo Observaciones Siempre completado Formato Incluido en archivo de resumen
date Fecha del costo incurrido reportada por la fuente de medios Cadena aaaa-mm-dd
app_id ID de aplicación en la plataforma AppsFlyer Cadena
media_source Fuente de medios responsable de mostrar el anuncio Cadena
os Sistema operativo del dispositivo. Posibles valores:
  • android
  • windowsphone
  • ios
Cadena -
agency Agencia responsable de colocar el anuncio No Cadena -
campaign Componente de la jerarquía de publicidad No Cadena -
campaign_id Componente de la jerarquía de publicidad No Cadena -
adset Componente de la jerarquía de publicidad No Cadena -
adset_id Componente de la jerarquía de publicidad No Cadena -
ad Componente de la jerarquía de publicidad No Cadena -
ad_id Componente de la jerarquía de publicidad No Cadena
ad_account
  • Cuenta publicitaria de la que se extrajeron los datos de costos
  • Relevante para redes donde la conexión se realiza mediante oAuth (inicio de sesión con tus credenciales), por ejemplo en Google o Meta Ads
No Cadena -
currency Moneda del gasto del anunciante según lo definido para la aplicación en AppsFlyer Cadena de 3 caracteres compatible con ISO-4217
original_currency Moneda del costo según lo reportado por la red antes de cualquier conversión Cadena de 3 caracteres compatible con ISO-4217 -
timezone
  • Zona horaria de los datos tal como se almacenan en AppsFlyer
  • A veces, las redes reportan datos en una zona horaria diferente a la definida en AppsFlyer. Este dato ayuda a explicar las discrepancias de costos entre AppsFlyer y las redes.
Cadena  -
geo Dimensión en la jerarquía de publicidad No Cadena de 2 caracteres compatible con ISO-3166
channel Dimensión en la jerarquía de publicidad No Cadena
keyword_term Palabra(s) utilizadas por el usuario para la búsqueda online Cadena  -
keyword_id ID de los términos de palabras clave de ASA Cadena -
site_id ID del publisher No Cadena  -
campaign_objective Componente de propiedades de campaña. Saber más No Cadena  -
cost_model Componente de propiedades de campaña. Saber más No Cadena  -
af_cost_model Modelo de costos mapeado y normalizado por AppsFlyer. Componente de propiedades de campaña. Saber más No Cadena  -
bid_strategy Componente de propiedades de campaña. Saber más No Cadena  -
af_bid_strategy Estrategia de oferta mapeada y normalizada por AppsFlyer. Componente de propiedades de campaña. Saber más No Cadena  -
bid_amount Componente de propiedades de campaña. Saber más No Entero -
Monto de la oferta original Componente de propiedades de campaña. Saber más No Entero -

Métricas

Campo Observaciones Siempre completado Formato Incluido en archivo de resumen
impressions
  • Contado por AppsFlyer.
  • Incluye tanto UA como retargeting.
  • Las engaged views se restan del número total de impresiones.

Sí.

Si no hay ningún valor disponible para una métrica en particular, se completa con 0.

Entero
clicks
  • Contado por AppsFlyer.
  • Incluye tanto UA como retargeting.
  • Los engaged clicks se restan del número total de clics.
Entero
reported_impressions Contado por la fuente de medios Entero
reported_clicks Contado por la fuente de medios Entero
installs Contado por AppsFlyer Entero
reported_conversions Contado por la fuente de medios Entero  
re_engagements Contado por AppsFlyer Entero
re_attributions Contado por AppsFlyer Entero
cost Monto del gasto (incluidos los honorarios de la agencia cuando corresponda) Valor
original_cost Costo reportado por la red, en la moneda reportada por la red antes de cualquier conversión de moneda (con los honorarios de la agencia calculados por AppsFlyer agregados cuando corresponda) Valor  -
impressions_discrepancy
  • Diferencia entre el recuento de la ad network y de AppsFlyer
  • Ignora esta métrica si:
Entero -
clicks_discrepancy
  • Diferencia entre el recuento de la ad network y de AppsFlyer
  • Ignora esta métrica si:
    • No hay coincidencia entre costo y atribución.
    • La ad network no admite clics reportados.
Entero -
installs_discrepancy
  • Diferencia entre el recuento de la ad network y de AppsFlyer
  • Ignora esta métrica si:
Entero -
fees Honorarios que cobra una agencia además del costo publicitario habitual. Contado por AppsFlyer Entero -
cost_without_fees Costo menos los honorarios de la agencia. Contado por AppsFlyer Entero -
original_cost_without_fees Costo original según lo reportado por la ad network, sin los honorarios de la agencia Entero -
ctr
  • Tasa de click-through Contado por AppsFlyer
  • Fórmula: Clic / impresiones

 

 

 

 

No

Entero -
cvr
  • Tasa de conversión. Contado por AppsFlyer
  • Fórmula: Instalación / clics
Entero  -
ecpm
  • Contado por AppsFlyer
  • Fórmula: (Costo / Impresiones) * 1000 
Entero
cpi
  • Contado por AppsFlyer
  • Fórmula: Costo / instalaciones
Entero
ccvr
  • Costo por conversión
  • Fórmula: Costo / (instalaciones + reatribuciones + reengagements)
Entero
cvvr
  • Tasa de visualización de video finalizada. Contado por AppsFlyer
  • Fórmula: Visualizaciones del video / impresiones
Entero -
reported_cvr
  • Tasa de conversión reportada
  • Fórmula: Conversiones reportadas / clics reportados
Entero
ecpc
  • Contado por AppsFlyer
  • Fórmula: Costo / Clics
Entero -
video_25p_views Video reproducido al 25%. Reportado por la ad network Entero
video_50p_views Video reproducido al 50%. Reportado por la ad network Entero
video_75p_views Video reproducido al 75%. Reportado por la ad network Entero
video_completions Reportado por la ad network Entero

Procedimientos

Configurar Cost ETL

Este procedimiento de configuración debe ser realizado por un usuario administrador.

Antes de empezar:

La configuración de Cost ETL requiere:

  • Un servicio en la nube configurado con permiso para que AppsFlyer escriba datos en él. Esto significa que necesitas configurar uno o más de los siguientes servicios en la nube:
  • Privilegios de administrador de AppsFlyer y acceso a la interfaz de usuario de AppsFlyer para completar la configuración de Cost ETL.

AppsFlyerAdmin_us-en.png Para configurar Cost ETL:

  1. En AppsFlyer, desde el menú lateral, ve a Exportar > Cost ETL.
  2. Selecciona o configura una conexión de datos:
    • Si ya tienes conexiones de datos configuradas, en el menú desplegable de Conexión, selecciona las que deseas para Cost ETL.
       
    • Si aún no tienes una conexión de datos, haz clic en + Nueva conexión en Data Locker y crea una conexión allí:
       
      1. Asigna un nombre a tu conexión.
         
      2. Selecciona un destino de datos de servicio en la nube. Realiza una de las siguientes acciones:
        • Selecciona S3.
           
          1. Introduce el nombre de tu bucket AWS S3. El prefijo af- es obligatorio, y debe introducirse manualmente.
          2. Haz clic en Probar conexión.
          3. Verifica que no se muestre ningún mensaje de error que indique que la ruta del bucket es inválida.
          4. Selecciona si deseas hacer que esta conexión sea compatible con Adobe Experience Platform.
          5. Haz clic en Guardar.
          6.  En la configuración de Cost ETL, en el menú desplegable de Conexión, selecciona el servicio en la nube que has creado.
        • Selecciona GCS.
           
          1. Introduce el nombre de tu bucket de GCS.
          2. Haz clic en Probar conexión.
          3. Verifica que no se muestre ningún mensaje de error que indique que la ruta del bucket es inválida.
          4. Selecciona si deseas hacer que esta conexión sea compatible con Adobe Experience Platform.
          5. Haz clic en Guardar.
          6.  En la configuración de Cost ETL, en el menú desplegable de Conexión, selecciona el servicio en la nube que has creado.
        • [Beta] Selecciona Azure.
           
          1. Ingresa tu nombre de conexión, nombre de cuenta de almacenamiento y clave.
          2. Verifica que no se muestre ningún mensaje de error que indique que la ruta del bucket es inválida.
          3. Selecciona si deseas hacer que esta conexión sea compatible con Adobe Experience Platform.
          4. Haz clic en Guardar.
          5.  En la configuración de Cost ETL, en el menú desplegable de Conexión, selecciona el servicio en la nube que has creado.
        • [Beta] Selecciona Yandex.
           
          1. Ingresa tu Nombre de bucket, Clave de acceso y Clave secreta.
          2. Verifica que no se muestre ningún mensaje de error que indique que la ruta del bucket es inválida.
          3. Selecciona si deseas hacer que esta conexión sea compatible con Adobe Experience Platform.
          4. Haz clic en Guardar.
          5.  En la configuración de Cost ETL, en el menú desplegable de Conexión, selecciona el servicio en la nube que has creado.
        • Selecciona BigQuery.
           
          1. Introduce tu ID de proyecto de BigQuery y el nombre del conjunto de datos.
          2. Haz clic en Probar conexión.
          3. Verifica que no se muestre ningún mensaje de error que indique que la ruta del bucket es inválida.
          4. Haz clic en Guardar.
          5.  En la configuración de Cost ETL, en el menú desplegable de Conexión, selecciona el servicio en la nube que has creado.
        • Selecciona Snowflake.
           
          1. Introduce tu región de Snowflake y tu ID de cuenta.
          2. Haz clic en Probar conexión.
          3. Verifica que no se muestre ningún mensaje de error que indique que la ruta del bucket es inválida.
          4. Haz clic en Guardar.
          5.  En la configuración de Cost ETL, en el menú desplegable de Conexión, selecciona el servicio en la nube que has creado.
  3. Haz clic en Siguiente.
     
  4. Establece el horario de la versión del informe (UTC):
     
    1. Selecciona cuántos reportes recibir cada día (1, 2, 3 o 4). 
    2. Selecciona a qué hora recibir los reportes. Saber más
    3. Haz clic en Siguiente.
  5. Configura los detalles del reportes: 
    1. Selecciona 1 o más aplicaciones para incluir en los reportes. Selecciona Agregar todas las aplicaciones futuras para incluir automáticamente las aplicaciones que agregues en el futuro.
       
    2. Selecciona al menos 2 reportes para recibir:
       
      • Resumen: Reporte general que proporciona datos de alto nivel para un consumo más fácil y rápido. Habilitado por defecto.
      • Geo: Datos desglosados por zonas geográficas de todas las fuentes de medios contenidas en ese reporte. Por ejemplo, los datos de Google Ads se desglosan por zonas geográficas: Estados Unidos, Canadá, Francia, etc.
      • Canal: Datos desglosados por canal para todas las fuentes de medios contenidas en dicho reporte. Por ejemplo, en el caso de Google Ads, los datos se desglosan por YouTube, Shopping, SERP y Gmail.
      • [Beta cerrada] Reporte de todos los costos: Basado en la dimensión de geolocalización. Incluye datos de costos para toda la actividad de marketing en todas las plataformas, incluidas las aplicaciones/plataformas no agregadas en AppsFlyer (en estos casos, el ID de aplicación se marca como desconocido).
    3. Selecciona las dimensiones que se incluirán en los reportes. Nota: Si has elegido recibir el reporte geográfico, la dimensión geográfica se incluye por defecto. Si has elegido recibir el reporte de canal, la dimensión de canal se incluye por defecto. 
       
    4. Selecciona las métricas que se incluirán en los reportes. 
       
  6. Haz clic en Aplicar.

Editar o cambiar conexión

Puedes editar o cambiar conexiones para enviar datos a diferentes (o adicionales) lugares. 

Nota: Después de cambiar a una conexión existente, no podrás volver a la conexión Cost ETL anterior.

Editar conexión

Para editar los detalles de la conexión:

  1. En AppsFlyer, desde el menú lateral, ve a Exportar > Cost ETL.
  2. En la sección de conexión de datos, ya sea:
    • Para conexiones de Data Locker, en el menú desplegable de Conexión, pasa el cursor sobre la conexión que deseas editar. Se muestran los detalles de la conexión. Haz clic en Editar en Data Locker.
       
    • Para conexiones de Cost ETL, haz clic en el menú desplegable de detalles de conexión. Se muestran los detalles de la conexión.
       
  3. Sigue las instrucciones en pantalla para editar los detalles de tu conexión.
  4. Haz clic en Guardar cambios o Aplicar según se te indique.

Cambiar conexión de Data Locker

Para cambiar de una conexión de Data Locker a otra:

  1. En AppsFlyer, desde el menú lateral, ve a Exportar > Cost ETL.
  2. En la sección de conexión de datos, ya sea:
    • Si ya tienes las conexiones de Data Locker que deseas configuradas, en el menú desplegable de Conexión, selecciona las que deseas para Cost ETL.
       
    • Si aún no tienes configurada la conexión de Data Locker que deseas, haz clic en + Nueva conexión en Data Locker y crea una conexión allí. Luego regresa a la configuración de Cost ETL y selecciónalo en el menú desplegable de Conexión.
       
  3. Haz clic en Guardar cambios.

Cambia de la conexión Cost ETL a la conexión Data Locker

Antes de comenzar:

  • Ten en cuenta que después de cambiar a una conexión Data Locker, no puedes volver a tu conexión Cost ETL anterior.
  • Ten en cuenta que al cambiar a una conexión Data Locker, la estructura de la ruta de la carpeta cambia al siguiente formato sin afectar los datos del reporte:
    ///t=/dt=/v=<1/2/3/4>/

Para cambiar de una conexión Cost ETL obsoleta a una conexión Data Locker:

  1. En AppsFlyer, desde el menú lateral, ve a Exportar > Cost ETL.
  2. En la sección de conexión de datos, haz clic en conexiones de Data Locker.
      
  3. Haz una de las siguientes opciones para configurar la conexión Data Locker:
    • Si ya tienes las conexiones de datos que deseas configuradas, en el menú desplegable de Conexión, selecciona las que deseas para Cost ETL.
       
    • Si aún no tienes configurada la conexión de datos que deseas, haz clic en + Nueva conexión en Data Locker y crea una conexión allí. Luego regresa a la configuración de Cost ETL y selecciónalo en el menú desplegable de Conexión.
       
  4. Haz clic en Guardar cambios.

Cambiar la propiedad del objeto de AWS

En AWS, de forma predeterminada, cuando AppsFlyer escribe objetos en tu bucket, el propietario del objeto es AppsFlyer. Dependiendo de tu proceso de carga de datos, es posible que debas cambiar la propiedad predeterminada a ti como propietario del bucket.  

Para cambiar la propiedad de los objetos en tu bucket:

  1. Inicia sesión en la consola de administración de AWS y abre la consola de Amazon S3 en https://console.aws.amazon.com/s3/.
  2. En la lista Buckets, elige el nombre del bucket para el que deseas habilitar la propiedad de objetos S3.
  3. Ve a la pestaña Permisos.
  4. En Propiedad del objeto, haz clic en Editar
  5. Selecciona Propietario del bucket preferido.
  6. Haz clic en Guardar.

Mejores prácticas

Programación de reportes

La configuración del horario del reporte te permite obtener los datos más recientes justo cuando los necesitas. 

Al elegir tu horario del reporte: 

  • Selecciona la hora para obtener el reporte lo más cerca posible de la hora en que comienzas a procesar datos en tu sistema BI.
  • Si tienes alguna ad network que proporciona los datos de ayer más tarde que otras, establece un reporte adicional a la hora en que esos datos de la ad network estén listos.

Reemplazo de datos

Al extraer y analizar tus datos, se recomienda extraer los datos de una fecha y lote específicos, o reemplazar todos los datos anteriores para los días que proporciona el lote actual. De lo contrario, es posible que veas los mismos datos repetidos.

Por ejemplo, el lote 1 del 20 de febrero contiene datos del 14 al 20 de febrero. Pero los lotes escritos el 19 de febrero también contenían datos del 14 al 19 de febrero. Reemplaza los datos de los días anteriores recibidos el 19 de febrero con los datos recibidos en el lote más reciente del 20 de febrero.

Geolocalización versus canal

No todas las redes proporcionan datos para todas las dimensiones juntas. Los datos de geolocalización y de canal en Anuncios de Meta son los ejemplos más comunes. Es por eso que se proporcionan dos conjuntos de datos separados. Se garantiza que el conjunto de datos de geolocalización tendrá datos de geolocalización y se garantiza que el conjunto de datos del canal tendrá datos de canal.

En muchos casos y para muchas fuentes de medios, los datos en los conjuntos de geolocalización y de canal serán idénticos. Así, consume uno de los conjuntos de datos (geolocalización o canal), según lo que mejor se adapte a tus necesidades.

Si el acuerdo de integración con una fuente de medios determinada no incluye el canal, por lo que ese canal está en blanco, tratamos esos datos como si contuvieran el canal. 

Datos agregados

La ETL de costos proporciona datos flexibles y granulares tan profundos como se pueden extraer de la red de publicidad. Para extraer información útil a partir de cantidades potencialmente enormes de datos, se recomienda agregar los datos de la forma que mejor se adapte a las necesidades de tu negocio. Por ejemplo, si necesitas comprender los datos de costos a nivel de campaña y de país, utiliza esas dimensiones.

Estandarización entre redes

No todas las redes proporcionan datos con la misma granularidad. Por ejemplo, Meta Ads no proporciona datos de costos de ID del sitio, mientras que los X Ads no brindan datos de costos por geolocalización. Ten en cuenta estos casos al agregar datos de la Cost ETL y asegúrate de observar datos similares al comparar redes.

Comparación de datos

La Cost ETL proporciona información sobre todos tus datos de costos. Algunas campañas proporcionadas en la Cost ETL no aparecen en algunos dashboards de AppsFlyer, por ejemplo, los datos de campañas inactivas, es decir, campañas sin instalaciones registradas. Para comparar los datos, busca un ID de campaña específico en el dashboard general y compáralo con sus datos de costos en la Cost ETL. Saber más sobre la disponibilidad de datos de costos

Combinar Cost ETL y reportes de cohorte

Considera combinar reportes de Cost ETL con reportes de cohortes avanzadas agregadas (o reportes de cohortes regulares a través de Data Locker) en tu sistema BI. Juntos, ofrecen la imagen más completa del rendimiento del marketing con datos frescos y precisos, incluidos clics, impresiones, costos, ingresos, eventos in-app, etc.). Y puedes usar estos datos combinados para obtener ROAS, CPA, etc. Saber más

Información adicional

Características y limitaciones

Característica Observaciones
Zona horaria Si se cambia la zona horaria, los datos de costos se duplican ese día y el día siguiente al cambio. Saber más
Actualización de los datos
  • A lo largo del día. Durante la configuración de la Cost ETL, debes establecer el cronograma para los reportes, es decir, cuándo deseas que estos lleguen.
  • Los datos generalmente llegan dentro de una hora de la hora que seleccionas. Así que si seleccionas que un reporte debe llegar antes de las 6 AM, llega entre las 5 y las 6 AM.
Nota: Una vez que los datos de costos llegan a tu bucket, la transferencia adicional de datos a tus sistemas de BI puede variar mucho, según el reporte y el tamaño del archivo parquet, que puede ser desde unos pocos KBs hasta muchas GBs. 
Todo reporte de costos Todos los reportes de costos (beta cerrada) actualmente no incluyen datos de costos para las campañas de Google Performance Max.
Datos de costo de campaña de SKAN
  • Cost ETL proporciona datos de costos para campañas de SKAN solo si la campaña tiene al menos una conversión clásica.
  • Para campañas con conversiones solo de SKAN, los datos de costos están disponibles solo si:
    • La ad network relacionada es Twitter (X) o Meta, o
    • La integración con la ad network relacionada está marcada como campaña inactiva (Columna M= "Sí" en esta lista).